X-Git-Url: http://pileus.org/git/?a=blobdiff_plain;f=tests%2Ftestoffscreen.c;h=62589b5dd8b0d74fc2cf1d092d1ef78eba2ab924;hb=HEAD;hp=ac711f5c26829531bcd1f4f88bc8661649d60d18;hpb=6dd7e5af083577e0b138a3e2f9fe3738a717f50c;p=~andy%2Fgtk diff --git a/tests/testoffscreen.c b/tests/testoffscreen.c index ac711f5c2..62589b5dd 100644 --- a/tests/testoffscreen.c +++ b/tests/testoffscreen.c @@ -20,26 +20,29 @@ combo_changed_cb (GtkWidget *combo, } static gboolean -layout_expose_handler (GtkWidget *widget, - GdkEventExpose *event) +layout_draw_handler (GtkWidget *widget, + cairo_t *cr) { GtkLayout *layout = GTK_LAYOUT (widget); GdkWindow *bin_window = gtk_layout_get_bin_window (layout); - cairo_t *cr; + GdkRectangle clip; - gint i,j; + gint i, j, x, y; gint imin, imax, jmin, jmax; - if (event->window != bin_window) + if (!gtk_cairo_should_draw_window (cr, bin_window)) return FALSE; - imin = (event->area.x) / 10; - imax = (event->area.x + event->area.width + 9) / 10; + gdk_window_get_position (bin_window, &x, &y); + cairo_translate (cr, x, y); - jmin = (event->area.y) / 10; - jmax = (event->area.y + event->area.height + 9) / 10; + gdk_cairo_get_clip_rectangle (cr, &clip); - cr = gdk_cairo_create (bin_window); + imin = (clip.x) / 10; + imax = (clip.x + clip.width + 9) / 10; + + jmin = (clip.y) / 10; + jmax = (clip.y + clip.height + 9) / 10; for (i = imin; i < imax; i++) for (j = jmin; j < jmax; j++) @@ -50,8 +53,6 @@ layout_expose_handler (GtkWidget *widget, cairo_fill (cr); - cairo_destroy (cr); - return FALSE; } @@ -61,10 +62,9 @@ scroll_layout (gpointer data) GtkWidget *layout = data; GtkAdjustment *adj; - adj = gtk_layout_get_hadjustment (GTK_LAYOUT (layout)); - gtk_adjustment_set_value (adj, - gtk_adjustment_get_value (adj) + 5.0); - return TRUE; + adj = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (layout)); + gtk_adjustment_set_value (adj, gtk_adjustment_get_value (adj) + 5.0); + return G_SOURCE_CONTINUE; } static guint layout_timeout; @@ -95,16 +95,16 @@ create_layout (GtkWidget *vbox) /* We set step sizes here since GtkLayout does not set * them itself. */ - hadjustment = gtk_layout_get_hadjustment (layout); - vadjustment = gtk_layout_get_vadjustment (layout); + hadjustment = gtk_scrollable_get_hadjustment (GTK_SCROLLABLE (layout)); + vadjustment = gtk_scrollable_get_vadjustment (GTK_SCROLLABLE (layout)); gtk_adjustment_set_step_increment (hadjustment, 10.0); gtk_adjustment_set_step_increment (vadjustment, 10.0); - gtk_layout_set_hadjustment (layout, hadjustment); - gtk_layout_set_vadjustment (layout, vadjustment); + gtk_scrollable_set_hadjustment (GTK_SCROLLABLE (layout), hadjustment); + gtk_scrollable_set_vadjustment (GTK_SCROLLABLE (layout), vadjustment); gtk_widget_set_events (layout_widget, GDK_EXPOSURE_MASK); - g_signal_connect (layout, "expose_event", - G_CALLBACK (layout_expose_handler), + g_signal_connect (layout, "draw", + G_CALLBACK (layout_draw_handler), NULL); gtk_layout_set_size (layout, 1600, 128000); @@ -196,25 +196,25 @@ create_widgets (void) GtkWidget *vbox, *hbox, *label, *combo, *entry, *button, *cb; GtkWidget *sw, *text_view; - main_vbox = gtk_vbox_new (0, FALSE); + main_vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); - main_hbox = gtk_hbox_new (0, FALSE); + main_hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (main_vbox), main_hbox, TRUE, TRUE, 0); - vbox = gtk_vbox_new (0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_box_pack_start (GTK_BOX (main_hbox), vbox, TRUE, TRUE, 0); - hbox = gtk_hbox_new (0, FALSE); + hbox = gtk_box_new (GTK_ORIENTATION_HORIZONTAL, 0); gtk_box_pack_start (GTK_BOX (vbox), hbox, FALSE, FALSE, 0); label = gtk_label_new ("This label may be ellipsized\nto make it fit."); gtk_box_pack_start (GTK_BOX (hbox), label, TRUE, TRUE, 0); - combo = gtk_combo_box_new_text (); - gtk_combo_box_append_text (GTK_COMBO_BOX (combo), "NONE"); - gtk_combo_box_append_text (GTK_COMBO_BOX (combo), "START"); - gtk_combo_box_append_text (GTK_COMBO_BOX (combo), "MIDDLE"); - gtk_combo_box_append_text (GTK_COMBO_BOX (combo), "END"); + combo = gtk_combo_box_text_new (); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "NONE"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "START"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "MIDDLE"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (combo), "END"); gtk_combo_box_set_active (GTK_COMBO_BOX (combo), 0); gtk_box_pack_start (GTK_BOX (hbox), combo, TRUE, TRUE, 0); @@ -236,17 +236,17 @@ create_widgets (void) button = gtk_check_button_new_with_mnemonic ("_Check button"); gtk_box_pack_start (GTK_BOX (vbox), button, FALSE, FALSE, 0); - cb = gtk_combo_box_new_text (); + cb = gtk_combo_box_text_new (); entry = gtk_entry_new (); gtk_widget_show (entry); gtk_container_add (GTK_CONTAINER (cb), entry); - gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "item0"); - gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "item1"); - gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "item1"); - gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "item2"); - gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "item2"); - gtk_combo_box_append_text (GTK_COMBO_BOX (cb), "item2"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), "item0"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), "item1"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), "item1"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), "item2"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), "item2"); + gtk_combo_box_text_append_text (GTK_COMBO_BOX_TEXT (cb), "item2"); gtk_entry_set_text (GTK_ENTRY (entry), "hello world ♥ foo"); gtk_editable_select_region (GTK_EDITABLE (entry), 0, -1); gtk_box_pack_start (GTK_BOX (vbox), cb, TRUE, TRUE, 0); @@ -306,12 +306,11 @@ main (int argc, G_CALLBACK (gtk_main_quit), NULL); - vbox = gtk_vbox_new (0, FALSE); + vbox = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_container_add (GTK_CONTAINER (window), vbox); - scale = gtk_hscale_new_with_range (0, - G_PI * 2, - 0.01); + scale = gtk_scale_new_with_range (GTK_ORIENTATION_HORIZONTAL, + 0, G_PI * 2, 0.01); gtk_box_pack_start (GTK_BOX (vbox), scale, FALSE, FALSE, 0); button = gtk_button_new_with_label ("Remove child 2"); @@ -327,7 +326,7 @@ main (int argc, } else { - offscreen = gtk_vpaned_new (); + offscreen = gtk_paned_new (GTK_ORIENTATION_VERTICAL); } gtk_box_pack_start (GTK_BOX (vbox), offscreen, TRUE, TRUE, 0); @@ -351,7 +350,7 @@ main (int argc, G_CALLBACK (scale_changed), offscreen2); - box2 = gtk_vbox_new (FALSE, 0); + box2 = gtk_box_new (GTK_ORIENTATION_VERTICAL, 0); gtk_offscreen_box_add2 (GTK_OFFSCREEN_BOX (offscreen2), box2); widget2 = gtk_button_new_with_label ("Offscreen in offscreen"); @@ -373,21 +372,6 @@ main (int argc, G_CALLBACK (remove_clicked), widget); - /* redirect */ - if (0) - { - GtkWidget *redirect_win; - - redirect_win = gtk_window_new (GTK_WINDOW_TOPLEVEL); - gtk_window_set_default_size (GTK_WINDOW (redirect_win), 400,400); - gtk_widget_show (redirect_win); - gtk_widget_realize (redirect_win); - gtk_widget_realize (window); - gdk_window_redirect_to_drawable (window->window, - GDK_DRAWABLE (redirect_win->window), - 0, 0, 0, 0, -1, -1); - } - gtk_main (); return 0;