summaryrefslogtreecommitdiff
path: root/gtk/gtkbutton.c
diff options
context:
space:
mode:
authorOwen Taylor <otaylor@redhat.com>1998-11-06 16:03:17 +0000
committerOwen Taylor <otaylor@src.gnome.org>1998-11-06 16:03:17 +0000
commit093032a4c1940919ef403556d4912f371c3bfc24 (patch)
tree78ec24e0d6ce2d84453f27ba496673f53206db8e /gtk/gtkbutton.c
parent4b0e615fc5e2ab8c996f08e5401ba459eca7f078 (diff)
downloadgtk+-themes-2.tar.gz
Queue a clear/redraw, not just a redraw, so the focus gets undrawnthemes-2
Thu Nov 5 12:06:16 1998 Owen Taylor <otaylor@redhat.com> * gtk/gtkcheckbutton.c (gtk_check_button_draw_focus): Queue a clear/redraw, not just a redraw, so the focus gets undrawn properly. * gtk/gtktogglebutton.c (gtk_toggle_button_unrealize): Chain to gtk_widget_unrealize() instead of duplicating code. Wed Nov 4 14:34:51 1998 Owen Taylor <otaylor@redhat.com> * gdk/gdk.c gdk/gdkprivate.h gdk/gdkwindow.c: Removed last vestiges of old DND. Tue Nov 3 12:27:52 1998 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c: Restored inner border to entries, erase cursors to background image. Fri Oct 30 12:09:21 1998 Owen Taylor <otaylor@redhat.com> * gtk/gtkentry.c gtk/gtkstyle.[ch]: removed paint_entry() - it was identical to paint_flat_box(). * gtk/gtkstyle.c: Coding style fixups. * gtk/gtkwindow.c (gtk_window_move_resize): removed useless test. * gtk/gtkframe.c gtkstyle.[ch] gtknotebook.c: Change 'side' for paint_[box/shadow]_gap and paint_extension to be GtkPositionType instead of a random int. * gtk/gtkaspectframe.c (gtk_aspect_frame_paint): Use "frame" as detail - an aspectframe should draw identical to a frame. Tue Oct 27 09:58:11 1998 Owen Taylor <otaylor@redhat.com> * gdk/gdkwindow.c (gdk_window_merge_child_shapes): renamed from combine_child_shapes(). * gdk/gdkwindow.c: Merge propagate_shapes() and propagate_combine_shapes() to remove code duplication.
Diffstat (limited to 'gtk/gtkbutton.c')
-rw-r--r--gtk/gtkbutton.c138
1 files changed, 65 insertions, 73 deletions
diff --git a/gtk/gtkbutton.c b/gtk/gtkbutton.c
index d07eeab576..7ea658af2c 100644
--- a/gtk/gtkbutton.c
+++ b/gtk/gtkbutton.c
@@ -507,83 +507,75 @@ static void
gtk_button_paint (GtkWidget *widget,
GdkRectangle *area)
{
- GtkButton *button;
- GtkShadowType shadow_type;
- gint width, height;
- gint x, y;
+ GtkButton *button;
+ GtkShadowType shadow_type;
+ gint width, height;
+ gint x, y;
- if (GTK_WIDGET_DRAWABLE (widget))
- {
- button = GTK_BUTTON (widget);
+ if (GTK_WIDGET_DRAWABLE (widget))
+ {
+ button = GTK_BUTTON (widget);
- x = 0;
- y = 0;
- width = widget->allocation.width - GTK_CONTAINER (widget)->border_width * 2;
- height = widget->allocation.height - GTK_CONTAINER (widget)->border_width * 2;
-
- if (GTK_WIDGET_HAS_DEFAULT (widget) &&
- GTK_BUTTON (widget)->relief == GTK_RELIEF_NORMAL)
- {
- gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
- gdk_window_clear_area (widget->window, area->x, area->y, area->width, area->height);
- gtk_paint_box (widget->style, widget->window,
- GTK_STATE_NORMAL, GTK_SHADOW_IN,
- area, widget, "buttondefault",
- x, y, width, height);
- }
- else
- {
- gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
- gdk_window_clear_area (widget->window, area->x, area->y, area->width, area->height);
- }
- if (GTK_WIDGET_CAN_DEFAULT (widget))
- {
- x += widget->style->klass->xthickness;
- y += widget->style->klass->ythickness;
- width -= 2 * x + DEFAULT_SPACING;
- height -= 2 * y + DEFAULT_SPACING;
- x += DEFAULT_LEFT_POS;
- y += DEFAULT_TOP_POS;
- }
+ x = 0;
+ y = 0;
+ width = widget->allocation.width - GTK_CONTAINER (widget)->border_width * 2;
+ height = widget->allocation.height - GTK_CONTAINER (widget)->border_width * 2;
+
+ gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
+ gdk_window_clear_area (widget->window, area->x, area->y, area->width, area->height);
+
+ if (GTK_WIDGET_HAS_DEFAULT (widget) &&
+ GTK_BUTTON (widget)->relief == GTK_RELIEF_NORMAL)
+ {
+ gtk_paint_box (widget->style, widget->window,
+ GTK_STATE_NORMAL, GTK_SHADOW_IN,
+ area, widget, "buttondefault",
+ x, y, width, height);
+ }
+
+ if (GTK_WIDGET_CAN_DEFAULT (widget))
+ {
+ x += widget->style->klass->xthickness;
+ y += widget->style->klass->ythickness;
+ width -= 2 * x + DEFAULT_SPACING;
+ height -= 2 * y + DEFAULT_SPACING;
+ x += DEFAULT_LEFT_POS;
+ y += DEFAULT_TOP_POS;
+ }
- if (GTK_WIDGET_HAS_FOCUS (widget))
- {
- x += 1;
- y += 1;
- width -= 2;
- height -= 2;
- }
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+ {
+ x += 1;
+ y += 1;
+ width -= 2;
+ height -= 2;
+ }
- if (GTK_WIDGET_STATE (widget) == GTK_STATE_ACTIVE)
- shadow_type = GTK_SHADOW_IN;
- else
- shadow_type = GTK_SHADOW_OUT;
-
- if ((button->relief == GTK_RELIEF_NONE) &&
- ((GTK_WIDGET_STATE(widget) == GTK_STATE_NORMAL) ||
- (GTK_WIDGET_STATE(widget) == GTK_STATE_INSENSITIVE)))
- {
- gdk_window_set_back_pixmap (widget->window, NULL, TRUE);
- gdk_window_clear_area (widget->window, area->x, area->y, area->width, area->height);
- }
- else
- gtk_paint_box (widget->style, widget->window,
- GTK_WIDGET_STATE (widget),
- shadow_type, area, widget, "button",
- x, y, width, height);
+ if (GTK_WIDGET_STATE (widget) == GTK_STATE_ACTIVE)
+ shadow_type = GTK_SHADOW_IN;
+ else
+ shadow_type = GTK_SHADOW_OUT;
+
+ if ((button->relief != GTK_RELIEF_NONE) ||
+ ((GTK_WIDGET_STATE(widget) != GTK_STATE_NORMAL) &&
+ (GTK_WIDGET_STATE(widget) != GTK_STATE_INSENSITIVE)))
+ gtk_paint_box (widget->style, widget->window,
+ GTK_WIDGET_STATE (widget),
+ shadow_type, area, widget, "button",
+ x, y, width, height);
- if (GTK_WIDGET_HAS_FOCUS (widget))
- {
- x -= 1;
- y -= 1;
- width += 2;
- height += 2;
+ if (GTK_WIDGET_HAS_FOCUS (widget))
+ {
+ x -= 1;
+ y -= 1;
+ width += 2;
+ height += 2;
- gtk_paint_focus (widget->style, widget->window,
- area, widget, "button",
- x, y, width - 1, height - 1);
- }
- }
+ gtk_paint_focus (widget->style, widget->window,
+ area, widget, "button",
+ x, y, width - 1, height - 1);
+ }
+ }
}
static void
@@ -616,13 +608,13 @@ gtk_button_draw (GtkWidget *widget,
static void
gtk_button_draw_focus (GtkWidget *widget)
{
- gtk_widget_draw (widget, NULL);
+ gtk_widget_draw (widget, NULL);
}
static void
gtk_button_draw_default (GtkWidget *widget)
{
- gtk_widget_draw (widget, NULL);
+ gtk_widget_draw (widget, NULL);
}
static gint