egl/egltest/src/egltestcommonconversion.cpp
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/egl/egltest/src/egltestcommonconversion.cpp	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,147 @@
+// Copyright (c) 2007-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:
+//
+
+/**
+ @file
+ @test
+*/
+
+#include "egltestcommonconversion.h"
+
+EXPORT_C TEglTestConfig EglTestConversion::VgFormatToWindowSurfaceFormat(VGImageFormat aVgFormat)
+	{
+	switch(aVgFormat)
+		{
+		case VG_sRGB_565:
+			return EWindowAttribsColor64K;		
+		case VG_sARGB_8888:
+			return EWindowAttribsColor16MA;
+		case VG_sARGB_8888_PRE:
+			return EWindowAttribsColor16MAP;
+		default:
+			return EEglTestConfigMax;
+		}
+	}
+
+EXPORT_C TEglTestConfig EglTestConversion::VgFormatToPBufferSurfaceFormat(VGImageFormat aVgFormat)
+	{
+	switch(aVgFormat)
+		{
+		case VG_sRGB_565:
+			return EPBufferAttribsColor64K;
+		case VG_sXRGB_8888:
+			return EPBufferAttribsColor16MU;					
+		case VG_sARGB_8888:
+			return EPBufferAttribsColor16MA;
+		case VG_sARGB_8888_PRE:
+			return EPBufferAttribsColor16MAP;
+		default:
+			return EEglTestConfigMax;
+		}
+	}
+
+EXPORT_C TEglTestConfig EglTestConversion::VgFormatToPixmapSgSurfaceFormat(VGImageFormat aVgFormat)
+	{
+	switch(aVgFormat)
+		{
+		case VG_sRGB_565:
+			return EPixmapAttribsColor64K;
+		case VG_sXRGB_8888:
+			return EPixmapAttribsColor16MU;
+		case VG_sARGB_8888_PRE:
+			return EPixmapAttribsColor16MAP;
+		default:
+			return EEglTestConfigMax;
+		}
+	}
+
+EXPORT_C TUidPixelFormat EglTestConversion::VgFormatToSgPixelFormat(VGImageFormat aVgFormat)
+	{
+	switch(aVgFormat)
+		{
+		case VG_sRGB_565:
+			return EUidPixelFormatRGB_565;
+		case VG_sXRGB_8888:
+			return EUidPixelFormatXRGB_8888;
+		case VG_sARGB_8888:
+			return EUidPixelFormatARGB_8888;
+		case VG_sARGB_8888_PRE:
+			return EUidPixelFormatARGB_8888_PRE;
+		case VG_A_8:
+			return EUidPixelFormatA_8;
+		default:
+			return EUidPixelFormatUnknown;
+		}
+	}
+
+EXPORT_C VGImageFormat EglTestConversion::PixelFormatToVgFormat(TUidPixelFormat aPixelFormat)
+	{
+	switch(aPixelFormat)
+		{
+		case EUidPixelFormatRGB_565:
+			return VG_sRGB_565;
+		case EUidPixelFormatXRGB_8888:
+			return VG_sXRGB_8888;
+		case EUidPixelFormatARGB_8888:
+			return VG_sARGB_8888;
+		case EUidPixelFormatARGB_8888_PRE:
+			return VG_sARGB_8888_PRE;
+		case EUidPixelFormatA_8:
+			return VG_A_8;
+		default:
+			return VG_IMAGE_FORMAT_INVALID;
+		}
+	}
+
+EXPORT_C TDisplayMode EglTestConversion::PixelFormatToDisplayMode(TUidPixelFormat aPixelFormat)
+	{
+	switch(aPixelFormat)
+		{
+		case EUidPixelFormatRGB_565:
+			return EColor64K;
+		case EUidPixelFormatXRGB_8888:
+			return EColor16MU;
+		case EUidPixelFormatARGB_8888:
+			return EColor16MA;
+		case EUidPixelFormatARGB_8888_PRE:
+			return EColor16MAP;
+		case EUidPixelFormatA_8:
+			return EGray256;
+		default:
+			return ENone;
+		}
+	}
+
+EXPORT_C TDisplayMode EglTestConversion::VgFormatToDisplayMode(VGImageFormat aVgFormat)
+	{
+	return PixelFormatToDisplayMode( VgFormatToSgPixelFormat(aVgFormat) );
+	}
+
+EXPORT_C TInt EglTestConversion::BytePerPixel(TUidPixelFormat aPixelFormat)
+    {
+    switch(aPixelFormat)
+        {
+        case EUidPixelFormatRGB_565:
+            return 2;
+        case EUidPixelFormatXRGB_8888:
+        case EUidPixelFormatARGB_8888:
+        case EUidPixelFormatARGB_8888_PRE:
+            return 4;
+        case EUidPixelFormatA_8:
+            return 1;
+        default:
+            return 0;
+        }
+    }