Commit Graph

370 Commits

Author SHA1 Message Date
Richard Hult
f51a3f5e33 Make owner_events grabs work again, use the pointer window, not the event window 2009-04-02 10:15:32 +02:00
Richard Hult
6d1a8853c4 Don't ignore all events when inactive, only clicks 2009-04-02 10:15:32 +02:00
Richard Hult
41d40786b1 Relax the check for ignoring events above the content view 2009-04-02 10:15:32 +02:00
Richard Hult
651335bc7e Remove workaround for missing enter events on newly popped up windows
The reason for the issue was that we got entered/exited events for the
title bar buttons. Now we properly ignore those instead.
2009-04-02 10:15:32 +02:00
Richard Hult
aeeb54ddf0 Remove re-declared variable 2009-04-02 10:15:32 +02:00
Richard Hult
64195589dc Remove unused code and fix some indentation 2009-04-02 10:15:32 +02:00
Richard Hult
6d01d16d48 Button press and release can share the same fill_button_event call 2009-04-02 10:15:32 +02:00
Richard Hult
77ee2feda2 Remove tracking of "current mouse window", this is handled in the common code now 2009-04-02 10:15:32 +02:00
Richard Hult
3c7a37d10d Remove old cursor setting and make it work with client-side windows 2009-04-02 10:15:32 +02:00
Richard Hult
e6f2a809b2 Update for latest changes in the common code for grab tracking 2009-04-02 10:15:32 +02:00
Richard Hult
f455b478e7 Ignore all events if the app is not active 2009-04-02 10:15:31 +02:00
Richard Hult
2c043566fc When breaking grabs on deactivation, the unset should be implicit 2009-04-02 10:15:31 +02:00
Richard Hult
30f83d8398 Use _gdk_display_unset_has_*_grab in break_all_grabs() 2009-04-02 10:15:31 +02:00
Richard Hult
65aef2099a Use cooca to convert coordinats from event window to grab window instead of homegrown code 2009-04-02 10:15:31 +02:00
Richard Hult
a180f7588f Replace quartz specific keyboard grab code with common code 2009-04-02 10:15:31 +02:00
Richard Hult
f06d432ebe Cast to avoid warning 2009-04-02 10:15:31 +02:00
Richard Hult
06e583e536 Remove unused variable 2009-04-02 10:15:31 +02:00
Richard Hult
152614966f Use the common pointer grab code instead of tracking it ourselves 2009-04-02 10:15:31 +02:00
Richard Hult
55c71f18a4 Use isKeyWindow instead of isMainWindow for the non-click-through check 2009-04-02 10:15:31 +02:00
Richard Hult
e8d6ac71b7 Apply non-click-through policy on unfocused windows even if the app is active 2009-04-02 10:15:31 +02:00
Richard Hult
c36625879b Fix coords returned by _gdk_windowing_window_get_pointer, fixes scribble demo 2009-04-02 10:15:31 +02:00
Richard Hult
ccd982f8bd Remove unused remainders from the old implicit grab code 2009-04-02 10:15:31 +02:00
Richard Hult
79d9a8f960 Get implicit grabs working 2009-04-02 10:15:31 +02:00
Richard Hult
3d72fe16c0 Leave AppKit events unhandled 2009-04-02 10:15:30 +02:00
Richard Hult
0fc2c36ee7 Use event_type we already have instead of regetting it 2009-04-02 10:15:30 +02:00
Richard Hult
7abde8388f Get the correct root coordinates for events 2009-04-02 10:15:30 +02:00
Richard Hult
24aa1620bf Update for changes in the paintable interface
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).
2009-04-02 10:15:27 +02:00
Richard Hult
65b5644cda Call _gdk_window_process_updates_recurse() in drawRect instead of creating our own expose events 2009-04-02 10:15:27 +02:00
Richard Hult
95cbc754d4 Setup ->impl_window on the root window 2009-04-02 10:15:27 +02:00
Richard Hult
9e0899bd2f Add gdk_windowing_window_get_next_serial 2009-04-02 10:15:27 +02:00
Richard Hult
19951c064e Remove gdk_keyboard_grab_info_libgtk_only which moved to the common code 2009-04-02 10:15:26 +02:00
Richard Hult
defc779df5 Add serial argument to _gdk_windowing_got_event 2009-04-02 10:15:26 +02:00
Richard Hult
89f1cb5178 First cut at getting events working 2009-04-02 10:15:25 +02:00
Richard Hult
08bc1864cc Attempt to implement draw_drawable with src = dest = window 2009-04-02 10:15:25 +02:00
Richard Hult
2ea8ea2f0d Remove unused function _gdk_quartz_window_scroll 2009-04-02 10:15:24 +02:00
Richard Hult
80c8976c28 Fix typos that broke loading without lazy symbol lookup 2009-04-02 10:15:24 +02:00
Richard Hult
7ab3435a58 Remove autoreleasepool in drawRect, not necessary 2009-04-02 10:15:24 +02:00
Richard Hult
f12a992be2 Only setup tracking rect for toplevels, we only want enter/leave for those 2009-04-02 10:15:24 +02:00
Richard Hult
348abef6f2 Don't use drawable_get,release_context in _gdk_windowing_create_cairo_surface
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.
2009-04-02 10:15:24 +02:00
Richard Hult
edb35763a2 Get rid of all the synthesized crossing events except for ANCESTOR one on the toplevel 2009-04-02 10:15:24 +02:00
Richard Hult
330e790fb2 Rename _gdk_quartz_events_send_map_events to ..._event 2009-04-02 10:15:24 +02:00
Richard Hult
32555badb5 Clean up some whitespace 2009-04-02 10:15:24 +02:00
Richard Hult
54e6878001 Add fill_crossing_event to be used soon 2009-04-02 10:15:24 +02:00
Richard Hult
c3637ab20f Only send map events for toplevels 2009-04-02 10:15:24 +02:00
Richard Hult
8e8aa53298 Add enter/leave notify to get_event_mask_from_ns_event now that those are handled like other events 2009-04-02 10:15:24 +02:00
Richard Hult
da8666d745 Clean up the scroll support a little 2009-04-02 10:15:24 +02:00
Richard Hult
25b311bac3 Make the various fill_*_event functions consistent 2009-04-02 10:15:24 +02:00
Richard Hult
4c01ca7ddd Rework the event translation to look more like X11
Put the event in the queue with a pending flag, remove again if not
handled.
2009-04-02 10:15:24 +02:00
Richard Hult
036e045d53 Update the window size after getting windowDidResize 2009-04-02 10:15:23 +02:00
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
19b1f6a93a Fix bug from first patch round, get private from window, not from impl 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
546a1e4cd6 Change window check to quartz window check in gdkinput 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
0e1f51ecd1 Add quartz window check macro 2009-04-02 10:15:23 +02:00
Richard Hult
a362be9979 Add stubs for queue_translation/antiexpose 2009-04-02 10:15:23 +02:00
Richard Hult
cb8a3386c7 Implement _gdk_windowing_create_cairo_surface 2009-04-02 10:15:23 +02:00
Richard Hult
f080825430 Remove gdk_display_pointer_is_grabbed and gdk_pointer_grab_info_libgtk_only 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
ff9822a833 Add reset_origin argument to _gdk_windowing_gc_set_clip_region 2009-04-02 10:15:21 +02:00
Alexander Larsson
eabac453e6 Initial client-side-windows work
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-04-02 10:14:01 +02:00
Richard Hult
14f26357e1 Bug 566628 – gdk_display_close always asserts on win32 and quartz
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
2009-01-26 20:31:18 +00:00
Richard Hult
b81b90949b Bug 550942 – [patch] Rework of gdkeventloop-quartz.c
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 13:30:22 +00:00
Richard Hult
2c3590b47e Bug 558586 – handling of keyboard under darwin (quartz)
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-12 12:56:17 +00:00
Richard Hult
a4088461ae Bug 558586 – handling of keyboard under darwin (quartz)
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-06 15:35:56 +00:00
Richard Hult
31357d3cc7 Revert (at least for now) the alt/cmd switching since it breaks the
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 19:12:48 +00: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
d2ed4085c0 Bug 557894 – Wrong return value for gdk_pointer_grab_info_libgtk_only()
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-27 14:54:57 +00:00
Richard Hult
4dbea21c81 Add empty stub to fix linking.
2008-10-10  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkkeys-quartz.c: (gdk_keymap_get_caps_lock_state)
	Add empty stub to fix linking.

