if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (child)))
{
GtkWidget *image = gtk_widget_get_first_child (child);
- gdk_clipboard_set (clipboard, GDK_TYPE_PAINTABLE, gtk_image_get_paintable (GTK_IMAGE (image)));
+ GdkPaintable *paintable = gtk_image_get_paintable (GTK_IMAGE (image));
+
+ if (GDK_IS_TEXTURE (paintable))
+ gdk_clipboard_set (clipboard, GDK_TYPE_TEXTURE, paintable);
+ else
+ gdk_clipboard_set (clipboard, GDK_TYPE_PAINTABLE, paintable);
break;
}
}
color = g_value_get_boxed (value);
g_object_set (child, "rgba", color, NULL);
}
- else if (G_VALUE_HOLDS (value, GDK_TYPE_PAINTABLE))
+ else if (G_VALUE_HOLDS (value, GDK_TYPE_TEXTURE) ||
+ G_VALUE_HOLDS (value, GDK_TYPE_PAINTABLE))
{
GdkPaintable *paintable;
clipboard = gtk_widget_get_clipboard (GTK_WIDGET (dest_stack));
formats = gdk_clipboard_get_formats (clipboard);
- if (gdk_content_formats_contain_gtype (formats, G_TYPE_FILE))
- gdk_clipboard_read_value_async (clipboard, G_TYPE_FILE, 0, NULL, paste_received, dest_stack);
- else if (gdk_content_formats_contain_gtype (formats, GDK_TYPE_RGBA))
- gdk_clipboard_read_value_async (clipboard, GDK_TYPE_RGBA, 0, NULL, paste_received, dest_stack);
+ if (gdk_content_formats_contain_gtype (formats, GDK_TYPE_TEXTURE))
+ gdk_clipboard_read_value_async (clipboard, GDK_TYPE_TEXTURE, 0, NULL, paste_received, dest_stack);
else if (gdk_content_formats_contain_gtype (formats, GDK_TYPE_PAINTABLE))
gdk_clipboard_read_value_async (clipboard, GDK_TYPE_PAINTABLE, 0, NULL, paste_received, dest_stack);
+ else if (gdk_content_formats_contain_gtype (formats, GDK_TYPE_RGBA))
+ gdk_clipboard_read_value_async (clipboard, GDK_TYPE_RGBA, 0, NULL, paste_received, dest_stack);
+ else if (gdk_content_formats_contain_gtype (formats, G_TYPE_FILE))
+ gdk_clipboard_read_value_async (clipboard, G_TYPE_FILE, 0, NULL, paste_received, dest_stack);
else if (gdk_content_formats_contain_gtype (formats, G_TYPE_STRING))
gdk_clipboard_read_value_async (clipboard, G_TYPE_STRING, 0, NULL, paste_received, dest_stack);
}
if (gdk_content_formats_contain_gtype (formats, G_TYPE_FILE) ||
gdk_content_formats_contain_gtype (formats, GDK_TYPE_RGBA) ||
+ gdk_content_formats_contain_gtype (formats, GDK_TYPE_TEXTURE) ||
gdk_content_formats_contain_gtype (formats, GDK_TYPE_PAINTABLE) ||
gdk_content_formats_contain_gtype (formats, G_TYPE_STRING))
sensitive = TRUE;
<child>
<object class="GtkStack" id="dest_stack">
<property name="halign">end</property>
+ <property name="valign">center</property>
<child>
<object class="GtkStackPage">
<property name="name"></property>
<property name="child">
<object class="GtkLabel">
<property name="halign">end</property>
+ <property name="valign">center</property>
<property name="xalign">0</property>
<property name="ellipsize">end</property>
</object>
<property name="child">
<object class="GtkImage">
<property name="halign">end</property>
+ <property name="valign">center</property>
<style>
<class name="large-icons"/>
</style>
<property name="child">
<object class="GtkBox">
<property name="halign">end</property>
+ <property name="valign">center</property>
<child>
<object class="GtkColorSwatch">
<property name="accessible-role">img</property>
<property name="child">
<object class="GtkLabel">
<property name="halign">end</property>
+ <property name="valign">center</property>
<property name="xalign">0</property>
<property name="hexpand">1</property>
<property name="ellipsize">start</property>