< 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 >