uifw/AvKon/AknExtendedFader/inc/AknExtendedFaderGfx.inl
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AvKon/AknExtendedFader/inc/AknExtendedFaderGfx.inl	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,101 @@
+/*
+* Copyright (c) 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 AKNEXTENDEDFADERGFX_INL_
+#define AKNEXTENDEDFADERGFX_INL_
+
+inline void TAknExtendedFaderGfx::AlignTo32Bytes(TUint32* data, TUint32 width, TUint32& leftwidth, TUint32& middlewidth, TUint32& rightwidth)
+	{
+	leftwidth = width; middlewidth = 0; rightwidth = 0;
+	
+	if(width>7)
+		{
+		// Calculate amount of residual pixels on the left side of 8-word aligned memory
+		leftwidth = (0x20 - (TUint32(data)&0x1F)) >> 2;
+		
+		if(leftwidth==8)
+			{
+			// No alignment needed
+			leftwidth = 0;
+			middlewidth = width;
+			rightwidth = middlewidth & 0x7;
+			middlewidth -= rightwidth;
+			}
+		else if(leftwidth<width)
+			{
+			// Scanline more than 8 pixels long
+			middlewidth = width - leftwidth;
+			rightwidth = middlewidth & 0x7;
+			middlewidth -= rightwidth;
+			}
+		else
+			{
+			// Less than 8 pixels wide
+			leftwidth = width;
+			middlewidth = rightwidth = 0;
+			}
+		}		
+	}	
+
+inline void TAknExtendedFaderGfx::ReadBurst(TUint32* aSource, TUint32& a1, TUint32& a2, TUint32& a3, TUint32& a4)
+    {
+    a1 = *aSource;
+    a2 = *( aSource + 1 );
+    a3 = *( aSource + 2 );
+    a4 = *( aSource + 3 );
+    }
+      
+inline void TAknExtendedFaderGfx::ReadBurst(TUint32* aSource, TUint32& a1, TUint32& a2, TUint32& a3, TUint32& a4, TUint32& a5, TUint32& a6, TUint32& a7, TUint32& a8)
+    {
+    a1 = *aSource;
+    a2 = *( aSource + 1 );
+    a3 = *( aSource + 2 );
+    a4 = *( aSource + 3 );
+    a5 = *( aSource + 4 );
+    a6 = *( aSource + 5 );
+    a7 = *( aSource + 6 );
+    a8 = *( aSource + 7 );
+    }
+	
+inline void TAknExtendedFaderGfx::WriteBurst(TUint32* aDest, TUint32 a1, TUint32 a2, TUint32 a3, TUint32 a4, TUint32 a5, TUint32 a6, TUint32 a7, TUint32 a8)
+	{
+	*aDest = a1;
+	*( aDest + 1 ) = a2;
+	*( aDest + 2 ) = a3;
+	*( aDest + 3 ) = a4;
+	*( aDest + 4 ) = a5;
+	*( aDest + 5 ) = a6;
+	*( aDest + 6 ) = a7;
+	*( aDest + 7 ) = a8;
+	}
+	
+inline void TAknExtendedFaderGfx::WriteBurst(TUint32* aDest, TUint32 a1, TUint32 a2, TUint32 a3, TUint32 a4)
+	{
+	*aDest = a1;
+	*( aDest + 1 ) = a2;
+	*( aDest + 2 ) = a3;
+	*( aDest + 3 ) = a4;
+	}
+
+
+// Include CPU specific stuff
+#ifdef __ARM11_SUPPORT
+#include "AknExtendedFaderGfx_ARM11.inl"
+#else
+#include "AknExtendedFaderGfx_Basic.inl"
+#endif
+
+#endif