Commit Graph

118 Commits

Author SHA1 Message Date
Richard Hult
e7eb75c0ca Remove the old workarond for broken tracking rects
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.
2009-04-02 10:15:23 +02:00
Richard Hult
257dea55a7 Handle NULL event mask in _gdk_windowing_window_at_pointer 2009-04-02 10:15:23 +02:00
Richard Hult
e9d3f22ac8 Offset subviews with the parent's abs coordinate 2009-04-02 10:15:23 +02:00
Richard Hult
5eacab593b Setup iface for queue_translation/antiexpose 2009-04-02 10:15:23 +02:00
Richard Hult
47ed2c553d Remove gdk_window_set_child_input_shapes 2009-04-02 10:15:23 +02:00
Richard Hult
cede19dc65 Update more toplevel checks and update set_background and back_pixmap 2009-04-02 10:15:23 +02:00
Richard Hult
68640f9e99 Add mask argument to _gdk_windowing_window_at_pointer, and update more checks 2009-04-02 10:15:22 +02:00
Richard Hult
068b6f88e0 Update gdk_window_get_deskrelative_origin, gdk_window_get_root_origin, gdk_window_get_frame_extents 2009-04-02 10:15:22 +02:00
Richard Hult
3f7e3a22f5 Update gdk_window_quartz_set_background and gdk_window_quartz_set_back_pixmap 2009-04-02 10:15:22 +02:00
Richard Hult
4cf7fe5832 Add more toplevel window checks 2009-04-02 10:15:22 +02:00
Richard Hult
93d1d51e3b Update set_urgency_hint/geometry_hints/modal_hint/set_skip_taskbar_hint/set_skip_pager_hint 2009-04-02 10:15:22 +02:00
Richard Hult
27a80094bc Update gdk_window_set_type_hint and gdk_window_get_type_hint 2009-04-02 10:15:22 +02:00
Richard Hult
ff86156762 Update gdk_window_focus 2009-04-02 10:15:22 +02:00
Richard Hult
1e5a22dabe Remove gdk_window_quartz_clear_area 2009-04-02 10:15:22 +02:00
Richard Hult
f5806eac0c Update gdk_window_quartz_reparent 2009-04-02 10:15:22 +02:00
Richard Hult
2517076f76 Update gtk_window_quartz_hide 2009-04-02 10:15:22 +02:00
Richard Hult
afdb3f2ee8 Update signature for gdk_window_quartz_show and adapt the implementation 2009-04-02 10:15:22 +02:00
Richard Hult
650223ca3b Rename _gdk_windowing_window_destroy to _gdk_quartz_window_destroy and add to the impl iface 2009-04-02 10:15:22 +02:00
Richard Hult
b20991af9b Update _gdk_window_impl_new and add private variables where we changed impl to private 2009-04-02 10:15:22 +02:00
Richard Hult
b1b358c820 Remove width/height from GdkWindowImplQuartz and use those in GdkWindowObject 2009-04-02 10:15:22 +02:00
Richard Hult
774cebae69 Remove get_size and get_visible region 2009-04-02 10:15:21 +02:00
Richard Hult
1ee805f7be Don't init size in gdk_window_impl_quartz_init 2009-04-02 10:15:21 +02:00
Richard Hult
57214245da Include check for offscreen windows in WINDOW_IS_TOPLEVEL 2009-04-02 10:15:21 +02:00
Richard Hult
a641e8fb92 Set the fill color outside the loop.
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-11-05 10:26:47 +00:00
Richard Hult
db0ad1ff52 Bug 550342 – Splash screens have a caption
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-10-09 11:27:31 +00:00
Sven Herzberg
61ca4f71a0 reviewed by: Richard Hult
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-20 16:14:35 +00:00
Richard Hult
119f3cf183 Some aftermath from the window impl cleanups:
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-07-01 18:27:43 +00:00
Kristian Rietveld
cf3542155f adapt to use GdkWindowImpl interface.
2008-06-27  Kristian Rietveld  <kris@imendio.com>

	* gdk/quartz/gdkgeometry-quartz.c:
	* gdk/quartz/gdkwindow-quartz.c:
	* gdk/quartz/gdkprivate-quartz.h: adapt to use GdkWindowImpl
	interface.


