-#include <config.h>
+#include "config.h"
#include <gtk/gtk.h>
#include <stdio.h>
}
gboolean
-expose_cb (GtkWidget *widget, GdkEventExpose *event, gpointer data)
+draw_cb (GtkWidget *widget, cairo_t *cr, gpointer data)
{
GdkPixbuf *dest;
+ int width, height;
- gdk_window_set_back_pixmap (widget->window, NULL, FALSE);
-
- dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, event->area.width, event->area.height);
+ width = gtk_widget_get_allocated_width (widget);
+ height = gtk_widget_get_allocated_height (widget);
+
+ dest = gdk_pixbuf_new (GDK_COLORSPACE_RGB, FALSE, 8, width, height);
gdk_pixbuf_composite_color (pixbuf, dest,
- 0, 0, event->area.width, event->area.height,
- -event->area.x, -event->area.y,
- (double) widget->allocation.width / gdk_pixbuf_get_width (pixbuf),
- (double) widget->allocation.height / gdk_pixbuf_get_height (pixbuf),
+ 0, 0, width, height,
+ 0, 0,
+ (double) width / gdk_pixbuf_get_width (pixbuf),
+ (double) height / gdk_pixbuf_get_height (pixbuf),
interp_type, overall_alpha,
- event->area.x, event->area.y, 16, 0xaaaaaa, 0x555555);
+ 0, 0, 16, 0xaaaaaa, 0x555555);
+
+ gdk_cairo_set_source_pixbuf (cr, dest, 0, 0);
+ cairo_paint (cr);
- gdk_draw_pixbuf (widget->window, widget->style->fg_gc[GTK_STATE_NORMAL], dest,
- 0, 0, event->area.x, event->area.y,
- event->area.width, event->area.height,
- GDK_RGB_DITHER_NORMAL, event->area.x, event->area.y);
-
g_object_unref (dest);
return TRUE;
g_signal_connect (window, "destroy",
G_CALLBACK (gtk_main_quit), NULL);
- vbox = gtk_vbox_new (FALSE, 0);
+ vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, FALSE, 0);
gtk_container_add (GTK_CONTAINER (window), vbox);
- combo_box = gtk_combo_box_new_text ();
+ combo_box = gtk_combo_box_text_new ();
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "NEAREST");
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "BILINEAR");
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "TILES");
- gtk_combo_box_append_text (GTK_COMBO_BOX (combo_box), "HYPER");
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), "NEAREST");
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), "BILINEAR");
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), "TILES");
+ gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo_box), "HYPER");
gtk_combo_box_set_active (GTK_COMBO_BOX (combo_box), 1);
alignment = gtk_alignment_new (0.0, 0.0, 0.0, 0.5);
gtk_box_pack_start (GTK_BOX (vbox), alignment, FALSE, FALSE, 0);
- hbox = gtk_hbox_new (FALSE, 4);
+ hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, FALSE, 4);
gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0);
label = gtk_label_new ("Overall Alpha:");
gtk_box_pack_start (GTK_BOX (hbox), label, FALSE, FALSE, 0);
- adjustment = GTK_ADJUSTMENT (gtk_adjustment_new (overall_alpha, 0, 255, 1, 10, 0));
+ adjustment = gtk_adjustment_new (overall_alpha, 0, 255, 1, 10, 0);
g_signal_connect (adjustment, "value_changed",
G_CALLBACK (overall_changed_cb), NULL);
- hscale = gtk_hscale_new (adjustment);
+ hscale = gtk_scale_new (GTK_ORIENTATION_HORIZONTAL, adjustment);
gtk_scale_set_digits (GTK_SCALE (hscale), 0);
gtk_box_pack_start (GTK_BOX (hbox), hscale, TRUE, TRUE, 0);
gtk_widget_show_all (vbox);
/* Compute the size without the drawing area, so we know how big to make the default size */
- gtk_widget_size_request (vbox, &scratch_requisition);
+ gtk_widget_get_preferred_size ( (vbox),
+ &scratch_requisition, NULL);
darea = gtk_drawing_area_new ();
gtk_box_pack_start (GTK_BOX (vbox), darea, TRUE, TRUE, 0);
- g_signal_connect (darea, "expose_event",
- G_CALLBACK (expose_cb), NULL);
+ g_signal_connect (darea, "draw",
+ G_CALLBACK (draw_cb), NULL);
gtk_window_set_default_size (GTK_WINDOW (window),
gdk_pixbuf_get_width (pixbuf),