diff options
author | Owen Taylor <otaylor@redhat.com> | 1998-11-06 16:03:17 +0000 |
---|---|---|
committer | Owen Taylor <otaylor@src.gnome.org> | 1998-11-06 16:03:17 +0000 |
commit | 093032a4c1940919ef403556d4912f371c3bfc24 (patch) | |
tree | 78ec24e0d6ce2d84453f27ba496673f53206db8e /gtk/gtkbutton.c | |
parent | 4b0e615fc5e2ab8c996f08e5401ba459eca7f078 (diff) | |
download | gtk+-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.c | 138 |
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 |