kernel/eka/include/d32video.h
changeset 0 a41df078684a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/kernel/eka/include/d32video.h	Mon Oct 19 15:55:17 2009 +0100
@@ -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 <e32std.h>
+#include <e32ver.h>
+#include <e32twin.h>
+//
+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<TVideoCapsV01> 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
+