graphicsdeviceinterface/colourpalette/inc/palette.h
changeset 0 5d03bc08d59c
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/graphicsdeviceinterface/colourpalette/inc/palette.h	Tue Feb 02 01:47:50 2010 +0200
@@ -0,0 +1,60 @@
+// Copyright (c) 2002-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 __PALETTE_H__
+#define __PALETTE_H__
+
+#include <e32base.h>
+
+class TColor256Util;
+
+
+class DynamicPalette
+/** Hooks to allow dynamic palette switching in 256 colour mode.
+
+TRgb::Color256() transparently invokes hooks in this class. The behaviour 
+of the system can be customized by replacing the implementation in palette.dll 
+with device-specific functionality to switch the colour palette at run-time. 
+@publishedAll
+@released
+*/
+	{
+public:
+	/** Stores the index values of the palettes defined. This enum may be as 
+	short or as long as desired - there is no requirement that the size of the 
+	enum in any given implementation be limited to the five sample values given 
+	in this example implementation. */
+	enum TIndex
+		{
+		/** A palette index number. */
+		EIndex0,
+		/** A palette index number. */
+		EIndex1,
+		/** A palette index number. */
+		EIndex2,
+		/** A palette index number. */
+		EIndex4,
+		/** A palette index number. */
+		EIndex5,
+	};
+
+	IMPORT_C static const TColor256Util* DefaultColor256Util();
+	IMPORT_C static void SetColor256Util(TIndex aIndex);
+
+	IMPORT_C static const TUint32* Color16array();
+	IMPORT_C static const TUint8* Color16inverse();
+	};
+
+#endif