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 Project
219066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Projectpublic class EGLDisplayImpl extends EGLDisplay {
22863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat    long mEGLDisplay;
239066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project
24863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat    public EGLDisplayImpl(long dpy) {
259066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project        mEGLDisplay = dpy;
269066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project    }
279b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy
289b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy    @Override
299b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy    public boolean equals(Object o) {
309b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy        if (this == o) return true;
319b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy        if (o == null || getClass() != o.getClass()) return false;
329b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy
339b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy        EGLDisplayImpl that = (EGLDisplayImpl) o;
349b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy
359b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy        return mEGLDisplay == that.mEGLDisplay;
369b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy
379b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy    }
389b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy
399b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy    @Override
409b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy    public int hashCode() {
41863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat        /*
42863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat         * Based on the algorithm suggested in
43863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat         * http://developer.android.com/reference/java/lang/Object.html
44863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat         */
45863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat        int result = 17;
46863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat        result = 31 * result + (int) (mEGLDisplay ^ (mEGLDisplay >>> 32));
47863f98bbb3e234e18c62ce2678ae970b75995f69Ashok Bhat        return result;
489b7146db6d9c0586b98b062fbcdb3fac6cc54d19Romain Guy    }
499066cfe9886ac131c34d59ed0e2d287b0e3c0087The Android Open Source Project}
50