summaryrefslogtreecommitdiff
path: root/gtk/gtkarrow.c
diff options
context:
space:
mode:
authorTim Janik <timj@gtk.org>1998-07-17 00:03:35 +0000
committerTim Janik <timj@src.gnome.org>1998-07-17 00:03:35 +0000
commitca17982ed272888a5120db6951ad15e216596e30 (patch)
tree7a1fd041b6e3e504135322917d3a6835dc985e60 /gtk/gtkarrow.c
parent699dcbab17cb1525c065323dc9fb549ec8704c78 (diff)
downloadgtk+-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.c20
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;
}