os/graphics/graphicsdeviceinterface/colourpalette/inc/palette.h
author sl
Tue, 10 Jun 2014 14:32:02 +0200
changeset 1 260cb5ec6c19
permissions -rw-r--r--
Update contrib.
sl@0
     1
// Copyright (c) 2002-2009 Nokia Corporation and/or its subsidiary(-ies).
sl@0
     2
// All rights reserved.
sl@0
     3
// This component and the accompanying materials are made available
sl@0
     4
// under the terms of "Eclipse Public License v1.0"
sl@0
     5
// which accompanies this distribution, and is available
sl@0
     6
// at the URL "http://www.eclipse.org/legal/epl-v10.html".
sl@0
     7
//
sl@0
     8
// Initial Contributors:
sl@0
     9
// Nokia Corporation - initial contribution.
sl@0
    10
//
sl@0
    11
// Contributors:
sl@0
    12
//
sl@0
    13
// Description:
sl@0
    14
//
sl@0
    15
sl@0
    16
#ifndef __PALETTE_H__
sl@0
    17
#define __PALETTE_H__
sl@0
    18
sl@0
    19
#include <e32base.h>
sl@0
    20
sl@0
    21
class TColor256Util;
sl@0
    22
sl@0
    23
sl@0
    24
class DynamicPalette
sl@0
    25
/** Hooks to allow dynamic palette switching in 256 colour mode.
sl@0
    26
sl@0
    27
TRgb::Color256() transparently invokes hooks in this class. The behaviour 
sl@0
    28
of the system can be customized by replacing the implementation in palette.dll 
sl@0
    29
with device-specific functionality to switch the colour palette at run-time. 
sl@0
    30
@publishedAll
sl@0
    31
@released
sl@0
    32
*/
sl@0
    33
	{
sl@0
    34
public:
sl@0
    35
	/** Stores the index values of the palettes defined. This enum may be as 
sl@0
    36
	short or as long as desired - there is no requirement that the size of the 
sl@0
    37
	enum in any given implementation be limited to the five sample values given 
sl@0
    38
	in this example implementation. */
sl@0
    39
	enum TIndex
sl@0
    40
		{
sl@0
    41
		/** A palette index number. */
sl@0
    42
		EIndex0,
sl@0
    43
		/** A palette index number. */
sl@0
    44
		EIndex1,
sl@0
    45
		/** A palette index number. */
sl@0
    46
		EIndex2,
sl@0
    47
		/** A palette index number. */
sl@0
    48
		EIndex4,
sl@0
    49
		/** A palette index number. */
sl@0
    50
		EIndex5,
sl@0
    51
	};
sl@0
    52
sl@0
    53
	IMPORT_C static const TColor256Util* DefaultColor256Util();
sl@0
    54
	IMPORT_C static void SetColor256Util(TIndex aIndex);
sl@0
    55
sl@0
    56
	IMPORT_C static const TUint32* Color16array();
sl@0
    57
	IMPORT_C static const TUint8* Color16inverse();
sl@0
    58
	};
sl@0
    59
sl@0
    60
#endif