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.
This commit is contained in:
Tim Janik 1998-07-17 00:03:35 +00:00 committed by Tim Janik
parent 699dcbab17
commit ca17982ed2
9 changed files with 128 additions and 18 deletions

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -1,3 +1,18 @@
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.
Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org> Thu Jul 16 14:16:16 PDT 1998 Manish Singh <yosh@gimp.org>
* gtk-config.in: minor changes to gtk-config: --cflags doesn't * gtk-config.in: minor changes to gtk-config: --cflags doesn't

View File

@ -136,6 +136,9 @@ gtk_arrow_init (GtkArrow *arrow)
{ {
GTK_WIDGET_SET_FLAGS (arrow, GTK_NO_WINDOW); 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->arrow_type = GTK_ARROW_RIGHT;
arrow->shadow_type = GTK_SHADOW_OUT; arrow->shadow_type = GTK_SHADOW_OUT;
} }
@ -146,10 +149,7 @@ gtk_arrow_new (GtkArrowType arrow_type,
{ {
GtkArrow *arrow; GtkArrow *arrow;
arrow = gtk_type_new (gtk_arrow_get_type ()); arrow = gtk_type_new (GTK_TYPE_ARROW);
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 = arrow_type; arrow->arrow_type = arrow_type;
arrow->shadow_type = shadow_type; arrow->shadow_type = shadow_type;
@ -174,10 +174,10 @@ gtk_arrow_set (GtkArrow *arrow,
if (GTK_WIDGET_DRAWABLE (arrow)) if (GTK_WIDGET_DRAWABLE (arrow))
{ {
gdk_window_clear_area (GTK_WIDGET (arrow)->window, gdk_window_clear_area (GTK_WIDGET (arrow)->window,
GTK_WIDGET (arrow)->allocation.x + 1, GTK_WIDGET (arrow)->allocation.x,
GTK_WIDGET (arrow)->allocation.y + 1, GTK_WIDGET (arrow)->allocation.y,
GTK_WIDGET (arrow)->allocation.width - 2, GTK_WIDGET (arrow)->allocation.width,
GTK_WIDGET (arrow)->allocation.height - 2); GTK_WIDGET (arrow)->allocation.height);
gtk_widget_queue_draw (GTK_WIDGET (arrow)); gtk_widget_queue_draw (GTK_WIDGET (arrow));
} }
} }
@ -209,7 +209,7 @@ gtk_arrow_expose (GtkWidget *widget,
extent = MIN (width, height); extent = MIN (width, height);
x = ((widget->allocation.x + misc->xpad) * (1.0 - misc->xalign) + 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) + y = ((widget->allocation.y + misc->ypad) * (1.0 - misc->yalign) +
(widget->allocation.y + widget->allocation.height - extent - misc->ypad) * 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); x, y, extent, extent);
} }
return FALSE; return TRUE;
} }

View File

@ -183,6 +183,8 @@ static void gtk_widget_real_realize (GtkWidget *widget);
static void gtk_widget_real_unrealize (GtkWidget *widget); static void gtk_widget_real_unrealize (GtkWidget *widget);
static void gtk_widget_real_draw (GtkWidget *widget, static void gtk_widget_real_draw (GtkWidget *widget,
GdkRectangle *area); GdkRectangle *area);
static void gtk_widget_real_size_request (GtkWidget *widget,
GtkRequisition *requisition);
static void gtk_widget_real_size_allocate (GtkWidget *widget, static void gtk_widget_real_size_allocate (GtkWidget *widget,
GtkAllocation *allocation); GtkAllocation *allocation);
static gint gtk_widget_real_key_press_event (GtkWidget *widget, static gint gtk_widget_real_key_press_event (GtkWidget *widget,
@ -718,7 +720,7 @@ gtk_widget_class_init (GtkWidgetClass *klass)
klass->unrealize = gtk_widget_real_unrealize; klass->unrealize = gtk_widget_real_unrealize;
klass->draw = gtk_widget_real_draw; klass->draw = gtk_widget_real_draw;
klass->draw_focus = NULL; klass->draw_focus = NULL;
klass->size_request = NULL; klass->size_request = gtk_widget_real_size_request;
klass->size_allocate = gtk_widget_real_size_allocate; klass->size_allocate = gtk_widget_real_size_allocate;
klass->state_changed = NULL; klass->state_changed = NULL;
klass->parent_set = NULL; klass->parent_set = NULL;
@ -3839,13 +3841,16 @@ gtk_widget_real_draw (GtkWidget *widget,
} }
} }
/***************************************** static void
* gtk_widget_real_size_allocate: gtk_widget_real_size_request (GtkWidget *widget,
* GtkRequisition *requisition)
* arguments: {
* g_return_if_fail (widget != NULL);
* results: g_return_if_fail (GTK_IS_WIDGET (widget));
*****************************************/
requisition->width = widget->requisition.width;
requisition->height = widget->requisition.height;
}
static void static void
gtk_widget_real_size_allocate (GtkWidget *widget, gtk_widget_real_size_allocate (GtkWidget *widget,