olaf neophyte and de.po updates, valgrind tweaks, delete green lady, inkscape dpi=96
[goodguy/history.git] / cinelerra-5.1 / guicast / bctheme.h
index 3f56d40181f365fc50de37fe557aca26379bdfc1..c9addd3c9d918bda1ff7de2adcc9a4e6ef994538 100644 (file)
 #include <stdarg.h>
 
 class BC_ThemeSet;
+class BC_ImageData;
 
+class BC_ImageData {
+public:
+       char *name;
+       unsigned char *data;
+       int used;
 
+       BC_ImageData(char *nm, unsigned char *dp) {
+               name = nm;  data = dp;  used = 0;
+       }
+};
 
 
 class BC_Theme
@@ -101,13 +111,11 @@ public:
        BC_ThemeSet* get_image_set_object(const char *title);
 
 // Loads compressed data into temporary
-       unsigned char* get_image_data(const char *title);
+       unsigned char* get_image_data(const char *title, int log_errs=1);
 
 // Verify all images have been used after initialization.
        void check_used();
-
-
-
+       void sort_image_sets();
 
        void dump();
        BC_Resources* get_resources();
@@ -121,15 +129,16 @@ private:
 // Decompressed image storage.
 // Sets of images.
        ArrayList<BC_ThemeSet*> image_sets;
+       BC_ThemeSet *last_image_set;
+       int image_sets_start;
+       static int image_set_cmpr(const void *ap, const void *bp);
+       void add_image_set(BC_ThemeSet *image_set);
 
 // Compressed images are loaded in here.
-       char *data_ptr;
-       char *contents_ptr;
-       ArrayList<char*> contents;
-       ArrayList<unsigned char*> pointers;
-       ArrayList<int> used;
-       char *last_image;
-       unsigned char *last_pointer;
+       ArrayList<int> data_items;
+       ArrayList<BC_ImageData *> images;
+       BC_ImageData *last_image_data;
+       static int images_cmpr(const void *ap, const void *bp);
 };
 
 class BC_ThemeSet