provide a GDK function to enable/disable use of Cocoa-provided rect in drawRect
This commit is contained in:
parent
7324070628
commit
fe6a635c3a
@ -717,17 +717,17 @@
|
||||
return;
|
||||
}
|
||||
|
||||
if (!impl->needs_display_region) {
|
||||
if (!impl->needs_display_region || gdk_quartz_get_use_cocoa_invalidation()) {
|
||||
[self getRectsBeingDrawn: &drawn_rects count: &count];
|
||||
region = gdk_region_new ();
|
||||
|
||||
|
||||
for (i = 0; i < count; i++)
|
||||
{
|
||||
gdk_rect.x = drawn_rects[i].origin.x;
|
||||
gdk_rect.y = drawn_rects[i].origin.y;
|
||||
gdk_rect.width = drawn_rects[i].size.width;
|
||||
gdk_rect.height = drawn_rects[i].size.height;
|
||||
|
||||
|
||||
gdk_region_union_with_rect (region, &gdk_rect);
|
||||
}
|
||||
} else {
|
||||
|
@ -27,6 +27,8 @@ GdkDisplay *_gdk_display = NULL;
|
||||
GdkScreen *_gdk_screen = NULL;
|
||||
GdkWindow *_gdk_root = NULL;
|
||||
|
||||
static int _gdk_quartz_use_cocoa_invalidation = FALSE;
|
||||
|
||||
GdkOSXVersion
|
||||
gdk_quartz_osx_version (void)
|
||||
{
|
||||
@ -53,3 +55,15 @@ gdk_quartz_osx_version (void)
|
||||
else
|
||||
return vkey;
|
||||
}
|
||||
|
||||
void
|
||||
gdk_quartz_set_use_cocoa_invalidation (int yn)
|
||||
{
|
||||
_gdk_quartz_use_cocoa_invalidation = yn;
|
||||
}
|
||||
|
||||
int
|
||||
gdk_quartz_get_use_cocoa_invalidation (void)
|
||||
{
|
||||
return _gdk_quartz_use_cocoa_invalidation;
|
||||
}
|
||||
|
@ -68,6 +68,8 @@ NSImage *gdk_quartz_pixbuf_to_ns_image_libgtk_only (GdkPixbuf
|
||||
id gdk_quartz_drag_context_get_dragging_info_libgtk_only (GdkDragContext *context);
|
||||
NSEvent *gdk_quartz_event_get_nsevent (GdkEvent *event);
|
||||
GdkOSXVersion gdk_quartz_osx_version (void);
|
||||
void gdk_quartz_set_use_cocoa_invalidation (int);
|
||||
int gdk_quartz_get_use_cocoa_invalidation (void);
|
||||
|
||||
GdkAtom gdk_quartz_pasteboard_type_to_atom_libgtk_only (NSString *type);
|
||||
NSString *gdk_quartz_target_to_pasteboard_type_libgtk_only (const gchar *target);
|
||||
|
Loading…
Reference in New Issue
Block a user