windowing/windowserver/nonnga/graphicdrawer/graphicdrawerenvironment.cpp
changeset 0 5d03bc08d59c
child 26 15986eb6c500
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/windowing/windowserver/nonnga/graphicdrawer/graphicdrawerenvironment.cpp	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,107 @@
+// 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:
+//
+
+#include "Graphics/WSGRAPHICDRAWER.H"
+#include <Graphics/WSGRAPHICDRAWERINTERFACE.H>
+
+// TGraphicDrawerId \\\\\\\\\\\\\\\\\\\\\\\\
+
+EXPORT_C TInt TGraphicDrawerId::Compare(const TGraphicDrawerId& aOther) const
+/** Compares another ID with this for equality.
+@param aOther the ID to be compared with this.
+@return 0 if identical, -1 if this is less than aOther and 1 if this is greater than aOther
+*/	{
+	// id is expected to differ most 99.99% of the time
+	if(iId < aOther.iId)
+		{
+		return -1;
+		}
+	else if(iId > aOther.iId)
+		{
+		return 1;
+		}
+	// else we have to compare the iIsUid flag too; again, expect it to be a match 99.99% of these times
+	else if(iIsUid == aOther.iIsUid)
+		{
+		return 0;
+		}
+	// collisions of id but not iIsUid are going to be really really rare
+	else if(iIsUid)
+		{
+		return 1;
+		}
+	else
+		{
+		return -1;
+		}
+	}
+	
+EXPORT_C TInt TGraphicDrawerId::Compare(const TGraphicDrawerId& aFirst,const TGraphicDrawerId& aSecond)
+/** Compares two IDs for equality.
+@param aFirst the ID to be compared with aSecond
+@param aSecond the ID to be compared with aFirst
+@return 0 if identical, -1 if aFirst is less than aSecond and 1 if aFirst is greater than aSecond
+*/	{
+	return aFirst.Compare(aSecond);
+	}
+
+// MWsAnimationScheduler \\\\\\\\\\\\\\\\\\\\\\\\
+
+EXPORT_C void MWsAnimationScheduler::Animate(MWsScreen& aScreen)
+/** Calls the screen's OnAnimation() callback
+	@param aScreen the screen to be called back
+*/	{
+	aScreen.OnAnimation();
+	}
+
+EXPORT_C void MWsAnimationScheduler::Animate(MWsScreen& aScreen, TRequestStatus* aFinished)
+/** This method is only here to keep compatibility with NGA Window Server.
+	Please use Animate(MWsScreen&) instead!
+	@internalTechnology
+*/	{
+	aScreen.OnAnimation();
+
+	if(aFinished)
+		{
+		*aFinished = KRequestPending;
+		User::RequestComplete(aFinished, KErrNone);
+		}
+	}
+
+EXPORT_C void MWsAnimationScheduler::Redraw(MWsScreen& aScreen)
+/** Calls the screen's Redraw() method
+	@param aScreen the screen to be redrawn
+*/	{
+	aScreen.Redraw();
+	}
+
+EXPORT_C TBool MWsAnimationScheduler::RedrawInvalid(MWsScreen& aScreen,const TArray<TGraphicDrawerId>& aInvalid)
+/** Calls the screen's RedrawInvalid() method
+	@param aScreen the screen to be signalled to redraw any affected areas
+	@param the list of graphic IDs that are invalid
+	@return whether the screen drew anything
+*/	{
+	return aScreen.RedrawInvalid(aInvalid);
+	}
+	
+// MWsObjectProvider \\\\\\\\\\\\\\\\\\\\\\\\
+	
+EXPORT_C TAny* MWsObjectProvider::ResolveObjectInterface(TUint /*aTypeId*/)
+	{
+	return NULL;
+	}
+
+// MWsGraphicDrawerEnvironment \\\\\\\\\\\\\\\\\\\\\\\\
+