svn path=/trunk/; revision=21629
2008-10-10 13:38:05 +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
Richard Hult
31d013d4bf Some aftermath of the fix of bug #543868. Clip and flip to the source, not
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-08-15 20:27:22 +00:00
Richard Hult
cc127bf0a9 Bug 535573 – Deadlock in gdkeventloop-quartz.c:poll_func()
2008-08-07  Richard Hult  <richard@imendio.com>

	Bug 535573 – Deadlock in gdkeventloop-quartz.c:poll_func()

	* gdk/quartz/gdkeventloop-quartz.c: (gdk_event_prepare),
	(select_thread_func), (poll_func): Patch by Yevgen Muntyan, fixes
	deadlock and missing events.

svn path=/trunk/; revision=21030
2008-08-07 08:18:32 +00:00
Richard Hult
e7d1152a8e Implement those, fixes loading python bindings.
2008-08-07  Richard Hult  <richard@imendio.com>

	* gdk/quartz/gdkscreen-quartz.c: (gdk_screen_get_monitor_plug_name)
	(gdk_screen_get_monitor_height_mm, gdk_screen_get_monitor_width_mm):
	Implement those, fixes loading python bindings.

svn path=/trunk/; revision=21029
2008-08-07 08:14:12 +00:00
Sven Herzberg
bd86f2e8fb reviewed by: Richard Hult
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 19:22:37 +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
f3a6fecb67 Try setting the default font, might need to tweak this.
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-26 18:51:35 +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