1c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein/* 2c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * Copyright (C) 2006 The Android Open Source Project 3c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * 4c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * Licensed under the Apache License, Version 2.0 (the "License"); 5c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * you may not use this file except in compliance with the License. 6c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * You may obtain a copy of the License at 7c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * 8c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * http://www.apache.org/licenses/LICENSE-2.0 9c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * 10c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * Unless required by applicable law or agreed to in writing, software 11c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * distributed under the License is distributed on an "AS IS" BASIS, 12c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 13c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * See the License for the specific language governing permissions and 14c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein * limitations under the License. 15c086ca1fa7cebc3e9a51abd4be4688346225c2e4Dan Bornstein */ 169066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 179066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpackage com.google.android.gles_jni; 189066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 199066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.egl.*; 209066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectimport javax.microedition.khronos.opengles.GL; 219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project 229066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class EGLContextImpl extends EGLContext { 239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project private GLImpl mGLContext; 24863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat long mEGLContext; 25863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat 26863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat public EGLContextImpl(long ctx) { 279066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mEGLContext = ctx; 289066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project mGLContext = new GLImpl(); 299066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 30863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat 319066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project @Override 329066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project public GL getGL() { 339066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project return mGLContext; 349066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project } 359b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy 369b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy @Override 379b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy public boolean equals(Object o) { 389b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy if (this == o) return true; 399b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy if (o == null || getClass() != o.getClass()) return false; 409b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy 419b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy EGLContextImpl that = (EGLContextImpl) o; 429b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy 439b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy return mEGLContext == that.mEGLContext; 449b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy } 459b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy 469b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy @Override 479b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy public int hashCode() { 48863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat /* 49863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat * Based on the algorithm suggested in 50863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat * http://developer.android.com/reference/java/lang/Object.html 51863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat */ 52863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat int result = 17; 53863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat result = 31 * result + (int) (mEGLContext ^ (mEGLContext >>> 32)); 54863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat return result; 559b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy } 569066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project} 57