uigraphics/AknIcon/SvgtFbsRasterizer/inc/eglgraphicsinterface.h
changeset 0 05e9090e2422
equal deleted inserted replaced
-1:000000000000 0:05e9090e2422
       
     1 /*
       
     2 * Copyright (c) 2002 Nokia Corporation and/or its subsidiary(-ies).
       
     3 * All rights reserved.
       
     4 * This component and the accompanying materials are made available
       
     5 * under the terms of "Eclipse Public License v1.0"
       
     6 * which accompanies this distribution, and is available
       
     7 * at the URL "http://www.eclipse.org/legal/epl-v10.html".
       
     8 *
       
     9 * Initial Contributors:
       
    10 * Nokia Corporation - initial contribution.
       
    11 *
       
    12 * Contributors:
       
    13 *
       
    14 * Description:   CEGLGraphicsInterface class.
       
    15 *
       
    16 */
       
    17 
       
    18 #ifndef EGLGRAPHICSINTERFACE_H
       
    19 #define EGLGRAPHICSINTERFACE_H
       
    20 
       
    21 #include "svgtgraphicsinterface.h"
       
    22 #include <fbs.h>
       
    23 #include <egl.h>
       
    24 
       
    25 NONSHARABLE_CLASS (CEGLGraphicsInterface) : public CSvgtGraphicsInterface
       
    26     {
       
    27 public:
       
    28     CEGLGraphicsInterface();
       
    29     ~CEGLGraphicsInterface();
       
    30 public:
       
    31     void InitializeL(const TSize aSurfaceSize);
       
    32     void CopyBitmapL(CFbsBitmap* aPixMap, CFbsBitmap* aMask);
       
    33 public:
       
    34     TInt   BindClientBuffer(TUint aBuffer);
       
    35     TInt   UnBindClientBuffer();
       
    36     
       
    37 private:
       
    38     TInt MapEGLErrorCodeToSymbian(TInt aEglErrorCode);
       
    39     void Terminate();
       
    40 private:
       
    41     TBool eglInitialized;
       
    42     /** Display where the window surface resides. */
       
    43     EGLDisplay  iEglDisplay;
       
    44     /** Window surface where the rendering is blitted to. */
       
    45     EGLSurface  iEglSurface;
       
    46     /** rendering context. */
       
    47     EGLContext  iEglContext;
       
    48     /** Describes the format, type and size of the color buffers and ancillary buffers for EGLSurface. */
       
    49     EGLConfig iConfig;
       
    50     
       
    51     EGLSurface iEglPbufSurface;
       
    52     EGLSurface iSavedDrawSurface;
       
    53     EGLSurface iSavedReadSurface;
       
    54     EGLContext iSavedContext;
       
    55    };
       
    56 
       
    57 #endif