diff -r 000000000000 -r 05e9090e2422 uigraphics/palette/inc/PaletteConstants.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/uigraphics/palette/inc/PaletteConstants.h Thu Dec 17 09:14:12 2009 +0200 @@ -0,0 +1,97 @@ +/* +* 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: Device specific constants for palette storage. +* +*/ + + +#ifndef __PALETTECONSTANTS_H__ +#define __PALETTECONSTANTS_H__ + +/** + * Palette switching support is not required in S60 3.x. + * This switch disables palette switching. The code will be removed later. + * You may ignore the rest of this header while this macro is defined. + */ +#define DISABLE_256_COLOR_PALETTE_SWITCHING + +#ifndef DISABLE_256_COLOR_PALETTE_SWITCHING +/** + * The palette code supports two modes of operation, configured with the feature flag + * __PALETTE_INDEX_ADDRESS_FIXED. + * + * If the feature is defined (call it "fast" mode), + * the palette index is stored in video memory and the video memory + * address is hard coded. + * + * If the feature is undefined (call it "slow" mode) the palette index is stored in + * video memory, but the video memory address is stored in TLS. + * + * This palette index is accessed a lot, so fast mode can have a positive + * effect on performance. + */ + +#ifdef __WINS__ +// always turn __PALETTE_INDEX_ADDRESS_FIXED on in __WINS__ +#undef __PALETTE_INDEX_ADDRESS_FIXED +#define __PALETTE_INDEX_ADDRESS_FIXED +#endif __WINS__ + + +#ifdef __PALETTE_INDEX_ADDRESS_FIXED +#ifndef __WINS__ + +/** + * This is the base address of the video memory for the screen. + * This value is only used if the macro __PALETTE_INDEX_ADDRESS_FIXED is defined and + * __WINS__ macro is undefined. + */ +#include +#define DEVICE_VIDEO_ADDR KLCDBaseAddress + + +/** + * This is the maximum width of the screen. + * This value is only used if the macro __PALETTE_INDEX_ADDRESS_FIXED is defined and + * __WINS__ macro is undefined. + * Otherwise, the width is retrieved from the screen driver. + */ +#define DEVICE_SCREEN_WIDTH 176 + +/** + * This is the maximum height of the screen. + * This value is only used if the macro __PALETTE_INDEX_ADDRESS_FIXED is defined and + * __WINS__ macro is undefined. + * Otherwise, the height is retrieved from the screen driver. + */ +#define DEVICE_SCREEN_HEIGHT 208 + +#endif +#endif // __PALETTE_INDEX_ADDRESS_FIXED + +/** + * The number of bytes used for each pixel of the screen. + */ +#define DEVICE_BYTES_PER_PIXEL 2 + +/** + * The number of bytes of video memory reserved by the screen driver for other purposes. + */ +#define DEVICE_VIDEO_PALETTE_SIZE 32 + +#endif // DISABLE_256_COLOR_PALETTE_SWITCHING + +#endif // __PALETTECONSTANTS_H__ + +// End of File