diff --git a/gtk/gtkdnd-quartz.c b/gtk/gtkdnd-quartz.c index d990029cd8..f541cf1689 100644 --- a/gtk/gtkdnd-quartz.c +++ b/gtk/gtkdnd-quartz.c @@ -347,11 +347,14 @@ gtk_drag_highlight_draw (GtkWidget *widget, { int width = gtk_widget_get_allocated_width (widget); int height = gtk_widget_get_allocated_height (widget); + GtkStyleContext *context; - gtk_paint_shadow (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "dnd", - 0, 0, width, height); + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_DND); + + gtk_render_frame (context, cr, 0, 0, width, height); + + gtk_style_context_restore (context); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */ cairo_set_line_width (cr, 1.0); diff --git a/gtk/gtkdnd.c b/gtk/gtkdnd.c index bb90456026..933172ba9c 100644 --- a/gtk/gtkdnd.c +++ b/gtk/gtkdnd.c @@ -1104,11 +1104,16 @@ gtk_drag_highlight_draw (GtkWidget *widget, { int width = gtk_widget_get_allocated_width (widget); int height = gtk_widget_get_allocated_height (widget); + GtkStyleContext *context; - gtk_paint_shadow (gtk_widget_get_style (widget), cr, - GTK_STATE_NORMAL, GTK_SHADOW_OUT, - widget, "dnd", - 0, 0, width, height); + context = gtk_widget_get_style_context (widget); + + gtk_style_context_save (context); + gtk_style_context_add_class (context, GTK_STYLE_CLASS_DND); + + gtk_render_frame (context, cr, 0, 0, width, height); + + gtk_style_context_restore (context); cairo_set_source_rgb (cr, 0.0, 0.0, 0.0); /* black */ cairo_set_line_width (cr, 1.0); diff --git a/gtk/gtkstylecontext.h b/gtk/gtkstylecontext.h index 97f7e76830..ab9be702e8 100644 --- a/gtk/gtkstylecontext.h +++ b/gtk/gtkstylecontext.h @@ -353,6 +353,13 @@ struct _GtkStyleContextClass */ #define GTK_STYLE_CLASS_FRAME "frame" +/** + * GTK_STYLE_CLASS_DND: + * + * A CSS class for a drag-and-drop indicator + */ +#define GTK_STYLE_CLASS_DND "dnd" + /** * GTK_STYLE_CLASS_INFO: *