svn path=/trunk/; revision=20697
2008-06-27 17:06:06 +00:00
Johan Dahlin
d97cdbdf53 Include "config.h" instead of <config.h> Command used: find -name
2008-06-21  Johan Dahlin  <jdahlin@async.com.br>

    * *.[ch]: Include "config.h" instead of <config.h>
    Command used:
    find -name \*.[ch]|xargs perl -p -i -e 's/^#include <config.h>/#include "config.h"/g'
    Rubberstamped by Mitch and Tim


svn path=/trunk/; revision=20669
2008-06-22 14:28:52 +00:00
Richard Hult
902ac34a1d Renamed to adapt to the offscreen rendering changes, fixes build.
2008-05-21  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_window_new), (_gdk_window_reparent): Renamed to adapt to the
	offscreen rendering changes, fixes build.

svn path=/trunk/; revision=20125
2008-05-21 20:48:21 +00:00
Richard Hult
d06472f3c2 Use SetSystemUIMode instead of hiding and showing the menubar.
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
2008-05-19 20:56:51 +00:00
Richard Hult
618b23a408 Use gdk_threads_add_idle instead of g_idle_add. Add a temporary check if
2008-05-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_impl_quartz_invalidate_maybe_recurse):
	(gdk_window_quartz_update_idle): Use gdk_threads_add_idle instead
	of g_idle_add. Add a temporary check if the window is already in
	the updates list, since update_area currently doesn't always match
	the backend's state, see bug #530801.

svn path=/trunk/; revision=20108
2008-05-17 07:26:41 +00:00
Richard Hult
a63c87c5da Defer the generated event to the mainloop and don't generate one at all if
2008-03-28  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c: (gdk_event_translate),
	(_gdk_quartz_events_trigger_crossing_events): Defer the generated
	event to the mainloop and don't generate one at all if the
	toplevel didn't change. Use the actual window and not the toplevel
	as event window. These changes make the generated crossing events
	match the X11 behavior and fixes issues with e.g. tooltips,
	comboboxes and menus.

	* gdk/quartz/GdkQuartzView.c: Don't update the tracking rect if
	the view has no window, it will be updated as soon as it's put
	inside a window.

	* gdk/quartz/gdkwindow-quartz.c:
	(_gdk_quartz_window_debug_highlight): Make it possible to track
	multiple windows with debug highlighting.
	(show_window_internal): Remove workaround for tooltips and popups
	that is no longer needed with the above changes.

svn path=/trunk/; revision=19951
2008-03-31 13:15:15 +00:00
Richard Hult
9d8b846e80 Bail out early if we can't find a matching window.
2008-03-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_trigger_crossing_events): Bail out early if we
	can't find a matching window.

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Add a
	comment, and only trigger an event for non-temp windows, fixes
	problems for tooltips caused by the workarounds for the
	problematic tracking rect API.

svn path=/trunk/; revision=19934
2008-03-25 13:49:03 +00:00
Richard Hult
7279939331 Plug a leak and add a check that we have a toplevel before accessing it.
2008-03-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Plug a leak and add a
	check that we have a toplevel before accessing it.

svn path=/trunk/; revision=19933
2008-03-25 13:35:20 +00:00
Richard Hult
1438c5623b Patch from Paul Davis, only flush the toplevel once per update.
2008-03-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c:
	(gdk_window_quartz_process_all_updates): Patch from Paul Davis,
	only flush the toplevel once per update.

svn path=/trunk/; revision=19871
2008-03-14 10:20:55 +00:00
Richard Hult
62f084869d Implement gdk_window_reparent.
2008-03-11  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: Implement gdk_window_reparent.

