windowing/windowserver/stdgraphic/wsgraphicdrawercontext.h
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/stdgraphic/wsgraphicdrawercontext.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,80 @@
+// 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 "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:
+//
+
+#ifndef __WSGRAPHICDRAWERCONTEXT_H__
+#define __WSGRAPHICDRAWERCONTEXT_H__
+
+#include <e32base.h>
+#include <e32std.h>
+
+class MWsGc;
+class CFbsBitmap;
+class CFrameRate;
+class MWsClient;
+class MWsScreen;
+
+class MWsGraphicDrawerContext
+	{
+public:
+	virtual void Destroy() = 0;
+	virtual MWsClient& Client(MWsGc& aGc) = 0;
+	virtual MWsScreen& Screen(MWsGc& aGc) = 0;
+	virtual const TTime& Now(MWsGc& aGc) const = 0;
+	virtual void ScheduleAnimation(MWsGc& aGc, const TRect& aRect,const TTimeIntervalMicroSeconds& aFromNow) = 0;
+	virtual void ScheduleAnimation(MWsGc& aGc, const TRect& aRect,const TTimeIntervalMicroSeconds& aFromNow,const TTimeIntervalMicroSeconds& aFreq,const TTimeIntervalMicroSeconds& aStop) = 0;
+	virtual void SetGcOrigin(MWsGc& aGc, const TPoint& aOrigin) = 0;
+	virtual TInt Push(MWsGc& aGc) const = 0;
+	virtual void Pop(MWsGc& aGc) const = 0;
+	virtual void DrawBitmap(MWsGc& aGc, const TPoint& aDestPos, const CFbsBitmap* aSourceBitmap, const TRect& aSourceRect, const CFbsBitmap* aMaskBitmap) const = 0;
+	virtual void DrawFrameRate(MWsGc& aGc, const TRect& aRect, const CFrameRate& aFps) const = 0;
+	};
+
+class CWsGraphicDrawerNgaContext : public CBase, public MWsGraphicDrawerContext
+	{
+public:
+	static MWsGraphicDrawerContext* NewL();
+public:
+	void Destroy();
+	MWsClient& Client(MWsGc& aGc);
+	MWsScreen& Screen(MWsGc& aGc);
+	const TTime& Now(MWsGc& aGc) const;
+	void ScheduleAnimation(MWsGc& aGc, const TRect& aRect,const TTimeIntervalMicroSeconds& aFromNow);
+	void ScheduleAnimation(MWsGc& aGc, const TRect& aRect,const TTimeIntervalMicroSeconds& aFromNow,const TTimeIntervalMicroSeconds& aFreq,const TTimeIntervalMicroSeconds& aStop);
+	void SetGcOrigin(MWsGc& aGc, const TPoint& aOrigin);
+	TInt Push(MWsGc& aGc) const;
+	void Pop(MWsGc& aGc) const;
+	void DrawBitmap(MWsGc& aGc, const TPoint& aDestPos, const CFbsBitmap* aSourceBitmap, const TRect& aSourceRect, const CFbsBitmap* aMaskBitmap) const;
+	void DrawFrameRate(MWsGc& aGc, const TRect& aRect, const CFrameRate& aFps) const;
+	};
+
+class CWsGraphicDrawerNonNgaContext : public CBase, public MWsGraphicDrawerContext
+	{
+public:
+	static MWsGraphicDrawerContext* NewL();
+public:
+	void Destroy();
+	MWsClient& Client(MWsGc& aGc);
+	MWsScreen& Screen(MWsGc& aGc);
+	const TTime& Now(MWsGc& aGc) const;
+	void ScheduleAnimation(MWsGc& aGc, const TRect& aRect,const TTimeIntervalMicroSeconds& aFromNow);
+	void ScheduleAnimation(MWsGc& aGc, const TRect& aRect,const TTimeIntervalMicroSeconds& aFromNow,const TTimeIntervalMicroSeconds& aFreq,const TTimeIntervalMicroSeconds& aStop);
+	void SetGcOrigin(MWsGc& aGc, const TPoint& aOrigin);
+	TInt Push(MWsGc& aGc) const;
+	void Pop(MWsGc& aGc) const;
+	void DrawBitmap(MWsGc& aGc, const TPoint& aDestPos, const CFbsBitmap* aSourceBitmap, const TRect& aSourceRect, const CFbsBitmap* aMaskBitmap) const;
+	void DrawFrameRate(MWsGc& aGc, const TRect& aRect, const CFrameRate& aFps) const;
+	};
+
+#endif // __WSGRAPHICDRAWERCONTEXT_H__