os/graphics/graphicscomposition/openwfc_ri_displayupdater/inc/openwfc_ri_displayupdater.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
     1 // Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
     2 //
     3 // Permission is hereby granted, free of charge, to any person obtaining a
     4 // copy of this software and/or associated documentation files (the
     5 // "Materials"), to deal in the Materials without restriction, including
     6 // without limitation the rights to use, copy, modify, merge, publish,
     7 // distribute, sublicense, and/or sell copies of the Materials, and to
     8 // permit persons to whom the Materials are furnished to do so, subject to
     9 // the following conditions:
    10 //
    11 // The above copyright notice and this permission notice shall be included
    12 // in all copies or substantial portions of the Materials.
    13 //
    14 // THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    15 // EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    16 // MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    17 // IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
    18 // CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
    19 // TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
    20 // MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
    21 // 
    22 // Description:
    23 // Display Interface implementation for Display Updater
    24 // 
    25 //
    26 
    27 #ifndef OPENWFC_RI_DISPLAYUPDATER_H
    28 #define OPENWFC_RI_DISPLAYUPDATER_H
    29 
    30 #include <WF/openwfc_ri_display.h>
    31 #include <internal/display_updater.h>
    32 #include <graphics/surfacemanager.h>
    33 
    34 NONSHARABLE_CLASS(COpenWFC_RI_DisplayUpdater) : public COpenWFC_RI_Display
    35     {
    36 public:
    37     ~COpenWFC_RI_DisplayUpdater();
    38     static COpenWFC_RI_DisplayUpdater* NewL(TUint aScreen);
    39 public:
    40     TInt GetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize);
    41     TInt SetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize);
    42     TInt CommitAttribute();
    43     TInt SetLayerSurface(TInt aLayer, SymbianStreamType aStream,TInt* aNonTrivialAttribs);
    44     TInt UpdateDisplay();
    45     TInt SetTopLayerSurface(SymbianStreamType aStream,TInt* aNonTrivialAttribs);
    46     
    47 private:    
    48     COpenWFC_RI_DisplayUpdater(TUint aScreen);
    49     void ConstructL();
    50 private:
    51     TUint iScreenNumber;
    52     TInt iRotationOffset;
    53     TDispRotation iDefaultRotation;
    54     TDispRotation iCurrentRotation;
    55     TScreenGeometryAttribute iScreenInfo;
    56     CDisplayUpdater* iDisplayUpdater;
    57     TScreenRotation iNewRotation;
    58     SymbianStreamType iCurrentSceneStream;
    59     SymbianStreamBuffer iCurrentReadBuffer;
    60     SymbianStreamType iNextSceneStream;
    61     SymbianStreamBuffer iNextReadBuffer;
    62     RSurfaceManager iSurfaceManager;
    63 public:
    64     static const TInt32 KImplementationVersion = 0x00000001;
    65 private:
    66     const static TUint32 KTopMostLayer = 0;
    67     };
    68 
    69 #endif // OPENWFC_RI_DISPLAYUPDATER_H