Kristian Rietveld
3043155796
Bug 550939 - GtkFileChooser listbox does not refresh selection
...
Make the quartz backend support the new queued translations. We do this
by keeping our own copy of the region that has been set to need display.
Using this region we can intersect by the given area, translate this and also
set needs display for the resulting area.
2009-09-21 20:41:35 +02:00
Kristian Rietveld
d797dcc4dd
Assign the size of the screen to the root window
...
On startup, the root window got assigned the size of the main screen.
But, the GdkScreen has the width of all screens/monitors connected to the
machine. Change this so that in _gdk_windowing_window_init, we assign
the width/height of all monitors to the root window width, height.
Should fix bug 594738.
2009-09-16 08:48:49 +02:00
Kristian Rietveld
cf80feb3dd
Do not test the event mask of implicit grabs
...
The quartz backend simulates the semantics of XGrabPointer, as a part of
this it checks the event mask of the grab. However, implicit grabs on X
do not go through XGrabPointer and thus the quartz backend should not check
the event mask for these. This fixes various "the UI got stuck" cases.
2009-09-16 08:48:49 +02:00
Alexander Larsson
d67a7eda16
Add gdk_window_restack
...
This lets you restack a window above or below a specified sibling.
At least eclipse wants this functionallity.
2009-09-02 23:38:55 +02:00
Alexander Larsson
939e55223c
Ensure that queue_translation is paired with the right X operation
...
The X11 queue_translation operation uses NextRequest to get the serial
of the XCopyArea operation where the translation should end. However,
if the gc passed to gdk_draw_drawable has a non-flushed clip region
(which it commonly has now for the window clipping) then the next
operation will be the GC flush, not the XCopyArea.
To handle this right we now pass in the GC to be used to
queue_translation and ensure that it is flushed before calling
NextRequest().
2009-08-13 14:46:02 +02:00
Matthias Clasen
b514c6ac22
Fix a logic error in gdk_window_set_title on OS X
...
Also fix a similar error in gdk_window_set_transient_for.
This fixes bug 589738
2009-08-07 00:13:44 -04:00
Matthias Clasen
5002976fab
Fix a logic error in gdk_window_set_title on OS X
...
This fixes bug 589738
2009-08-07 00:10:43 -04:00
Kristian Rietveld
8c8e1daefa
Add stubs for missing GDK windowing functions to Quartz backend
...
This seems to more or less fix the build. On Tiger there are still issues
with libresolv missing on the link line, I will figure out what's up with
that soonish.
2009-07-31 21:22:54 +02:00
Alexander Larsson
aa8693f2cb
Track viewable for GdkWindow
2009-07-18 23:11:54 +02:00
Alexander Larsson
2e3866b5b2
Make GdkDrawable draw_drawable backwards compat
...
Turns out pygtk build broke due to the argument addition to draw_drawable.
So, we now add a new vfunc for the new draw_drawable and are thus
backwards compat.
2009-07-01 19:50:49 +02:00
Alexander Larsson
038398d493
Move new draw_drawable argument to end to make it more backwards compat
2009-07-01 16:13:31 +02:00
Richard Hult
52ca2f29cc
Update _gdk_windowing_pointer_grab
2009-06-20 11:50:10 +02:00
Richard Hult
56efcf62c4
Remove duplicate definition of GdkInputWindow
2009-06-20 11:50:10 +02:00
Richard Hult
f26fe5bb49
Update gdk_window_quartz_show, ..._get_origin, ..._get_pointer
2009-06-20 11:50:03 +02:00
Richard Hult
eb70b75118
Rename gdk_window_beep to _gdk_windowing_window_beep
2009-06-20 11:28:57 +02:00
Alexander Larsson
0b586a5ad7
Add support for client side graphics exposures in gdk_draw_drawable
2009-05-27 17:10:32 +02:00
Alexander Larsson
7698daf97a
Merge branch 'master' into client-side-windows
...
Conflicts:
gdk/x11/gdkwindow-x11.c
2009-05-25 14:30:01 +02:00
Behdad Esfahbod
a398c840be
Add git.mk to generate .gitignore files
...
Add four new doc templates that were not in repository.
2009-05-04 14:29:21 -04:00
Richard Hult
730a44a516
Tweak the click-through handling so active apps get it (but not inactive ones)
2009-04-02 10:16:30 +02:00
Richard Hult
255756cfc8
Improve explicit drawing and flushing (fixes GtkRuler)
...
Use the same code path to get a CGContext for both gdk_draw_* and
gdk_cairo_create and make sure we unlockFocus in both cases. This
fixes the broken rendering in GtkRuler. Also use an average of flush
intervals when checking whether we can flush or not, since otherwise
we get too sensitive and block almost all explicit flushes that are
caused by mouse movements for example.
2009-04-02 10:16:30 +02:00
Richard Hult
97996ff00c
Only add up native subwindow offsets for gdk_window_quartz_get_origin
2009-04-02 10:16:29 +02:00
Richard Hult
0092c1ebf0
Limit manual flushing so we don't get hit by quartz' fps limiting
2009-04-02 10:16:29 +02:00
Richard Hult
9af5f2b495
Disable/enable screen updates around process_all_updates to speed up rendering
2009-04-02 10:16:29 +02:00
Richard Hult
53b3343d1b
Get the right event window for non-grabbed windows too
2009-04-02 10:16:29 +02:00
Richard Hult
6af4450641
Try to reduce risk of triggering the "beam sync" penalty in quartz
2009-04-02 10:16:29 +02:00
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