sl@0: // eglheaders.mmh sl@0: sl@0: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // Determines which version of EGL API is declared on this platform. sl@0: // sl@0: // sl@0: sl@0: #ifndef __EGLHEADERS_MMH__ sl@0: #define __EGLHEADERS_MMH__ sl@0: sl@0: /* sl@0: @internalAll sl@0: @released sl@0: sl@0: SYMBIAN_EGLHEADERS_API_VERSION_1_4 sl@0: sl@0: This macro introduces the declaration of version 1.4 of EGL. It is sl@0: mutually exclusive with the macro SYMBIAN_EGLHEADERS_API_VERSION_1_3 sl@0: and SYMBIAN_EGLHEADERS_API_VERSION_1_2 sl@0: sl@0: Symbian component "eglinterface" provides the declared interface for EGL sl@0: Symbian component "eglimplementation" provides a reference implementation of EGL sl@0: sl@0: EGL implementations enable the provision of the following APIs which sl@0: sit on top of EGL; the choice of *those* APIs therefore governs the version sl@0: of EGL needed. Newer versions of EGL are binary compatible with older versions sl@0: of EGL so that newer EGL versions support the APIs supported by previous EGL sl@0: versions. Newer versions of EGL are source compatible with older EGL versions sl@0: apart from the fact that newer EGL versions introduce new tokens as #defines sl@0: and also specify the version of the EGL API in a #define. This means that sl@0: applications written to detect such #defines could have modified behaviour sl@0: after a re-compile. sl@0: sl@0: EGL 1.4 Allows control of swap behavior (preserving back buffer contents) using sl@0: the EGL_SWAP_BEHAVIOR bit in the EGL_SURFACE_TYPE EGLSurface attribute. sl@0: */ sl@0: #define SYMBIAN_EGLHEADERS_API_VERSION_1_4 sl@0: sl@0: /* sl@0: @internalAll sl@0: @released sl@0: SYMBIAN_EGLHEADERS_API_VERSION_1_3 sl@0: sl@0: This macro introduces the declaration of version 1.3 of EGL. It is sl@0: mutually exclusive with the macro SYMBIAN_EGLHEADERS_API_VERSION_1_4 sl@0: and SYMBIAN_EGLHEADERS_API_VERSION_1_2 sl@0: sl@0: Symbian component "eglinterface" provides the declared interface for EGL sl@0: Symbian component "eglimplementation" provides a reference implementation of EGL sl@0: sl@0: EGL implementations enable the provision of the following APIs which sl@0: sit on top of EGL; the choice of *those* APIs therefore governs the version sl@0: of EGL needed. Newer versions of EGL are binary compatible with older versions sl@0: of EGL so that newer EGL versions support the APIs supported by previous EGL sl@0: versions. Newer versions of EGL are source compatible with older EGL versions sl@0: apart from the fact that newer EGL versions introduce new tokens as #defines sl@0: and also specify the version of the EGL API in a #define. This means that sl@0: applications written to detect such #defines could have modified behaviour sl@0: after a re-compile. sl@0: sl@0: EGL 1.1 adds OpenGL ES 1.X support sl@0: EGL 1.2 adds OpenVG support sl@0: EGL 1.3 adds OpenGL ES 2.0 support sl@0: */ sl@0: //#define SYMBIAN_EGLHEADERS_API_VERSION_1_3 sl@0: sl@0: /* sl@0: @internalAll sl@0: @released sl@0: sl@0: SYMBIAN_EGLHEADERS_API_VERSION_1_2 sl@0: sl@0: This macro introduces the declaration of version 1.2 of EGL. It is sl@0: mutually exclusive with the macro SYMBIAN_EGLHEADERS_API_VERSION_1_4 sl@0: and SYMBIAN_EGLHEADERS_API_VERSION_1_3 sl@0: sl@0: @see SYMBIAN_EGLHEADERS_API_VERSION_1_3 sl@0: */ sl@0: //#define SYMBIAN_EGLHEADERS_API_VERSION_1_2 sl@0: sl@0: sl@0: #endif