ui/gtk/image.c

changeset 962
7016bcb8d38b
parent 961
687f43736aef
equal deleted inserted replaced
961:687f43736aef 962:7016bcb8d38b
28 28
29 #include "image.h" 29 #include "image.h"
30 30
31 #include "container.h" 31 #include "container.h"
32 #include "menu.h" 32 #include "menu.h"
33 #include "widget.h"
33 #include "../common/context.h" 34 #include "../common/context.h"
34 #include "../common/object.h" 35 #include "../common/object.h"
35 36
36 static void imageviewer_destroy(UiImageViewer *iv) { 37 static void imageviewer_destroy(UiImageViewer *iv) {
37 if(iv->pixbuf) { 38 if(iv->pixbuf) {
66 UIWIDGET ui_imageviewer_create(UiObject *obj, UiImageViewerArgs *args) { 67 UIWIDGET ui_imageviewer_create(UiObject *obj, UiImageViewerArgs *args) {
67 GtkWidget *drawingarea = gtk_drawing_area_new(); 68 GtkWidget *drawingarea = gtk_drawing_area_new();
68 GtkWidget *toplevel; 69 GtkWidget *toplevel;
69 GtkWidget *widget = drawingarea; 70 GtkWidget *widget = drawingarea;
70 71
71 if(args->width > 0 || args->height > 0) { 72 int width = args->width;
72 int width = args->width; 73 int height = args->height;
73 int height = args->height; 74 if(width == 0 && height == 0) {
74 if(width == 0) { 75 width = 100;
75 width = -1; 76 height = 100;
76 } 77 }
77 if(height == 0) { 78 ui_widget_size_request(drawingarea, width, height);
78 height = -1;
79 }
80 gtk_widget_set_size_request(drawingarea, width, height);
81 } else {
82 gtk_widget_set_size_request(drawingarea, 100, 100);
83 }
84 79
85 #if GTK_MAJOR_VERSION < 4 80 #if GTK_MAJOR_VERSION < 4
86 GtkWidget *eventbox = gtk_event_box_new(); 81 GtkWidget *eventbox = gtk_event_box_new();
87 gtk_container_add(GTK_CONTAINER(eventbox), drawingarea); 82 gtk_container_add(GTK_CONTAINER(eventbox), drawingarea);
88 widget = eventbox; 83 widget = eventbox;

mercurial