The cache file format:
Header:
-2 CARD16 MAJOR_VERSION 1
-2 CARD16 MINOR_VERSION 0
-4 CARD32 HASH_OFFSET
-4 CARD32 DIRECTORY_LIST_OFFSET
+2 CARD16 MAJOR_VERSION 1
+2 CARD16 MINOR_VERSION 0
+4 CARD32 HASH_OFFSET
+4 CARD32 DIRECTORY_LIST_OFFSET
DirectoryList:
-4 CARD32 N_DIRECTORIES
-4*N_DIRECTORIES CARD32 DIRECTORY_OFFSET
+4 CARD32 N_DIRECTORIES
+4*N_DIRECTORIES CARD32 DIRECTORY_OFFSET
Hash:
-4 CARD32 N_BUCKETS
-4*N_BUCKETS CARD32 ICON_OFFSET
+4 CARD32 N_BUCKETS
+4*N_BUCKETS CARD32 ICON_OFFSET
Icon:
-4 CARD32 CHAIN_OFFSET
-4 CARD32 NAME_OFFSET
-4 CARD32 IMAGE_LIST_OFFSET
+4 CARD32 CHAIN_OFFSET
+4 CARD32 NAME_OFFSET
+4 CARD32 IMAGE_LIST_OFFSET
ImageList:
-4 CARD32 N_IMAGES
-8*N_IMAGES Image IMAGES
+4 CARD32 N_IMAGES
+8*N_IMAGES Image IMAGES
Image:
-2 CARD16 DIRECTORY_INDEX
-2 ICON_FLAGS FLAGS
-4 CARD32 IMAGE_DATA_OFFSET
+2 CARD16 DIRECTORY_INDEX
+2 ICON_FLAGS FLAGS
+4 CARD32 IMAGE_DATA_OFFSET
ICON_FLAGS
HAS_SUFFIX_PNG 1
HAS_SUFFIX_SVG 4
HAS_ICON_FILE 8
+ImageData:
+4 CARD32 IMAGE_PIXEL_DATA_OFFSET
+4 CARD32 IMAGE_META_DATA_OFFSET
+
+4 CARD32 IMAGE_PIXEL_DATA_TYPE
+4 CARD32 IMAGE_PIXEL_DATA_LENGTH
+N/A N/A PIXEL_DATA
+
+IMAGE_PIXEL_DATA_TYPE
+0 GdkPixdata format
+
+MetaData:
+4 CARD32 EMBEDDED_RECT_OFFSET
+4 CARD32 ATTACH_POINT_LIST_OFFSET
+4 CARD32 DISPLAY_NAME_LIST_OFFSET
+
+EmbeddedRect:
+2 CARD16 X0
+2 CARD16 Y0
+2 CARD16 X1
+2 CARD16 Y1
+
+AttachPointList:
+4 CARD32 N_ATTACH_POINTS
+4*N_ATTACH_POINTS AttachPoint
+
+AttachPoint:
+2 CARD16 X
+2 CARD16 Y
+
+DisplayNameList:
+4 CARD32 N_DISPLAY_NAMES
+4*N_DISPLAY_NAMES DisplayName
+
+DisplayName:
+4 CARD32 DISPLAY_LANG_OFFSET
+4 CARD32 DISPLAY_NAME_OFFSET
+
Notes: