Closes: https://gitlab.gnome.org/GNOME/gtk/issues/1737
Don't export any functions taking or returning MacOS types in
gdkquartz.h, gdkprivate-quartz.h, or any header that either includes.
The GdkQuartz internal functions are moved to a new header
gdkinternal-quartz.h, the functions used by quartz-specific
Gtk files are moved to another new header gdkquartz-gtk-only.h, and
the key and event enums to a new header gdkkeys-quartz.h.
gdkcursor-quartz.c uses the instancetype keyword, which doesn't seem to
be supported in the version of Objective C that Snow Leopard uses.
Replacing that keyword with the thing it represents makes it build.
Patch by Ryan Hendrickson,
http://bugzilla.gnome.org/show_bug.cgi?id=756770
Only "wait" and "all-scroll" are not implemented properly. OS X does not
seem to have a proper interface to either cursor. Approximations are used
instead; see the code.
See bug 749178.
We want a surface so we can properly represent the scale factor for it.
All backends are converted to use surfaces and we reimplement the
backwards compat code in the generic code.
These have been introduced in Leopard and default to int and unsigned int.
In 64-bit Snow Leopard they are long and unsigned long. This caused issues
with the getRectsBeingDrawn message which needs a pointer to a NSInteger
(long on 64-bit!) but we passed in an integer. Surprisingly this problem
was visible when compiling with -O0 (segfault), but *not* when compiling
with -O1. Other messages were NSInteger is now needed have also been
adapted.
Since NSInteger and NSUInteger are not available on Tiger, a define
has been added to add typedefs for these when they have not been defined
by the system headers.
2007-07-18 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display): Ref
the cursor in the cached case.
svn path=/trunk/; revision=18490
2007-06-25 Richard Hult <richard@imendio.com>
* gdk/quartz/Makefile.am:
* gdk/quartz/xcursors.h:
* gdk/quartz/gdkcursor-quartz.c: Fallback to X cursors for the
ones that OS X doesn't provide. Fixes bug #327912.
svn path=/trunk/; revision=18229
2007-04-06 Richard Hult <richard@imendio.com>
* gdk/quartz/: Clean up namespaces to make the code more
maintainable.
* gdk/quartz/gdkdrawable-quartz.c:
* gdk/quartz/gdkgc-quartz.c: Fix bug #418384, alignment of tiled
images, by setting the pattern phase for the CG pattern.
svn path=/trunk/; revision=17584
2006-12-19 Mikael Hallendal <micke@imendio.com>
* gdk/quartz/gdkcursor-quartz.c: Splitted out the GdkPixbuf to NSImage
routine so that it can be used from libgtk as well (needed for
upcoming GtkStatusIcon support in the Quartz port).
* gdk/quartz/gdkevents-quartz.c: Don't assume that all NSWindows are
created from GDK, this is not true for the status icon.
* gdk/quartz/gdkprivate-quartz.h:
* gdk/quartz/gdkquartz.h: Added
gdk_quartz_pixbuf_to_ns_image_libgtk_only so that it is available to
the status icon code.
2006-07-17 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(_gdk_windowing_window_destroy_foreign): Fix comment.
(gdk_window_set_title): Surround by release pool macros.
(gdk_window_get_type_hint): Fix return value.
(gdk_window_get_frame_extents): Implement.
(gdk_window_iconify): Use the release pool macros.
(gdk_window_deiconify): Likewise.
(_gdk_windowing_get_pointer): Implement.
(gdk_window_get_deskrelative_origin, gdk_window_get_root_origin):
Implement.
* gdk/quartz/gdkevents-quartz.c (create_crossing_event)
(create_scroll_event, convert_window_coordinates_to_root):
Set coordinates and root coordinates for crossing and scroll
events.
* gdk/quartz/gdkcursor-quartz.c (gdk_cursor_new_for_display):
Map some more cursors.