X-Git-Url: https://git.stderr.nl/gitweb?p=rodin%2Fchimara.git;a=blobdiff_plain;f=tests%2Fbarf.c;h=42b535f8d890aebcf60dc1ae3715dbeea777c3a2;hp=36e51514c7c7e70d2f90c3a62c960ea141c5d941;hb=a2e82e317a6000511953c2dbc0eb1026c7b245a7;hpb=378e7e222af1027d8c6330f086511fe5f283e376 diff --git a/tests/barf.c b/tests/barf.c index 36e5151..42b535f 100644 --- a/tests/barf.c +++ b/tests/barf.c @@ -13,6 +13,10 @@ static gulong pager_handler = 0; static gulong expose_handler = 0; static gboolean currently_paging = FALSE; +static gint promptwidth, promptheight; +static PangoLayout *prompt; +static GdkColor red, white; + static gboolean quit() { @@ -65,8 +69,8 @@ move_pager_and_get_scroll_distance(GtkTextView *textview) gtk_text_view_get_iter_location(textview, &newpager, &pagerpos); gtk_text_view_get_iter_location(textview, &end, &endpos); - g_printerr("View height = %d\n", visiblerect.height); - g_printerr("End - Pager = %d\n", endpos.y - pagerpos.y); + //g_printerr("View height = %d\n", visiblerect.height); + //g_printerr("End - Pager = %d\n", endpos.y - pagerpos.y); return endpos.y - pagerpos.y; } @@ -161,14 +165,7 @@ pager_wait(GtkTextView *textview, GdkEventKey *event, GtkTextBuffer *buffer) static gboolean expose_prompt(GtkTextView *textview, GdkEventExpose *event) { - PangoLayout *prompt = gtk_widget_create_pango_layout(GTK_WIDGET(textview), "More"); - gint promptwidth, promptheight; - pango_layout_get_pixel_size(prompt, &promptwidth, &promptheight); - GdkGC *context = gdk_gc_new(GDK_DRAWABLE(event->window)); - GdkColor red, white; - gdk_color_parse("red", &red); - gdk_color_parse("white", &white); gint winx, winy, winwidth, winheight; gdk_window_get_position(event->window, &winx, &winy); @@ -207,6 +204,12 @@ main(int argc, char **argv) /* Set up the textview widget to receive exposure events, must be done after widget has been shown */ gdk_window_set_events(gtk_widget_get_window(textview), GDK_EXPOSURE_MASK); + /* Create the 'more' prompt */ + prompt = gtk_widget_create_pango_layout(GTK_WIDGET(textview), "More"); + pango_layout_get_pixel_size(prompt, &promptwidth, &promptheight); + gdk_color_parse("red", &red); + gdk_color_parse("white", &white); + /* Connect paging signals */ GtkTextBuffer *buffer = gtk_text_view_get_buffer(GTK_TEXT_VIEW(textview)); g_signal_connect_after(buffer, "insert-text", G_CALLBACK(after_insert), textview); @@ -229,5 +232,7 @@ main(int argc, char **argv) g_signal_connect(button, "clicked", G_CALLBACK(barf), textview); gtk_main(); + + g_object_unref(prompt); return 0; }