os/graphics/graphicscomposition/openwfc_ri_displaychannel/inc/openwfc_ri_displaychannel.h
1.1 --- /dev/null Thu Jan 01 00:00:00 1970 +0000
1.2 +++ b/os/graphics/graphicscomposition/openwfc_ri_displaychannel/inc/openwfc_ri_displaychannel.h Fri Jun 15 03:10:57 2012 +0200
1.3 @@ -0,0 +1,69 @@
1.4 +// Copyright (c) 2009-2010 Nokia Corporation and/or its subsidiary(-ies).
1.5 +//
1.6 +// Permission is hereby granted, free of charge, to any person obtaining a
1.7 +// copy of this software and/or associated documentation files (the
1.8 +// "Materials"), to deal in the Materials without restriction, including
1.9 +// without limitation the rights to use, copy, modify, merge, publish,
1.10 +// distribute, sublicense, and/or sell copies of the Materials, and to
1.11 +// permit persons to whom the Materials are furnished to do so, subject to
1.12 +// the following conditions:
1.13 +//
1.14 +// The above copyright notice and this permission notice shall be included
1.15 +// in all copies or substantial portions of the Materials.
1.16 +//
1.17 +// THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
1.18 +// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
1.19 +// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
1.20 +// IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
1.21 +// CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
1.22 +// TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
1.23 +// MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
1.24 +//
1.25 +// Description:
1.26 +// Display Screen Interface implementation for Display Channel
1.27 +//
1.28 +//
1.29 +
1.30 +#ifndef OPENWFC_RI_DISPLAYCHANNEL_H
1.31 +#define OPENWFC_RI_DISPLAYCHANNEL_H
1.32 +
1.33 +#include <WF/openwfc_ri_display.h>
1.34 +#include <dispchannel.h>
1.35 +
1.36 +NONSHARABLE_CLASS(COpenWFC_RI_DisplayChannel) : public COpenWFC_RI_Display
1.37 + {
1.38 +public:
1.39 + ~COpenWFC_RI_DisplayChannel();
1.40 + static COpenWFC_RI_DisplayChannel* NewL(TUint aScreen);
1.41 +public:
1.42 + TInt GetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize);
1.43 + TInt SetAttribute(TInt aAttributeId, TAny* aAttribute, TInt aAttributeSize);
1.44 + TInt CommitAttribute();
1.45 + TInt SetLayerSurface(TInt aLayer, SymbianStreamType aStream,TInt* aNonTrivialAttribs);
1.46 + TInt UpdateDisplay();
1.47 + TInt SetTopLayerSurface(SymbianStreamType aStream,TInt* aNonTrivialAttribs);
1.48 +
1.49 +private:
1.50 + COpenWFC_RI_DisplayChannel(TUint aScreen);
1.51 + void ConstructL();
1.52 +private:
1.53 + struct TBufferAddress
1.54 + {
1.55 + RChunk iChunk;
1.56 + TInt iOffset;
1.57 + TUint8* iAddress;
1.58 + };
1.59 +private:
1.60 + TUint iScreenNumber;
1.61 + TInt iRotationOffset;
1.62 + RDisplayChannel::TDisplayRotation iDefaultRotation;
1.63 + TScreenGeometryAttribute iScreenInfo;
1.64 + RArray <TBufferAddress*> iCompositionBuffer;
1.65 + RDisplayChannel iDispChan;
1.66 + TScreenRotation iNewRotation;
1.67 + SymbianStreamType iCurrentSceneStream;
1.68 +public:
1.69 + static const TInt32 KImplementationVersion = 0x00000001;
1.70 + };
1.71 +
1.72 +#endif // OPENWFC_RI_DISPLAYCHANNEL_H