diff -r 000000000000 -r 96e5fb8b040d kernel/eka/include/d32video.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/kernel/eka/include/d32video.h Thu Dec 17 09:24:54 2009 +0200 @@ -0,0 +1,111 @@ +// Copyright (c) 1995-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of the License "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// e32\include\d32video.h +// +// + +#ifndef __D32VIDEO_H__ +#define __D32VIDEO_H__ +#include +#include +#include +// +enum TColour {EWhite=0xf, EWhite1=0xe, EWhite2=0xd, EWhite3=0xc, EWhite4=0xb, + ELightGrey=0xa, ELightGrey1=9, ELightGrey2=8, ELightGrey3=7, ELightGrey4=6, + EDarkGrey=5, EDarkGrey1=4, EDarkGrey2=3, EDarkGrey3=2, EDarkGrey4=1, + EBlack=0 + }; +// +const TUint KCapsHues2=0x00000001; +const TUint KCapsHues4=0x00000002; +const TUint KCapsHues16=0x00000004; +const TUint KCapsWidth640=0x01; +const TUint KCapsHeight240=0x01; +// +class TVideoCapsV01 + { +public: + TInt iNumHues; + TInt iWidth; + TInt iHeight; + }; +typedef TPckgBuf TVideoCaps; +class TCapsDevVideoV01 + { +public: + TVersion version; + }; +// +class TBlitInfo + { +public: + inline TBlitInfo(const TText* aBuffer,const TColour aColour, const TInt aLength,const TInt aX, const TInt aY); + inline TBlitInfo(); +public: + const TText* iBuffer; + const TColour iColour; + TInt iLength; + const TInt iX; + const TInt iY; +private: + TBlitInfo& operator =(TBlitInfo & aBlitInfo); + }; + +class TPixelInfo + { +public: + inline TPixelInfo(const TInt aX, const TInt aY, const TColour aColour); + inline TPixelInfo(); +public: + const TColour iColour; + const TInt iX; + const TInt iY; +private: + TPixelInfo& operator =(TPixelInfo & aPixelInfo); + }; + +struct TPixelLine + { + TDes8* iPixels; + TInt iNoOfPixels; + }; + +class RDeviceVideo : public RBusLogicalChannel + { +public: + enum TVer {EMajorVersionNumber=1,EMinorVersionNumber=0,EBuildVersionNumber=KE32BuildVersionNumber}; + enum TControl {EControlStart,EControlMode,EControlSetMode,EControlCaps,EControlSetPaletteEntry, + EControlBlit,EControlSetPixel,EControlGetPixel,EControlSetWord,EControlGetWord, + EControlSetLine,EControlGetLine,EControlScrollUp,EControlClear}; +public: + inline TInt Open(); + inline void Start(); + inline TVersion VersionRequired() const; + inline void Caps(TDes8 &aCaps); + inline void SetPaletteEntry(TInt aIndex,TUint aEntry); + inline void Blit(TDes8 &aBlitInfo); + inline void SetPixel(TDes8 &aPixelInfo); + inline TInt SetMode(TVideoMode aMode); + inline void Mode(TVideoMode *aMode); + inline void ScrollUp(const TRect& aRect); + inline void Clear(const TRect& aRect); + inline TInt GetPixel(const TPoint& aPoint); + inline void SetWord(const TPoint& aPoint,TInt& aWord); + inline TInt GetWord(const TPoint &aPoint); + inline void SetLine(const TPoint& aPoint,const TPixelLine& aPixelLine); + inline void GetLine(const TPoint& aPoint,TPixelLine& aPixelLine); + }; +#include "d32video.inl" +#endif +