[gtk/matthiasc/for-main: 1/3] dragicon: Provide default icons for paintables




commit bbe9dabe62146edc1f9bf94d17ffac32e5b05ca6
Author: Matthias Clasen <mclasen redhat com>
Date:   Sun Dec 12 20:43:50 2021 -0500

    dragicon: Provide default icons for paintables
    
    This is easy to do, and makes sense.

 gtk/gtkdragicon.c | 11 ++++++++++-
 1 file changed, 10 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkdragicon.c b/gtk/gtkdragicon.c
index 43c8940e03..63ede6bc1e 100644
--- a/gtk/gtkdragicon.c
+++ b/gtk/gtkdragicon.c
@@ -531,6 +531,15 @@ gtk_drag_icon_create_widget_for_value (const GValue *value)
     {
       return gtk_label_new (g_value_get_string (value));
     }
+  else if (G_VALUE_HOLDS (value, GDK_TYPE_PAINTABLE))
+    {
+      GtkWidget *image;
+
+      image = gtk_image_new_from_paintable (g_value_get_object (value));
+      gtk_widget_add_css_class (image, "large-icons");
+
+      return image;
+    }
   else if (G_VALUE_HOLDS (value, GDK_TYPE_RGBA))
     {
       GtkWidget *swatch;
@@ -568,7 +577,7 @@ gtk_drag_icon_create_widget_for_value (const GValue *value)
       node = gsk_value_get_render_node (value);
       if (node == NULL)
         return NULL;
-      
+
       gsk_render_node_get_bounds (node, &bounds);
       paintable = gtk_render_node_paintable_new (node, &bounds);
       image = gtk_image_new_from_paintable (paintable);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]