From c6bde872a51bea0beb105d5b9fde0f4aad36ca1d Mon Sep 17 00:00:00 2001 From: Nick Bowler Date: Sun, 7 Feb 2010 22:32:07 -0500 Subject: [PATCH] lbxgui: Add support for override palettes. --- src/gui/lbxgui.c | 41 +++++++++++++++++++++++++++++++++++++++-- src/gui/lbxgui.glade | 26 +++++++++++++++++++++++--- 2 files changed, 62 insertions(+), 5 deletions(-) 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) diff --git a/src/gui/lbxgui.glade b/src/gui/lbxgui.glade index 53e5ce2..8b44249 100644 --- a/src/gui/lbxgui.glade +++ b/src/gui/lbxgui.glade @@ -148,6 +148,26 @@ 3 + + + True + 1 + 3 + Override: + + + 4 + + + + + True + + + + 5 + + True @@ -156,7 +176,7 @@ Frame: - 4 + 6 @@ -169,7 +189,7 @@ False - 5 + 7 @@ -188,7 +208,7 @@ False 3 - 6 + 8 -- 2.43.2