< 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,696 ****
}
mainEnv->CallVoidMethod(pixels, jPixelsAttachData, PTR_TO_JLONG(&pixbuf));
if (!EXCEPTION_OCCURED(mainEnv)
! && gdk_pixbuf_save_to_buffer(pixbuf, &buffer, &size, type, NULL, NULL)) {
gdk_property_change(requestor, property, target,
8, GDK_PROP_MODE_REPLACE, (guchar *)buffer, size);
result = TRUE;
}
g_object_unref(pixbuf);
--- 686,696 ----
}
mainEnv->CallVoidMethod(pixels, jPixelsAttachData, PTR_TO_JLONG(&pixbuf));
if (!EXCEPTION_OCCURED(mainEnv)
! && 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,1222 ****
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);
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);
--- 1210,1220 ----
screen_changed();
gtk_widget_realize(widget);
! 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,1251 ****
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)) {
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));
--- 1227,1245 ----
gtk_widget_show_all(widget);
}
void DragView::View::screen_changed() {
GdkScreen *screen = gtk_widget_get_screen(widget);
! glass_configure_window_transparency(widget, true);
!
! if (!gdk_screen_is_composited(screen)) {
if (!is_offset_set) {
offset_x = 1;
offset_y = 1;
}
}
}
void DragView::View::expose() {
cairo_t *context = gdk_cairo_create(gtk_widget_get_window(widget));
< prev index next >