refresh frame fix, dblclk proxy viewer fix, vicon refresh fix for awdw resize, fix...
[goodguy/history.git] / cinelerra-5.1 / guicast / bctheme.h
index 40cebb0fd51ac95f6cba557240af2e395029eb66..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
@@ -105,6 +115,7 @@ public:
 
 // Verify all images have been used after initialization.
        void check_used();
+       void sort_image_sets();
 
        void dump();
        BC_Resources* get_resources();
@@ -118,22 +129,15 @@ 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.
-       class image_item {
-       public:
-               char *name;
-               unsigned char *data;
-               int used;
-
-               image_item(char *nm, unsigned char *dp) {
-                       name = nm;  data = dp;  used = 0;
-               }
-       } *last_image;
-
-       ArrayList<image_item *> images;
        ArrayList<int> data_items;
-
+       ArrayList<BC_ImageData *> images;
+       BC_ImageData *last_image_data;
        static int images_cmpr(const void *ap, const void *bp);
 };