svn path=/trunk/; revision=19746
2008-03-11 10:14:47 +00:00
Richard Hult
f14bf84699 Fix performance regression for borderless transparent windows with shadow.
2008-02-27  Richard Hult  <richard@imendio.com>

	* gdk/quartz/GdkQuartzView.c:
	* gdk/quartz/GdkQuartzView.h:
	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations):
	Fix performance regression for borderless transparent windows
	with shadow.

svn path=/trunk/; revision=19666
2008-02-27 10:49:22 +00:00
Richard Hult
4dbd9d23d7 Use the subtype field for the custom event that is used to wake up the
2008-02-24  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkeventloop-quartz.c: (got_fd_activity), (poll_func):
	Use the subtype field for the custom event that is used to wake up
	the mainloop so we can have other custom event types.

	* gdk/quartz/gdkevents-quartz.c:
	(_gdk_quartz_events_trigger_crossing_events):
	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal): Create
	crossing events after showing a window if necessary, to work
	around problems with the tracking rect API.

svn path=/trunk/; revision=19637
2008-02-24 17:45:29 +00:00
Richard Hult
fbe4c4f8b6 Set the right window level and shadow after recreating the window.
2008-02-20  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_set_decorations): Set
	the right window level and shadow after recreating the window.

	* gdk/quartz/GdkQuartzView.c: (drawRect): Invalidate the shadow if
	necessary after drawing (bug #517338).

svn path=/trunk/; revision=19622
2008-02-20 20:10:30 +00:00
Richard Hult
8a37bb9364 Clear the toplevel ordering list in all places where the order is
2008-02-17  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal),
	(_gdk_quartz_window_detach_from_parent),
	(_gdk_quartz_window_attach_to_parent), (gdk_window_focus): Clear
	the toplevel ordering list in all places where the order is
	potentially changed. Fixes mouse focus issues for windows with
	a transient parent set.

svn path=/trunk/; revision=19604
2008-02-17 10:01:52 +00:00
Richard Hult
2dd5dd6340 Add debugging code to highlight a gdkwindow.
2008-02-16  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkprivate-quartz.h:
	* gdk/quartz/gdkwindow-quartz.c: Add debugging code to highlight a
	gdkwindow.

svn path=/trunk/; revision=19587
2008-02-16 00:27:29 +00:00
Richard Hult
aa8b00a923 Using makeKeyWindow unfortunately doesn't work in all cases, we must use
2008-02-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (gdk_window_focus): Using
	makeKeyWindow unfortunately doesn't work in all cases, we must use
	makeKeyAndOrderFront.

svn path=/trunk/; revision=19568
2008-02-14 21:48:41 +00:00
Richard Hult
b9d88ac6e5 Make sure we leave fullscreen mode if the window is hidden.
2008-02-14  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (get_fullscreen_geometry),
	(gdk_window_hide), (gdk_window_fullscreen),
	(gdk_window_unfullscreen): Make sure we leave fullscreen mode if
	the window is hidden.

svn path=/trunk/; revision=19567
2008-02-14 21:41:59 +00:00
Richard Hult
41e1be54e8 Fix compile warnings (add missing const and remove unused variables).
2008-01-25  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: Fix compile warnings (add missing
	const and remove unused variables).

