src/hbcore/theme/hbthemecommon_p.h
changeset 2 06ff229162e9
parent 1 f7ac710697a9
child 3 11d3954df52a
--- a/src/hbcore/theme/hbthemecommon_p.h	Mon May 03 12:48:33 2010 +0300
+++ b/src/hbcore/theme/hbthemecommon_p.h	Fri May 14 16:09:54 2010 +0300
@@ -38,7 +38,13 @@
 #endif
 
 #define THEME_SERVER_NAME "hbthemeserver"
+#define BIN_CSS_APP "hbbincssmaker"
+#define BIN_CSS_APP_SYMBIAN "hbbincssmaker_symbian"
+#ifdef HB_BIN_CSS
+#define HB_THEME_SHARED_PIXMAP_CHUNK "themeserver_tool_chunk"
+#else
 #define HB_THEME_SHARED_PIXMAP_CHUNK "themeserver_chunk"
+#endif
 #define ORGANIZATION "Nokia"
 #define THEME_COMPONENT "Hb Themes"
 #define CURRENT_THEME_KEY "CurrentTheme"
@@ -50,23 +56,58 @@
 // To enable/disable debug messages for theme index functionality
 #undef THEME_INDEX_TRACES
 
+#undef CSSBIN_TRACES
+
 // To enable memory report creation (memory usage, fragmentation etc.)
 #undef HB_THEME_SERVER_MEMORY_REPORT
+// To enable full memory report including all allocs, frees and reallocs
+#undef HB_THEME_SERVER_FULL_MEMORY_REPORT
+
+#ifdef HB_THEME_SERVER_FULL_MEMORY_REPORT
+#define HB_THEME_SERVER_MEMORY_REPORT
+#endif
+
 // If master trace macro is defined, define also other theme traces
 #ifdef THEME_SERVER_TRACES
 #define THEME_INDEX_TRACES
+#define CSSBIN_TRACES
 #endif
 
-
 // To enable fute testing for cache
 //#define HB_ICON_CACHE_DEBUG
 
-const unsigned int INITIALIZED_CHUNK_IDENTIFIER = 0x54535256; //'TSRV'
+
+enum HbThemeType {
+    BaseTheme   = 0,
+    OperatorC   = 1,
+    OperatorROM = 2,
+    ActiveTheme = 3
+};
+
+const quint32 INITIALIZED_CHUNK_IDENTIFIER = 0x54535256; //'TSRV'
 struct HbSharedChunkHeader
 {
-    unsigned int identifier;
-    unsigned int mainAllocatorOffset;
-    unsigned int subAllocatorOffset;
+    quint32 identifier;
+    quint32 mainAllocatorOffset;
+    quint32 subAllocatorOffset;
+    quint32 sharedCacheOffset;	
+    // Base theme offsets
+    quint32 baseThemePathOffset;
+    quint32 baseThemeNameOffset;
+    quint32 baseThemeIndexOffset;
+    // Operator theme in C-drive offsets
+    quint32 operatorThemeDriveCPathOffset;
+    quint32 operatorThemeDriveCNameOffset;
+    quint32 operatorThemeDriveCIndexOffset;
+    // Operator theme in ROM offsets
+    quint32 operatorThemeRomPathOffset;
+    quint32 operatorThemeRomNameOffset;
+    quint32 operatorThemeRomIndexOffset;
+    // Active theme offsets
+    quint32 activeThemePathOffset;
+    quint32 activeThemeNameOffset;
+    quint32 activeThemeIndexOffset;
+
 };
 
 enum LayerPriority {
@@ -109,6 +150,7 @@
     QColor color;
     int rgba;
     bool colorflag;
+    int renderMode;
 };
 
 
@@ -117,7 +159,7 @@
     NVG,
     PIC,
     SVG,
-	SGIMAGE,
+    SGIMAGE,
     BLOB,
     OTHER_SUPPORTED_FORMATS
 };
@@ -133,14 +175,14 @@
 };
 
 struct HbSharedNVGInfo
-{		
+{
     int offset;
     int dataSize;
     int width;
     int height;
     int defaultWidth;
     int defaultHeight;
-    
+
 };
 
 struct HbSharedPICInfo
@@ -157,7 +199,7 @@
 {
     unsigned long long id;
     int width;
-    int height; 
+    int height;
     int defaultWidth;
     int defaultHeight;
 };
@@ -171,18 +213,18 @@
 struct HbSharedIconInfo
 {
     HbIconFormatType type;
-    
-    union 
+
+    union
     {
-    	HbSharedPixmapInfo pixmapData;
-    	HbSharedNVGInfo nvgData;
-    	HbSharedPICInfo picData;
-		HbSharedSgimageInfo sgImageData;
+        HbSharedPixmapInfo pixmapData;
+        HbSharedNVGInfo nvgData;
+        HbSharedPICInfo picData;
+        HbSharedSgimageInfo sgImageData;
         HbSharedBLOBInfo blobData;
-    };	
-    
+    };
+
     HbSharedIconInfo():type(INVALID_FORMAT){}
-          
+
 };
 
 struct HbSharedIconInfoList
@@ -194,9 +236,9 @@
 {
     int offset;
     int refCount;
-    HbSharedStyleSheetInfo(): 
+    HbSharedStyleSheetInfo():
         offset(-1),
-        refCount(0)    
+        refCount(0)
     {}
 };
 
@@ -223,23 +265,13 @@
     HbSecondaryCacheInfo() : offset(-1) {}
 };
 
-struct HbSharedCacheItem {
-    HbString key;
+
+struct HbTypefaceDataInfo
+{
     int offset;
-    HbSharedCacheItem():key(HbMemoryManager::SharedMemory),offset(-1)
-    {
-    }
-    HbSharedCacheItem(const QString &cacheKey,
-                   int cacheOffset):key(cacheKey,HbMemoryManager::SharedMemory),
-                                    offset(cacheOffset)
-    {
-    }
+    HbTypefaceDataInfo() : offset(-1) {}
 };
 
-// Currently HbVector is used. This one should be replaced with the Map/Hash
-// data structure.
-typedef HbVector<HbSharedCacheItem> HbSharedCache;
-
 // Function codes (opcodes) used in message passing between client and server
 enum HbThemeServerRequest
     {
@@ -252,7 +284,6 @@
      EMultiIcon,
      EWidgetMLLookup,
      EDeviceProfileOffset,
-     ESecondaryCacheOffset,
      ENotifyForegroundLost,
  #ifdef HB_ICON_CACHE_DEBUG
      EIconCleanUp,
@@ -284,20 +315,33 @@
      ERefCount,
 #endif
      EThemeContentUpdate,
-	 EEffectLookupFilePath,
-	 EEffectAdd,
+     EEffectLookupFilePath,
+     EEffectAdd,
      EUnloadIcon,
      EUnloadMultiIcon,
      EMemoryGood,
      EFreeRam,
+     ERenderModeSwitch,
      EThemeServerStop,
-     EThemeIndex,
      EFreeSharedMem,
      EAllocatedSharedMem,
-     EAllocatedHeapMem
+     EAllocatedHeapMem,
+     ETypefaceOffset
 #ifdef HB_THEME_SERVER_MEMORY_REPORT
      ,ECreateMemoryReport
 #endif
     };
+//Rendering Modes
+enum HbRenderingMode
+{
+	ESWRendering,
+	EHWRendering
+};
+
+struct HbFreeRamNotificationData
+{
+	int bytesToFree;
+	bool useSwRendering;
+};	
 
 #endif /* HBTHEMECOMMON_P_H */