diff options
-rw-r--r-- | libmetacity/meta-theme-gtk.c | 60 | ||||
-rw-r--r-- | libmetacity/meta-theme-impl-private.h | 5 | ||||
-rw-r--r-- | libmetacity/meta-theme-impl.c | 58 | ||||
-rw-r--r-- | libmetacity/meta-theme.c | 41 | ||||
-rw-r--r-- | libmetacity/meta-theme.h | 7 | ||||
-rw-r--r-- | src/ui/frames.c | 190 | ||||
-rw-r--r-- | theme-viewer/theme-viewer-window.c | 109 |
7 files changed, 237 insertions, 233 deletions
diff --git a/libmetacity/meta-theme-gtk.c b/libmetacity/meta-theme-gtk.c index 708526d6..9fcf25b2 100644 --- a/libmetacity/meta-theme-gtk.c +++ b/libmetacity/meta-theme-gtk.c @@ -734,64 +734,6 @@ get_class_from_button_function (MetaButtonFunction function) } static void -get_button_rect (MetaButtonFunction function, - const MetaFrameGeometry *fgeom, - GdkRectangle *rect) -{ - switch (function) - { - case META_BUTTON_FUNCTION_CLOSE: - *rect = fgeom->close_rect.visible; - break; - - case META_BUTTON_FUNCTION_SHADE: - *rect = fgeom->shade_rect.visible; - break; - - case META_BUTTON_FUNCTION_UNSHADE: - *rect = fgeom->unshade_rect.visible; - break; - - case META_BUTTON_FUNCTION_ABOVE: - *rect = fgeom->above_rect.visible; - break; - - case META_BUTTON_FUNCTION_UNABOVE: - *rect = fgeom->unabove_rect.visible; - break; - - case META_BUTTON_FUNCTION_STICK: - *rect = fgeom->stick_rect.visible; - break; - - case META_BUTTON_FUNCTION_UNSTICK: - *rect = fgeom->unstick_rect.visible; - break; - - case META_BUTTON_FUNCTION_MAXIMIZE: - *rect = fgeom->max_rect.visible; - break; - - case META_BUTTON_FUNCTION_MINIMIZE: - *rect = fgeom->min_rect.visible; - break; - - case META_BUTTON_FUNCTION_MENU: - *rect = fgeom->menu_rect.visible; - break; - - case META_BUTTON_FUNCTION_APPMENU: - *rect = fgeom->appmenu_rect.visible; - break; - - case META_BUTTON_FUNCTION_LAST: - default: - g_assert_not_reached (); - break; - } -} - -static void meta_theme_gtk_draw_frame (MetaThemeImpl *impl, MetaFrameStyle *style, MetaStyleInfo *style_info, @@ -909,7 +851,7 @@ meta_theme_gtk_draw_frame (MetaThemeImpl *impl, cairo_save (cr); - get_button_rect (button_function, fgeom, &tmp_rect); + get_button_rect_for_function (button_function, fgeom, &tmp_rect); button_rect.x = tmp_rect.x / scale; button_rect.y = tmp_rect.y / scale; diff --git a/libmetacity/meta-theme-impl-private.h b/libmetacity/meta-theme-impl-private.h index 0144f797..14d90fda 100644 --- a/libmetacity/meta-theme-impl-private.h +++ b/libmetacity/meta-theme-impl-private.h @@ -89,6 +89,11 @@ MetaFrameStyleSet *meta_theme_impl_get_style_set (MetaThemeImpl *impl MetaFrameType type); G_GNUC_INTERNAL +void get_button_rect_for_function (MetaButtonFunction function, + const MetaFrameGeometry *fgeom, + GdkRectangle *rect); + +G_GNUC_INTERNAL void scale_border (GtkBorder *border, double factor); diff --git a/libmetacity/meta-theme-impl.c b/libmetacity/meta-theme-impl.c index f5583baf..773392c2 100644 --- a/libmetacity/meta-theme-impl.c +++ b/libmetacity/meta-theme-impl.c @@ -132,6 +132,64 @@ meta_theme_impl_get_style_set (MetaThemeImpl *impl, } void +get_button_rect_for_function (MetaButtonFunction function, + const MetaFrameGeometry *fgeom, + GdkRectangle *rect) +{ + switch (function) + { + case META_BUTTON_FUNCTION_CLOSE: + *rect = fgeom->close_rect.visible; + break; + + case META_BUTTON_FUNCTION_SHADE: + *rect = fgeom->shade_rect.visible; + break; + + case META_BUTTON_FUNCTION_UNSHADE: + *rect = fgeom->unshade_rect.visible; + break; + + case META_BUTTON_FUNCTION_ABOVE: + *rect = fgeom->above_rect.visible; + break; + + case META_BUTTON_FUNCTION_UNABOVE: + *rect = fgeom->unabove_rect.visible; + break; + + case META_BUTTON_FUNCTION_STICK: + *rect = fgeom->stick_rect.visible; + break; + + case META_BUTTON_FUNCTION_UNSTICK: + *rect = fgeom->unstick_rect.visible; + break; + + case META_BUTTON_FUNCTION_MAXIMIZE: + *rect = fgeom->max_rect.visible; + break; + + case META_BUTTON_FUNCTION_MINIMIZE: + *rect = fgeom->min_rect.visible; + break; + + case META_BUTTON_FUNCTION_MENU: + *rect = fgeom->menu_rect.visible; + break; + + case META_BUTTON_FUNCTION_APPMENU: + *rect = fgeom->appmenu_rect.visible; + break; + + case META_BUTTON_FUNCTION_LAST: + default: + g_assert_not_reached (); + break; + } +} + +void scale_border (GtkBorder *border, double factor) { diff --git a/libmetacity/meta-theme.c b/libmetacity/meta-theme.c index 3643b51f..70aa2ea1 100644 --- a/libmetacity/meta-theme.c +++ b/libmetacity/meta-theme.c @@ -647,17 +647,18 @@ meta_theme_calc_geometry (MetaTheme *theme, } void -meta_theme_draw_frame (MetaTheme *theme, - const gchar *variant, - cairo_t *cr, - MetaFrameType type, - MetaFrameFlags flags, - gint client_width, - gint client_height, - const gchar *title, - MetaButtonState button_states[META_BUTTON_FUNCTION_LAST], - GdkPixbuf *mini_icon, - GdkPixbuf *icon) +meta_theme_draw_frame (MetaTheme *theme, + const gchar *variant, + cairo_t *cr, + MetaFrameType type, + MetaFrameFlags flags, + gint client_width, + gint client_height, + const gchar *title, + MetaButtonStateFunc func, + gpointer user_data, + GdkPixbuf *mini_icon, + GdkPixbuf *icon) { MetaFrameStyle *style; MetaThemeImplClass *impl_class; @@ -665,6 +666,8 @@ meta_theme_draw_frame (MetaTheme *theme, gint title_height; PangoLayout *title_layout; MetaFrameGeometry fgeom; + gint i; + MetaButtonState button_states[META_BUTTON_FUNCTION_LAST]; g_return_if_fail (type < META_FRAME_TYPE_LAST); @@ -683,6 +686,22 @@ meta_theme_draw_frame (MetaTheme *theme, title_height, flags, client_width, client_height, &theme->button_layout, type, &fgeom); + for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++) + { + MetaButtonState state; + GdkRectangle rect; + + get_button_rect_for_function (i, &fgeom, &rect); + + state = META_BUTTON_STATE_NORMAL; + if (func != NULL) + state = (* func) (i, rect, user_data); + + g_assert (state >= META_BUTTON_STATE_NORMAL && state < META_BUTTON_STATE_LAST); + + button_states[i] = state; + } + impl_class->draw_frame (theme->impl, style, style_info, cr, &fgeom, title_layout, flags, button_states, mini_icon, icon); diff --git a/libmetacity/meta-theme.h b/libmetacity/meta-theme.h index d515f898..369e56cf 100644 --- a/libmetacity/meta-theme.h +++ b/libmetacity/meta-theme.h @@ -30,6 +30,10 @@ G_BEGIN_DECLS typedef struct _MetaButtonSpace MetaButtonSpace; typedef struct _MetaFrameGeometry MetaFrameGeometry; +typedef MetaButtonState (* MetaButtonStateFunc) (MetaButtonFunction function, + GdkRectangle rect, + gpointer user_data); + #define META_TYPE_THEME meta_theme_get_type () G_DECLARE_FINAL_TYPE (MetaTheme, meta_theme, META, THEME, GObject) @@ -186,7 +190,8 @@ void meta_theme_draw_frame (MetaTheme *theme, gint client_width, gint client_height, const gchar *title, - MetaButtonState button_states[META_BUTTON_FUNCTION_LAST], + MetaButtonStateFunc func, + gpointer user_data, GdkPixbuf *mini_icon, GdkPixbuf *icon); diff --git a/src/ui/frames.c b/src/ui/frames.c index c37a09aa..b730928f 100644 --- a/src/ui/frames.c +++ b/src/ui/frames.c @@ -2268,120 +2268,147 @@ meta_frames_draw (GtkWidget *widget, return TRUE; } -static void -meta_frames_paint (MetaFrames *frames, - MetaUIFrame *frame, - cairo_t *cr) +typedef struct { - MetaFrameFlags flags; - MetaFrameType type; - GdkPixbuf *mini_icon; - GdkPixbuf *icon; - int w, h; - MetaButtonState button_states[META_BUTTON_FUNCTION_LAST]; + MetaFrames *frames; + MetaUIFrame *frame; +} ButtonStateData; + +static MetaButtonState +update_button_state (MetaButtonFunction function, + GdkRectangle rect, + gpointer user_data) +{ + ButtonStateData *data; + MetaButtonState state; Window grab_frame; - int i; MetaGrabOp grab_op; + MetaFrameControl control; - for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++) - button_states[i] = META_BUTTON_STATE_NORMAL; + data = (ButtonStateData *) user_data; - grab_frame = meta_core_get_grab_frame (frames->xdisplay); - grab_op = meta_core_get_grab_op (frames->xdisplay); - if (grab_frame != frame->xwindow) + state = META_BUTTON_STATE_NORMAL; + + grab_frame = meta_core_get_grab_frame (data->frames->xdisplay); + grab_op = meta_core_get_grab_op (data->frames->xdisplay); + if (grab_frame != data->frame->xwindow) grab_op = META_GRAB_OP_NONE; + control = data->frame->prelit_control; + /* Set prelight state */ - switch (frame->prelit_control) + if (control == META_FRAME_CONTROL_MENU && + function == META_BUTTON_FUNCTION_MENU) { - case META_FRAME_CONTROL_MENU: if (grab_op == META_GRAB_OP_CLICKING_MENU) - button_states[META_BUTTON_FUNCTION_MENU] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_MENU] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_APPMENU: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_APPMENU && + function == META_BUTTON_FUNCTION_APPMENU) + { if (grab_op == META_GRAB_OP_CLICKING_MENU) - button_states[META_BUTTON_FUNCTION_APPMENU] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_APPMENU] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_MINIMIZE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_MINIMIZE && + function == META_BUTTON_FUNCTION_MINIMIZE) + { if (grab_op == META_GRAB_OP_CLICKING_MINIMIZE) - button_states[META_BUTTON_FUNCTION_MINIMIZE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_MINIMIZE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_MAXIMIZE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_MAXIMIZE && + function == META_BUTTON_FUNCTION_MAXIMIZE) + { if (grab_op == META_GRAB_OP_CLICKING_MAXIMIZE) - button_states[META_BUTTON_FUNCTION_MAXIMIZE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_MAXIMIZE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_UNMAXIMIZE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_UNMAXIMIZE && + function == META_BUTTON_FUNCTION_MAXIMIZE) + { if (grab_op == META_GRAB_OP_CLICKING_UNMAXIMIZE) - button_states[META_BUTTON_FUNCTION_MAXIMIZE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_MAXIMIZE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_SHADE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_SHADE && + function == META_BUTTON_FUNCTION_SHADE) + { if (grab_op == META_GRAB_OP_CLICKING_SHADE) - button_states[META_BUTTON_FUNCTION_SHADE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_SHADE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_UNSHADE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_UNSHADE && + function == META_BUTTON_FUNCTION_UNSHADE) + { if (grab_op == META_GRAB_OP_CLICKING_UNSHADE) - button_states[META_BUTTON_FUNCTION_UNSHADE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_UNSHADE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_ABOVE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_ABOVE && + function == META_BUTTON_FUNCTION_ABOVE) + { if (grab_op == META_GRAB_OP_CLICKING_ABOVE) - button_states[META_BUTTON_FUNCTION_ABOVE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_ABOVE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_UNABOVE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_UNABOVE && + function == META_BUTTON_FUNCTION_UNABOVE) + { if (grab_op == META_GRAB_OP_CLICKING_UNABOVE) - button_states[META_BUTTON_FUNCTION_UNABOVE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_UNABOVE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_STICK: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_STICK && + function == META_BUTTON_FUNCTION_STICK) + { if (grab_op == META_GRAB_OP_CLICKING_STICK) - button_states[META_BUTTON_FUNCTION_STICK] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_STICK] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_UNSTICK: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_UNSTICK && + function == META_BUTTON_FUNCTION_UNSTICK) + { if (grab_op == META_GRAB_OP_CLICKING_UNSTICK) - button_states[META_BUTTON_FUNCTION_UNSTICK] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_UNSTICK] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_DELETE: + state = META_BUTTON_STATE_PRELIGHT; + } + else if (control == META_FRAME_CONTROL_DELETE && + function == META_BUTTON_FUNCTION_CLOSE) + { if (grab_op == META_GRAB_OP_CLICKING_DELETE) - button_states[META_BUTTON_FUNCTION_CLOSE] = META_BUTTON_STATE_PRESSED; + state = META_BUTTON_STATE_PRESSED; else - button_states[META_BUTTON_FUNCTION_CLOSE] = META_BUTTON_STATE_PRELIGHT; - break; - case META_FRAME_CONTROL_NONE: - case META_FRAME_CONTROL_TITLE: - case META_FRAME_CONTROL_RESIZE_SE: - case META_FRAME_CONTROL_RESIZE_S: - case META_FRAME_CONTROL_RESIZE_SW: - case META_FRAME_CONTROL_RESIZE_N: - case META_FRAME_CONTROL_RESIZE_NE: - case META_FRAME_CONTROL_RESIZE_NW: - case META_FRAME_CONTROL_RESIZE_W: - case META_FRAME_CONTROL_RESIZE_E: - case META_FRAME_CONTROL_CLIENT_AREA: - break; - default: - break; + state = META_BUTTON_STATE_PRELIGHT; } + return state; +} + +static void +meta_frames_paint (MetaFrames *frames, + MetaUIFrame *frame, + cairo_t *cr) +{ + MetaFrameFlags flags; + MetaFrameType type; + GdkPixbuf *mini_icon; + GdkPixbuf *icon; + int w, h; + ButtonStateData data; + meta_core_get (frames->xdisplay, frame->xwindow, META_CORE_GET_FRAME_FLAGS, &flags, META_CORE_GET_FRAME_TYPE, &type, @@ -2391,9 +2418,12 @@ meta_frames_paint (MetaFrames *frames, META_CORE_GET_CLIENT_HEIGHT, &h, META_CORE_GET_END); + data.frames = frames; + data.frame = frame; + meta_theme_draw_frame (meta_ui_get_theme (), frame->theme_variant, cr, type, flags, w, h, frame->title, - button_states, mini_icon, icon); + update_button_state, &data, mini_icon, icon); } static gboolean diff --git a/theme-viewer/theme-viewer-window.c b/theme-viewer/theme-viewer-window.c index ad56ed42..6b1d9f9f 100644 --- a/theme-viewer/theme-viewer-window.c +++ b/theme-viewer/theme-viewer-window.c @@ -62,8 +62,6 @@ struct _ThemeViewerWindow MetaFrameBorders borders; - MetaButtonState button_states[META_BUTTON_FUNCTION_LAST]; - gboolean button_pressed; GdkPixbuf *mini_icon; @@ -185,8 +183,7 @@ benchmark_draw_time (ThemeViewerWindow *window, meta_theme_draw_frame (theme, window->theme_variant, cr, window->frame_type, window->frame_flags, width, height, "Benchmark", - window->button_states, - window->mini_icon, window->icon); + NULL, NULL, window->mini_icon, window->icon); cairo_destroy (cr); cairo_surface_destroy (surface); @@ -302,18 +299,6 @@ get_icon (gint size) return gtk_icon_theme_load_icon (theme, icon, size, 0, NULL);; } -static gboolean -point_in_rect (gint x, - gint y, - GdkRectangle rect) -{ - if (x >= rect.x && x < (rect.x + rect.width) && - y >= rect.y && y < (rect.y + rect.height)) - return TRUE; - - return FALSE; -} - static void get_client_width_and_height (GtkWidget *widget, ThemeViewerWindow *window, @@ -327,85 +312,48 @@ get_client_width_and_height (GtkWidget *widget, *height -= window->borders.total.top + window->borders.total.bottom; } -static void -update_button_state (GtkWidget *widget, - GdkDevice *device, - ThemeViewerWindow *window) +static MetaButtonState +update_button_state (MetaButtonFunction function, + GdkRectangle rect, + gpointer user_data) { + ThemeViewerWindow *window; + MetaButtonState state; + GdkDisplay *display; + GdkSeat *seat; + GdkDevice *device; gint x; gint y; - gint width; - gint height; - MetaFrameGeometry fgeom; - MetaButtonFunction function; - guint i; - gdk_window_get_device_position (gtk_widget_get_window (widget), - device, &x, &y, NULL); + window = THEME_VIEWER_WINDOW (user_data); + state = META_BUTTON_STATE_NORMAL; - get_client_width_and_height (widget, window, &width, &height); + display = gdk_display_get_default (); + seat = gdk_display_get_default_seat (display); + device = gdk_seat_get_pointer (seat); - meta_theme_calc_geometry (window->theme, window->theme_variant, - window->frame_type, window->frame_flags, - width, height, &fgeom); + gdk_window_get_device_position (gtk_widget_get_window (window->theme_box), + device, &x, &y, NULL); x -= PADDING; y -= PADDING; - if (point_in_rect (x, y, fgeom.menu_rect.clickable)) - function = META_BUTTON_FUNCTION_MENU; - - if (point_in_rect (x, y, fgeom.appmenu_rect.clickable)) - function = META_BUTTON_FUNCTION_APPMENU; - - if (point_in_rect (x, y, fgeom.min_rect.clickable)) - function = META_BUTTON_FUNCTION_MINIMIZE; - - if (point_in_rect (x, y, fgeom.max_rect.clickable)) - function = META_BUTTON_FUNCTION_MAXIMIZE; - - if (point_in_rect (x, y, fgeom.close_rect.clickable)) - function = META_BUTTON_FUNCTION_CLOSE; - - if (point_in_rect (x, y, fgeom.shade_rect.clickable)) - function = META_BUTTON_FUNCTION_SHADE; - - if (point_in_rect (x, y, fgeom.unshade_rect.clickable)) - function = META_BUTTON_FUNCTION_UNSHADE; - - if (point_in_rect (x, y, fgeom.above_rect.clickable)) - function = META_BUTTON_FUNCTION_ABOVE; - - if (point_in_rect (x, y, fgeom.unabove_rect.clickable)) - function = META_BUTTON_FUNCTION_UNABOVE; - - if (point_in_rect (x, y, fgeom.stick_rect.clickable)) - function = META_BUTTON_FUNCTION_STICK; - - if (point_in_rect (x, y, fgeom.unstick_rect.clickable)) - function = META_BUTTON_FUNCTION_UNSTICK; - - for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++) + if (x >= rect.x && x < (rect.x + rect.width) && + y >= rect.y && y < (rect.y + rect.height)) { - if (i == function) - { - if (window->button_pressed) - window->button_states[i] = META_BUTTON_STATE_PRESSED; - else - window->button_states[i] = META_BUTTON_STATE_PRELIGHT; - } + if (window->button_pressed) + state = META_BUTTON_STATE_PRESSED; else - window->button_states[i] = META_BUTTON_STATE_NORMAL; + state = META_BUTTON_STATE_PRELIGHT; } - gtk_widget_queue_draw (window->theme_box); + return state; } static void update_button_layout (ThemeViewerWindow *window) { const gchar *text; - gint i; if (!window->theme) return; @@ -413,9 +361,6 @@ update_button_layout (ThemeViewerWindow *window) text = gtk_entry_get_text (GTK_ENTRY (window->button_layout_entry)); meta_theme_set_button_layout (window->theme, text, FALSE); - - for (i = 0; i < META_BUTTON_FUNCTION_LAST; i++) - window->button_states[i] = META_BUTTON_STATE_NORMAL; } static void @@ -778,7 +723,7 @@ theme_box_draw_cb (GtkWidget *widget, meta_theme_draw_frame (window->theme, window->theme_variant, cr, window->frame_type, window->frame_flags, client_width, client_height, "Metacity Theme Viewer", - window->button_states, + update_button_state, window, window->mini_icon, window->icon); return TRUE; @@ -791,7 +736,7 @@ theme_box_button_press_event_cb (GtkWidget *widget, { window->button_pressed = TRUE; - update_button_state (widget, event->device, window); + gtk_widget_queue_draw (window->theme_box); return TRUE; } @@ -803,7 +748,7 @@ theme_box_button_release_event_cb (GtkWidget *widget, { window->button_pressed = FALSE; - update_button_state (widget, event->device, window); + gtk_widget_queue_draw (window->theme_box); return TRUE; } @@ -813,7 +758,7 @@ theme_box_motion_notify_event_cb (GtkWidget *widget, GdkEventMotion *event, ThemeViewerWindow *window) { - update_button_state (widget, event->device, window); + gtk_widget_queue_draw (window->theme_box); return TRUE; } |