X-Git-Url: http://git.cinelerra-gg.org/git/?a=blobdiff_plain;f=cinelerra-5.1%2Fguicast%2Fbctheme.h;h=c9addd3c9d918bda1ff7de2adcc9a4e6ef994538;hb=HEAD;hp=3f56d40181f365fc50de37fe557aca26379bdfc1;hpb=7b05ad287956f8bd00836d9b5fb39f899a5fb641;p=goodguy%2Fhistory.git diff --git a/cinelerra-5.1/guicast/bctheme.h b/cinelerra-5.1/guicast/bctheme.h index 3f56d401..c9addd3c 100644 --- a/cinelerra-5.1/guicast/bctheme.h +++ b/cinelerra-5.1/guicast/bctheme.h @@ -29,8 +29,18 @@ #include 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 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 contents; - ArrayList pointers; - ArrayList used; - char *last_image; - unsigned char *last_pointer; + ArrayList data_items; + ArrayList images; + BC_ImageData *last_image_data; + static int images_cmpr(const void *ap, const void *bp); }; class BC_ThemeSet