Get rid of invalidate_maybe_recurse and process_updates. Implement
_gdk_windowing_{before,after}_process_all_updates(), and keep track of
when we're inside process_all_updates in the common code so we know
when to flush windows. Implement
_gdk_windowing_window_process_updates_recurse by means of
setNeedsDisplayInRect: displayIfNeeded. Use the added window argument
in begin_paint_region to get the right window (the paintable is always
the impl window now).
This fixes a mismatch in save/release gstate for the CGContext. If
this function is ever used for pixmaps, we need to add support for
that, probably will have to do so soon.
The one that puts windows outside the screen and moves them in when
showing. It might not be needed anymore and the workaround doesn't
work with the client-side window branch anyway because the window is
already mapped when we get showed for some reason.
The history before this was kind of twisted as several different
approaches were tested, so that was all squashed into this initial
commit to hide the uninteresting changes and files that were later
removed.
2009-01-26 Richard Hult <richard@imendio.com>
Bug 566628 – gdk_display_close always asserts on win32 and quartz
* gdk/quartz/gdkdisplay-quartz.c
(_gdk_windowing_set_default_display): Copy fix for bug #566628
from the win32 backend: Allow also a NULL parameter in the
g_assert().
svn path=/trunk/; revision=22223
2008-11-12 Richard Hult <richard@imendio.com>
Bug 550942 – [patch] Rework of gdkeventloop-quartz.c
* gdk/gdk.c:
* gdk/gdkinternals.h: Add eventloop debug facility.
* gdk/quartz/gdkeventloop-quartz.c: Big rework of the quartz
mainloop integration, patch from Owen Taylor. See bug #550942 for
the details.
svn path=/trunk/; revision=21783
2008-11-12 Richard Hult <richard@imendio.com>
Bug 558586 – handling of keyboard under darwin (quartz)
* gdk/quartz/gdkkeys-quartz.c: Follow up on this bug, only use the
new API when building on 64-bit, since there are still old non-xml
layouts used out there we don't want to break them. (For 64-bit
those layouts doesn't work so we don't have a choice there.)
svn path=/trunk/; revision=21782
2008-11-06 Richard Hult <richard@imendio.com>
Bug 558586 – handling of keyboard under darwin (quartz)
* gdk/quartz/gdkkeys-quartz.c: (maybe_update_keymap): Patch from
Arnaud Charlet to replace use of deprecated keyboard layout API
with the new TIS API available in 10.5. The old code is still used
when building for 10.4.
svn path=/trunk/; revision=21763
2008-11-05 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c:
(get_keyboard_modifiers_from_ns_event), (create_key_event): Revert
(at least for now) the alt/cmd switching since it breaks the
"alt-gr" functionality of alt which makes it impossible to input
lots of characters.
svn path=/trunk/; revision=21761
2008-11-05 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_impl_quartz_begin_paint_region): Set the fill color
outside the loop.
svn path=/trunk/; revision=21759
2008-10-27 Richard Hult <richard@imendio.com>
Bug 557894 – Wrong return value for
gdk_pointer_grab_info_libgtk_only()
* gdk/quartz/gdkevents-quartz.c:
(gdk_pointer_grab_info_libgtk_only): Return TRUE when there is a
pointer grab. Patch by Owen Taylor.
svn path=/trunk/; revision=21722
2008-10-09 Richard Hult <richard@imendio.com>
Bug 550342 – Splash screens have a caption
* gdk/quartz/gdkwindow-quartz.c: (_gdk_window_new),
(gdk_window_set_decorations): Patch from Marianne Gagnon to make
splash windows borderless.
svn path=/trunk/; revision=21617
2008-08-15 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_drawable): Some
aftermath of the fix of bug #543868. Clip and flip to the source,
not the destination. Don't save/restore the gstate, it's already
done when getting/releasing the context.
svn path=/trunk/; revision=21136
2008-07-20 Sven Herzberg <sven@imendio.com>
reviewed by: Richard Hult
Fixes#543868: GdkPixmap is upside down on quartz
* gdk/quartz/gdkdrawable-quartz.c (gdk_quartz_draw_drawable): flip the
coordinate space from GTK+ orientation to CoreGraphics orientation
before calling CoreGraphics code
* gdk/quartz/gdkgc-quartz.c (gdk_quartz_draw_tiled_pattern): drop the
coordinate space flipping (we always get it right, now)
* gdk/quartz/gdkpixmap-quartz.c
(gdk_pixmap_impl_quartz_get_context): flip the coordinate space when
creating the CGContextRef
svn path=/trunk/; revision=20870
2008-07-20 Sven Herzberg <sven@imendio.com>
reviewed by: Richard Hult
Extracted the CGContextRef creation into a virtual function of
GdkDrawableImplQuartz; implement get_context() for GdkPixmap and
GdkWindow
* gdk/quartz/gdkdrawable-quartz.c
(gdk_quartz_drawable_get_context): dropped the different
implementations; forward to the virtual function now
* gdk/quartz/gdkdrawable-quartz.h: added the virtual function
* gdk/quartz/gdkpixmap-quartz.c
(gdk_pixmap_impl_quartz_get_context),
(gdk_pixmap_impl_quartz_class_init): implemented get_context()
* gdk/quartz/gdkwindow-quartz.c
(gdk_window_impl_quartz_get_context),
(gdk_window_impl_quartz_class_init): implemented get_context()
svn path=/trunk/; revision=20869
2008-07-01 Richard Hult <richard@imendio.com>
Some aftermath from the window impl cleanups:
* gdk/quartz/gdkwindow-quartz.c:
(gdk_window_merge_child_input_shapes): Rename and export again.
(gdk_window_quartz_get_offsets): Make static.
svn path=/trunk/; revision=20723
2008-05-26 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkevents-quartz.c: (gdk_screen_get_setting): Try
setting the default font, might need to tweak this.
svn path=/trunk/; revision=20181
2008-05-19 Richard Hult <richard@imendio.com>
* gdk/quartz/gdkwindow-quartz.c: (gdk_window_hide),
(gdk_window_fullscreen), (gdk_window_unfullscreen): Use
SetSystemUIMode instead of hiding and showing the menubar.
svn path=/trunk/; revision=20114