< prev index next >
src/java.desktop/unix/native/libawt_xawt/awt/gtk3_interface.c
Print this page
*** 1775,1787 ****
{
if (state_type == GTK_STATE_PRELIGHT &&
(widget_type == CHECK_BOX || widget_type == RADIO_BUTTON)) {
return;
}
! GtkStyleContext* context = get_style(widget_type, detail);
if (widget_type == TOOL_TIP) {
fp_gtk_style_context_add_class(context, "background");
}
GtkStateFlags flags = get_gtk_flags(state_type);
if (has_focus) {
--- 1775,1796 ----
{
if (state_type == GTK_STATE_PRELIGHT &&
(widget_type == CHECK_BOX || widget_type == RADIO_BUTTON)) {
return;
}
!
! GtkStyleContext* context = NULL;
if (widget_type == TOOL_TIP) {
+ context = get_style(widget_type, detail);
fp_gtk_style_context_add_class(context, "background");
+ } else {
+ gtk3_widget = gtk3_get_widget(widget_type);
+ context = fp_gtk_widget_get_style_context (gtk3_widget);
+ fp_gtk_style_context_save (context);
+ if (detail != 0) {
+ transform_detail_string(detail, context);
+ }
}
GtkStateFlags flags = get_gtk_flags(state_type);
if (has_focus) {
*** 1793,1804 ****
if (widget_type == COMBO_BOX_TEXT_FIELD) {
width += height /2;
}
fp_gtk_render_background (context, cr, x, y, width, height);
!
disposeOrRestoreContext(context);
}
static void gtk3_paint_focus(WidgetType widget_type, GtkStateType state_type,
const char *detail, gint x, gint y, gint width, gint height)
{
--- 1802,1816 ----
if (widget_type == COMBO_BOX_TEXT_FIELD) {
width += height /2;
}
fp_gtk_render_background (context, cr, x, y, width, height);
! if (widget_type == TOOL_TIP) {
disposeOrRestoreContext(context);
+ } else {
+ fp_gtk_style_context_restore (context);
+ }
}
static void gtk3_paint_focus(WidgetType widget_type, GtkStateType state_type,
const char *detail, gint x, gint y, gint width, gint height)
{
< prev index next >