diff -r 0a74be98a8bc -r 10d0dd0e43f1 controlpanelplugins/themeplugin/src/cpthemecommon_p.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/controlpanelplugins/themeplugin/src/cpthemecommon_p.h Fri Apr 16 14:59:22 2010 +0300 @@ -0,0 +1,197 @@ +/* +* Copyright (c) 2008-2010 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 HBTHEMECOMMON_P_H +#define HBTHEMECOMMON_P_H + +#include +#include +#include +#include + +#define THEME_SERVER_NAME "hbthemeserver" +#define HB_THEME_SHARED_PIXMAP_CHUNK "themeserver_chunk" +#define ORGANIZATION "Nokia" +#define THEME_COMPONENT "ThemeFramework" + +// To enable/disable debug messages for theme server functionality +#undef THEME_SERVER_TRACES + +// To enable fute testing for cache +//#define HB_ICON_CACHE_DEBUG +struct MultiPartSizeData +{ + // Indexing order is: + + // 'NinePieces' -> tl, t, tr, l, c, r, bl, b, br + // 'ThreePiecesHorizontal' -> l, c, r + // 'ThreePiecesVertical' -> t, c, b + QString multiPartIconId; + QRect sources[9]; // rects used from the rasterized frame part pixmaps + QRect targets[9]; // frame part target rects inside the bounding rectangle of the frame + QSize pixmapSizes[9]; // frame part pixmaps are rasterized to these sizes +}; + + +struct HbMultiIconParams +{ + QString multiPartIconId; + QStringList multiPartIconList; + MultiPartSizeData multiPartIconData; + QSizeF size; + int aspectRatioMode; + int mode; + int options; + bool mirrored; + QColor color; + int rgba; + bool colorflag; +}; + + +enum IconFormatType { + INVALID_FORMAT = -1, + NVG, + PIC, + SVG, + BLOB, + OTHER_SUPPORTED_FORMATS +}; + +struct HbSharedPixmapInfo +{ + int offset; + int width; + int height; + int defaultWidth; + int defaultHeight; + QImage::Format format; +}; + +struct HbSharedNVGInfo +{ + int offset; + int dataSize; + int width; + int height; + int defaultWidth; + int defaultHeight; + +}; + +struct HbSharedPICInfo +{ + int offset; + int dataSize; + int width; + int height; + int defaultWidth; + int defaultHeight; +}; + +struct HbSharedBLOBInfo +{ + int offset; + int dataSize; +}; + +struct HbSharedIconInfo +{ + IconFormatType type; + + union + { + HbSharedPixmapInfo pixmapData; + HbSharedNVGInfo nvgData; + HbSharedPICInfo picData; + HbSharedBLOBInfo blobData; + }; + +}; + +struct HbSharedStyleSheetInfo +{ + int offset; + int refCount; + HbSharedStyleSheetInfo(): + offset(-1), + refCount(0) + {} +}; + +struct HbSharedEffectInfo +{ + int offset; + HbSharedEffectInfo(): offset(-1){} +}; + +struct HbSharedWMLInfo +{ + int offset; + HbSharedWMLInfo() : offset(-1) {} +}; + +struct HbDeviceProfileInfo +{ + int offset; + HbDeviceProfileInfo() : offset(-1) {} +}; + +// Function codes (opcodes) used in message passing between client and server +enum ThemeServerRequest + { + EIconLookup = 1, + EIconDefaultSize, + EStyleSheetLookup, + EThemeSelection, + EMultiPieceIcon, + EWidgetMLLookup, + EDeviceProfileOffset, + #ifdef HB_ICON_CACHE_DEBUG + EIconCleanUp, + ECacheIconCount, + ERasterMemLimit, + EVectorMemLimit, + EFreeRasterMem, + EFreeVectorMem, + ELastAddedItemMem, + ELastAddedItemRefCount, + ELastRemovedItemMem, + ELastRemovedItemRefCount, + EEnableCache, + ECacheHit, + ECacheMiss, + ECleanRasterLRUList, + ECleanVectorLRUList, + EServerHeap, + EGpuLruCount, + ECpuLruCount, + EServerStat, + EServerHeapMarkStart, + EServerHeapMarkEnd, + EServerAllocFail, + EServerAllocReset, + #endif + EThemeContentUpdate, + EEffectLookupFilePath, + EEffectAdd, + EUnloadIcon, + EThemeServerStop + }; + +#endif /* HBTHEMECOMMON_P_H */