diff options
author | Tim Janik <timj@gtk.org> | 1998-07-17 00:03:35 +0000 |
---|---|---|
committer | Tim Janik <timj@src.gnome.org> | 1998-07-17 00:03:35 +0000 |
commit | ca17982ed272888a5120db6951ad15e216596e30 (patch) | |
tree | 7a1fd041b6e3e504135322917d3a6835dc985e60 /gtk/gtkarrow.c | |
parent | 699dcbab17cb1525c065323dc9fb549ec8704c78 (diff) | |
download | gtk+-ca17982ed272888a5120db6951ad15e216596e30.tar.gz |
use misc->xpad for x calculation instead of ypad (typo). (gtk_arrow_set):
Fri Jul 17 01:21:32 1998 Tim Janik <timj@gtk.org>
* gtk/gtkarrow.c (gtk_arrow_expose): use misc->xpad for x calculation
instead of ypad (typo).
(gtk_arrow_set): clear all of the arrow's allocation (left a 1 pixel
border around the allocation).
(gtk_arrow_init): the static requisition needs to be setup in this
function rather than gtk_widget_new(), so arrow creation works without
the gtk_arrow_new() constructing.
(gtk_arrow_expose): return TRUE, since we actually handled the expose.
* gtk/gtkwidget.c (gtk_widget_real_size_request): provide a default
implementation for GtkWidget::size_request, so size requisition for
simple statically sized widgets like GtkArrow works.
Diffstat (limited to 'gtk/gtkarrow.c')
-rw-r--r-- | gtk/gtkarrow.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/gtk/gtkarrow.c b/gtk/gtkarrow.c index adccf52e1b..566b5ecc09 100644 --- a/gtk/gtkarrow.c +++ b/gtk/gtkarrow.c @@ -136,6 +136,9 @@ gtk_arrow_init (GtkArrow *arrow) { GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW); + GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2; + GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2; + arrow->arrow_type = GTK_ARROW_RIGHT; arrow->shadow_type = GTK_SHADOW_OUT; } @@ -146,10 +149,7 @@ gtk_arrow_new (GtkArrowType arrow_type, { GtkArrow *arrow; - arrow = gtk_type_new (gtk_arrow_get_type ()); - - GTK_WIDGET (arrow)->requisition.width = MIN_ARROW_SIZE + GTK_MISC (arrow)->xpad * 2; - GTK_WIDGET (arrow)->requisition.height = MIN_ARROW_SIZE + GTK_MISC (arrow)->ypad * 2; + arrow = gtk_type_new (GTK_TYPE_ARROW); arrow->arrow_type = arrow_type; arrow->shadow_type = shadow_type; @@ -174,10 +174,10 @@ gtk_arrow_set (GtkArrow *arrow, if (GTK_WIDGET_DRAWABLE (arrow)) { gdk_window_clear_area (GTK_WIDGET (arrow)->window, - GTK_WIDGET (arrow)->allocation.x + 1, - GTK_WIDGET (arrow)->allocation.y + 1, - GTK_WIDGET (arrow)->allocation.width - 2, - GTK_WIDGET (arrow)->allocation.height - 2); + GTK_WIDGET (arrow)->allocation.x, + GTK_WIDGET (arrow)->allocation.y, + GTK_WIDGET (arrow)->allocation.width, + GTK_WIDGET (arrow)->allocation.height); gtk_widget_queue_draw (GTK_WIDGET (arrow)); } } @@ -209,7 +209,7 @@ gtk_arrow_expose (GtkWidget *widget, extent = MIN (width, height); x = ((widget->allocation.x + misc->xpad) * (1.0 - misc->xalign) + - (widget->allocation.x + widget->allocation.width - extent - misc->ypad) * misc->xalign); + (widget->allocation.x + widget->allocation.width - extent - misc->xpad) * misc->xalign); y = ((widget->allocation.y + misc->ypad) * (1.0 - misc->yalign) + (widget->allocation.y + widget->allocation.height - extent - misc->ypad) * misc->yalign); @@ -232,5 +232,5 @@ gtk_arrow_expose (GtkWidget *widget, x, y, extent, extent); } - return FALSE; + return TRUE; } |