X-Git-Url: https://git.draconx.ca/gitweb/liblbx.git/blobdiff_plain/039d6c1bce02ff7c7aba3bb5ad4dc05cf67b969f..c6bde872a51bea0beb105d5b9fde0f4aad36ca1d:/src/gui/lbxgui.c diff --git a/src/gui/lbxgui.c b/src/gui/lbxgui.c index 650f263..21dee9a 100644 --- a/src/gui/lbxgui.c +++ b/src/gui/lbxgui.c @@ -174,6 +174,9 @@ static int init_framedata(int reset) struct lbx_imginfo info; GtkSpinButton *spin; + if (!image) + return 0; + lbximg_getinfo(image, &info); framebuf = gdk_pixbuf_new(GDK_COLORSPACE_RGB, FALSE, 8, info.width, info.height); @@ -197,6 +200,38 @@ static int img_close(void *handle) return 0; } +void set_override_data(GtkComboBox *combo) +{ + GtkTreeIter iter; + gpointer lbx; + guint index; + LBXfile *f; + LBX_IMG *img; + + if (!gtk_combo_box_get_active_iter(combo, &iter)) + return; + + gtk_tree_model_get(GTK_TREE_MODEL(archives), &iter, + 1, &lbx, + 2, &index, + -1); + + f = lbx_file_open(lbx, index); + if (f) { + img = lbximg_open(f, &lbx_arch_fops, NULL); + if (img) { + memset(palette_override, 0, sizeof palette_override); + lbximg_getpalette(img, palette_override); + lbximg_close(img); + init_framedata(0); + } + + lbx_file_close(f); + } else { + puts("damn"); + } +} + void set_palette_data(GtkComboBox *combo) { GtkTreeIter iter; @@ -239,8 +274,6 @@ void set_image_data(GtkComboBox *combo) f = lbx_file_open(lbx, index); if (f) { - struct lbx_imginfo info; - image = lbximg_open(f, &lbx_arch_fops, img_close); if (image) { memset(palette_internal, 0, sizeof palette_internal); @@ -388,6 +421,10 @@ static void interface_init(void) combo = GTK_COMBO_BOX(gtk_builder_get_object(builder, "imagechooser")); gtk_combo_box_set_model(combo, GTK_TREE_MODEL(archives)); gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(combo), 0); + + combo = GTK_COMBO_BOX(gtk_builder_get_object(builder, "overchooser")); + gtk_combo_box_set_model(combo, GTK_TREE_MODEL(archives)); + gtk_combo_box_entry_set_text_column(GTK_COMBO_BOX_ENTRY(combo), 0); } int main(int argc, char **argv)