gfxtools/Color/inc/Color.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Thu, 17 Dec 2009 09:14:18 +0200
changeset 0 f58d6ec98e88
permissions -rw-r--r--
Revision: 200949 Kit: 200951

/*
* Copyright (c) 2002 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 COLOR_H
#define COLOR_H

#include "RGB.H"

class TColorScheme
	{
public:
	enum 
		{
		StandardGrayBase = 216,
		SchemeSpecificColorBase = 226
		};

public:
	virtual TRgb Color(int aIndex) const = 0;
	};


class Color
	{
public:
	enum TSchemeId
		{
		ENokiaBlue,
		ENokiaGreen,
		ENokiaPurple,
        ENokiaGrey,
        ESchemeRed,
        ESchemePink,
        ESchemeOrange,
        EPalette1,
        EPalette2,
        EPalette3,
        EPalette4,
        EPalette5,
        EPalette6,
        EPalette7,
        EPalette8,
        EPalette9,
        EPalette10,
        EPalette11,
        EPalette12,
        EPalette13
		};

public:
	static TColorScheme* CreateColorSchemeL(TSchemeId aScheme);
	static void CreateBmConvPalette(TSchemeId aScheme, char* aFilename);
	static void CreatePaletteTable(TSchemeId aScheme, char* aPaletteName);
	static void EquivalenceTest();
private:
	typedef int TEquivalenceList[256];
	static void MakeEqivalenceList(TSchemeId aScheme, TEquivalenceList& aList);
	};


#endif
// End of File