From 28afa457cea6b1b826a04cced3a0306e580820a7 Mon Sep 17 00:00:00 2001 From: nirav Date: Fri, 24 Aug 2018 17:06:02 +0530 Subject: Added a scrolled window container for image --- main.c | 21 +++++++++++---------- 1 file changed, 11 insertions(+), 10 deletions(-) diff --git a/main.c b/main.c index e875c0a..915d843 100644 --- a/main.c +++ b/main.c @@ -1,5 +1,5 @@ #include -#define TIMEOUT 50 +#define TIMEOUT 20 GtkWidget *window; GtkWidget *image; @@ -48,15 +48,12 @@ gboolean resize_done(gpointer data) new_pixbuf_height = pixbuf_height; } - gtk_container_remove(GTK_CONTAINER(window), GTK_WIDGET(image)); if (curr_pixbuf != NULL) g_object_unref(curr_pixbuf); curr_pixbuf = gdk_pixbuf_scale_simple(GDK_PIXBUF(pixbuf), new_pixbuf_width, new_pixbuf_height, GDK_INTERP_BILINEAR); - image = gtk_image_new_from_pixbuf(GDK_PIXBUF(curr_pixbuf)); - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(image)); - gtk_widget_show_all(GTK_WIDGET(window)); + gtk_image_set_from_pixbuf(GTK_IMAGE(image), GDK_PIXBUF(curr_pixbuf)); return FALSE; } @@ -74,13 +71,13 @@ static void activate(GtkApplication *app, gpointer user_data) GError *error = NULL; window = gtk_application_window_new(app); + gtk_window_set_title(GTK_WINDOW(window), "qwe"); + gtk_window_set_default_size(GTK_WINDOW(window), 300, 300); g_signal_connect(G_OBJECT(window), "configure-event", G_CALLBACK(configure_callback), NULL); g_signal_connect(G_OBJECT(window), "key-press-event", G_CALLBACK(key_press), NULL); - gtk_window_set_title(GTK_WINDOW(window), "qwe"); - gtk_window_set_default_size(GTK_WINDOW(window), 300, 300); pixbuf = gdk_pixbuf_new_from_file( "/home/nirav/Downloads/Saved Pictures/bash help shortcuts.png", &error); @@ -90,13 +87,17 @@ static void activate(GtkApplication *app, gpointer user_data) g_clear_error(&error); return; } - image = gtk_image_new_from_pixbuf(GDK_PIXBUF(pixbuf)); pixbuf_width = gdk_pixbuf_get_width(GDK_PIXBUF(pixbuf)); pixbuf_height = gdk_pixbuf_get_height(GDK_PIXBUF(pixbuf)); aspect_ratio = (double)pixbuf_width / (double)pixbuf_height; - - gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(image)); + GtkWidget *scrolled_window = + gtk_scrolled_window_new(NULL, NULL); + gtk_scrolled_window_set_policy(GTK_SCROLLED_WINDOW(scrolled_window), + GTK_POLICY_AUTOMATIC, + GTK_POLICY_AUTOMATIC); + gtk_container_add(GTK_CONTAINER(scrolled_window), GTK_WIDGET(image)); + gtk_container_add(GTK_CONTAINER(window), GTK_WIDGET(scrolled_window)); gtk_widget_show_all(GTK_WIDGET(window)); } -- cgit v1.2.3