svn path=/trunk/; revision=19401
2008-01-25 13:13:05 +00:00
Michael Natterer
8243e3d415 gdk/gdkdisplay.h gdk/gdkdrawable.h gdk/gdkevents.h gdk/gdkpango.h
2008-01-15  Michael Natterer  <mitch@imendio.com>

	* gdk/gdkdisplay.h
	* gdk/gdkdrawable.h
	* gdk/gdkevents.h
	* gdk/gdkpango.h
	* gdk/gdkregion.h
	* gdk/gdkrgb.h
	* gdk/gdkwindow.h: made more struct pointer and array parameters
	const. GDK should now be constified as far as possible without
	breaking source compatibility. Includes some minor cleanup like
	indentation and s/nfoo/n_foo/ (bug #508544).

	* gdk/gdkdisplay.c
	* gdk/gdkdraw.c
	* gdk/gdkevents.c
	* gdk/gdkpango.c
	* gdk/gdkregion-generic.c
	* gdk/gdkrgb.c
	* gdk/directfb/gdkdisplay-directfb.c
	* gdk/directfb/gdkwindow-directfb.c
	* gdk/quartz/gdkdisplay-quartz.c
	* gdk/quartz/gdkwindow-quartz.c
	* gdk/win32/gdkdisplay-win32.c
	* gdk/win32/gdkwindow-win32.c
	* gdk/x11/gdkdisplay-x11.c
	* gdk/x11/gdkwindow-x11.c: changed accordingly.


svn path=/trunk/; revision=19372
2008-01-15 15:32:37 +00:00
Michael Natterer
92f86e0496 gdk/gdk.h gdk/gdkcairo.h gdk/gdkcolor.h gdk/gdkgc.h gdk/gdkinternals.h
2008-01-14  Michael Natterer  <mitch@imendio.com>

	* gdk/gdk.h
	* gdk/gdkcairo.h
	* gdk/gdkcolor.h
	* gdk/gdkgc.h
	* gdk/gdkinternals.h
	* gdk/gdkregion.h
	* gdk/gdkwindow.h: made GdkRectangle*, GdkRegion* and GdkColor*
	parameters const.

	* gdk/gdkcairo.c
	* gdk/gdkgc.c
	* gdk/gdkwindow.c
	* gdk/gdkrectangle.c
	* gdk/gdkpolyreg-generic.c
	* gdk/gdkregion-generic.c
	* gdk/directfb/gdkcolor-directfb.c
	* gdk/directfb/gdkgc-directfb.c
	* gdk/directfb/gdkgeometry-directfb.c
	* gdk/directfb/gdkwindow-directfb.c
	* gdk/quartz/gdkcolor-quartz.c
	* gdk/quartz/gdkgc-quartz.c
	* gdk/quartz/gdkgeometry-quartz.c
	* gdk/quartz/gdkwindow-quartz.c
	* gdk/win32/gdkcolor-win32.c
	* gdk/win32/gdkgc-win32.c
	* gdk/win32/gdkgeometry-win32.c
	* gdk/win32/gdkprivate-win32.h
	* gdk/win32/gdkwindow-win32.c
	* gdk/x11/gdkcolor-x11.c
	* gdk/x11/gdkgc-x11.c
	* gdk/x11/gdkgeometry-x11.c
	* gdk/x11/gdkmain-x11.c
	* gdk/x11/gdkprivate-x11.h
	* gdk/x11/gdkwindow-x11.c: changed accordingly.

	* gdk/gdkpolyreg-generic.c: uncruftify to have proper function
	headers.


svn path=/trunk/; revision=19365
2008-01-14 14:02:12 +00:00
Richard Hult
adad4cf884 Move the tracking rect workaround from here...
2008-01-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (show_window_internal),
	(gdk_window_hide), (move_resize_window_internal): Move the
	tracking rect workaround from here...

	* gdk/quartz/GdkQuartzWindow.c:
	* gdk/quartz/GdkQuartzWindow.h: ...to here, and ignore window
	movements during showing/hiding operations. Fixes bug #508516.

svn path=/trunk/; revision=19342
2008-01-10 19:35:53 +00:00
Richard Hult
a28c785bcd Plug leak of destroyed subviews, fixes bug #504753.
2007-12-21  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkwindow-quartz.c: (_gdk_windowing_window_destroy):
	Plug leak of destroyed subviews, fixes bug #504753.

svn path=/trunk/; revision=19218
2007-12-21 20:21:05 +00:00
Richard Hult
8082fbc437 Install backend specific header (bug #405915). Also add a getter for the
2007-12-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/Makefile.am:
	* gdk/quartz/gdkquartz.h:
	* gdk/quartz/gdkwindow-quartz.c: Install backend specific
	header (bug #405915). Also add a getter for the toplevel nswindow.

svn path=/trunk/; revision=19151
2007-12-10 20:44:23 +00:00