< prev index next >
modules/graphics/src/main/native-glass/gtk/glass_dnd.cpp
Print this page
rev 9734 : 8087516: Conditional support for GTK 3 on Linux
Reviewed-by:
@@ -686,11 +686,11 @@
}
mainEnv->CallVoidMethod(pixels, jPixelsAttachData, PTR_TO_JLONG(&pixbuf));
if (!EXCEPTION_OCCURED(mainEnv)
- && gdk_pixbuf_save_to_buffer(pixbuf, &buffer, &size, type, NULL, NULL)) {
+ && glass_gdk_pixbuf_save_to_buffer(pixbuf, &buffer, &size, type, NULL)) {
gdk_property_change(requestor, property, target,
8, GDK_PROP_MODE_REPLACE, (guchar *)buffer, size);
result = TRUE;
}
g_object_unref(pixbuf);
@@ -1210,13 +1210,11 @@
screen_changed();
gtk_widget_realize(widget);
- GdkRegion* region = gdk_region_new();
- gdk_window_input_shape_combine_region(gtk_widget_get_window(widget), region, 0,0);
- gdk_region_destroy(region);
+ glass_window_input_shape_combine_region(gtk_widget_get_window(widget));
gtk_widget_set_app_paintable(widget, TRUE);
g_signal_connect(G_OBJECT(widget), "expose-event", G_CALLBACK(on_expose), this);
g_signal_connect(G_OBJECT(widget), "screen-changed", G_CALLBACK(on_screen_changed), this);
@@ -1229,23 +1227,19 @@
gtk_widget_show_all(widget);
}
void DragView::View::screen_changed() {
GdkScreen *screen = gtk_widget_get_screen(widget);
- GdkColormap *colormap = gdk_screen_get_rgba_colormap(screen);
- if (!colormap || !gdk_screen_is_composited(screen)) {
+ glass_configure_window_transparency(widget, true);
+
+ if (!gdk_screen_is_composited(screen)) {
if (!is_offset_set) {
offset_x = 1;
offset_y = 1;
}
}
-
- if (!colormap) {
- colormap = gdk_screen_get_rgb_colormap(screen);
- }
- gtk_widget_set_colormap(widget, colormap);
}
void DragView::View::expose() {
cairo_t *context = gdk_cairo_create(gtk_widget_get_window(widget));
< prev index next >