sl@0: // Copyright (c) 2006-2009 Nokia Corporation and/or its subsidiary(-ies). sl@0: // All rights reserved. sl@0: // This component and the accompanying materials are made available sl@0: // under the terms of "Eclipse Public License v1.0" sl@0: // which accompanies this distribution, and is available sl@0: // at the URL "http://www.eclipse.org/legal/epl-v10.html". sl@0: // sl@0: // Initial Contributors: sl@0: // Nokia Corporation - initial contribution. sl@0: // sl@0: // Contributors: sl@0: // sl@0: // Description: sl@0: // sl@0: sl@0: #ifndef __LOOKUPTABLE_H__ sl@0: #define __LOOKUPTABLE_H__ sl@0: sl@0: #include sl@0: sl@0: /** sl@0: @internalTechnology sl@0: */ sl@0: IMPORT_C const TUint16* Convert16to32bppLow(); sl@0: IMPORT_C const TUint32* Convert16to32bppHigh(); sl@0: sl@0: /** sl@0: Returns the pointer to the table of 16-bit normalisation table. sl@0: The table is currently used for performing un-multiplying Premultiplied Alpha color channels. sl@0: Use: Let x be c * a/255, and y = c, then y = (x/a)*255, where a is in 0-255 range. sl@0: To use this table, use y = (x * Table[a])>>8. i.e, the inaccurate division is converted sl@0: to more accurate multiplication and shift. sl@0: sl@0: @return pointer to the normalisation table. sl@0: @internalTechnology sl@0: sl@0: */ sl@0: IMPORT_C const TUint16* PtrTo16BitNormalisationTable(); sl@0: sl@0: sl@0: sl@0: #endif