os/graphics/graphicscomposition/openwfc_ri_displaychannel/inc/openwfc_ri_displaychannel.h
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
     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 Screen Interface implementation for Display Channel
    24 // 
    25 //
    26 
    27 #ifndef OPENWFC_RI_DISPLAYCHANNEL_H
    28 #define OPENWFC_RI_DISPLAYCHANNEL_H
    29 
    30 #include <WF/openwfc_ri_display.h>
    31 #include <dispchannel.h>
    32 
    33 NONSHARABLE_CLASS(COpenWFC_RI_DisplayChannel) : public COpenWFC_RI_Display
    34     {
    35 public:
    36     ~COpenWFC_RI_DisplayChannel();
    37     static COpenWFC_RI_DisplayChannel* NewL(TUint aScreen);
    38 public:
    39     TInt GetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize);
    40     TInt SetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize);
    41     TInt CommitAttribute();
    42     TInt SetLayerSurface(TInt aLayer, SymbianStreamType aStream,TInt* aNonTrivialAttribs);
    43     TInt UpdateDisplay();
    44     TInt SetTopLayerSurface(SymbianStreamType aStream,TInt* aNonTrivialAttribs);
    45     
    46 private:    
    47     COpenWFC_RI_DisplayChannel(TUint aScreen);
    48     void ConstructL();
    49 private:
    50     struct TBufferAddress
    51         {
    52         RChunk  iChunk;
    53         TInt    iOffset;
    54         TUint8* iAddress;
    55         };
    56 private:
    57     TUint iScreenNumber;
    58     TInt iRotationOffset;
    59     RDisplayChannel::TDisplayRotation iDefaultRotation;
    60     TScreenGeometryAttribute iScreenInfo;
    61     RArray <TBufferAddress*> iCompositionBuffer;
    62     RDisplayChannel iDispChan;
    63     TScreenRotation iNewRotation;
    64     SymbianStreamType iCurrentSceneStream;
    65 public:
    66     static const TInt32 KImplementationVersion = 0x00000001;
    67     };
    68 
    69 #endif // OPENWFC_RI_DISPLAYCHANNEL_H