cb05af0a61
Implement GDK_POINTER_MOTION_HINT_MASK support
2009-04-02 10:15:25 +02:00
d267452bb7
New flicker flicker fixing approach
...
There was a performance problem with the old flicker fixing
approach. For moved windows we copied the window data to the double
buffer pixmap and then back to the window with the rest of the
expose data. In some cases the copy from window data to pixmap was
very slow because the pixmap was allocated in system memory and
the window in video memory.
The new approach is to delay all window moves and then replay them
after the expose has drawn to the double buffer pixmap but before
drawing it to the window. Furthermore, we remove all exposed areas
from the destination of the delayed moves so we won't copy something
just to then immediately draw over it.
This makes scrolling in firefox fast, and it makes tests/flicker not
show any (detectable) flicker.
2009-04-02 10:15:25 +02:00
3155fdcd41
gdk_window_process_updates_internal only needs to flush outstanding moves
2009-04-02 10:15:25 +02:00
4455db353f
Split out the flushing of outstanding moves
...
Some places need to only flush the outstanding moves, split
this into gdk_window_flush_outstanding_move
2009-04-02 10:15:25 +02:00
a9fd3ae249
Flush any outstanding stuff in the window in non-buffered get_internal_paint_info case
...
We return the raw window drawable, so its likely the app will do some
weird stuff to it, like draw using non-gdk operations. We don't want
the app to see any half-drawn state, so flush everything.
This fixes a scroll issue in firefox at least.
2009-04-02 10:15:25 +02:00
815f0d7605
Clip exposed area to the visible region.
...
This avoids extra work, and it means we won't allocate large pixmaps
for double buffering.
2009-04-02 10:15:25 +02:00
7da48afcaa
Don't allow native window > 65535 pixels
2009-04-02 10:15:25 +02:00
89f1cb5178
First cut at getting events working
2009-04-02 10:15:25 +02:00
08bc1864cc
Attempt to implement draw_drawable with src = dest = window
2009-04-02 10:15:25 +02:00
2ea8ea2f0d
Remove unused function _gdk_quartz_window_scroll
2009-04-02 10:15:24 +02:00
80c8976c28
Fix typos that broke loading without lazy symbol lookup
2009-04-02 10:15:24 +02:00
7ab3435a58
Remove autoreleasepool in drawRect, not necessary
2009-04-02 10:15:24 +02:00
f12a992be2
Only setup tracking rect for toplevels, we only want enter/leave for those
2009-04-02 10:15:24 +02:00
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
edb35763a2
Get rid of all the synthesized crossing events except for ANCESTOR one on the toplevel
2009-04-02 10:15:24 +02:00
330e790fb2
Rename _gdk_quartz_events_send_map_events to ..._event
2009-04-02 10:15:24 +02:00
32555badb5
Clean up some whitespace
2009-04-02 10:15:24 +02:00
54e6878001
Add fill_crossing_event to be used soon
2009-04-02 10:15:24 +02:00
c3637ab20f
Only send map events for toplevels
2009-04-02 10:15:24 +02:00
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
da8666d745
Clean up the scroll support a little
2009-04-02 10:15:24 +02:00
25b311bac3
Make the various fill_*_event functions consistent
2009-04-02 10:15:24 +02:00
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
036e045d53
Update the window size after getting windowDidResize
2009-04-02 10:15:23 +02:00
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
257dea55a7
Handle NULL event mask in _gdk_windowing_window_at_pointer
2009-04-02 10:15:23 +02:00
19b1f6a93a
Fix bug from first patch round, get private from window, not from impl
2009-04-02 10:15:23 +02:00
e9d3f22ac8
Offset subviews with the parent's abs coordinate
2009-04-02 10:15:23 +02:00
546a1e4cd6
Change window check to quartz window check in gdkinput
2009-04-02 10:15:23 +02:00
5eacab593b
Setup iface for queue_translation/antiexpose
2009-04-02 10:15:23 +02:00
0e1f51ecd1
Add quartz window check macro
2009-04-02 10:15:23 +02:00
a362be9979
Add stubs for queue_translation/antiexpose
2009-04-02 10:15:23 +02:00
cb8a3386c7
Implement _gdk_windowing_create_cairo_surface
2009-04-02 10:15:23 +02:00
f080825430
Remove gdk_display_pointer_is_grabbed and gdk_pointer_grab_info_libgtk_only
2009-04-02 10:15:23 +02:00
47ed2c553d
Remove gdk_window_set_child_input_shapes
2009-04-02 10:15:23 +02:00
cede19dc65
Update more toplevel checks and update set_background and back_pixmap
2009-04-02 10:15:23 +02:00
68640f9e99
Add mask argument to _gdk_windowing_window_at_pointer, and update more checks
2009-04-02 10:15:22 +02:00
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
3f7e3a22f5
Update gdk_window_quartz_set_background and gdk_window_quartz_set_back_pixmap
2009-04-02 10:15:22 +02:00
4cf7fe5832
Add more toplevel window checks
2009-04-02 10:15:22 +02:00
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
27a80094bc
Update gdk_window_set_type_hint and gdk_window_get_type_hint
2009-04-02 10:15:22 +02:00
ff86156762
Update gdk_window_focus
2009-04-02 10:15:22 +02:00
1e5a22dabe
Remove gdk_window_quartz_clear_area
2009-04-02 10:15:22 +02:00
f5806eac0c
Update gdk_window_quartz_reparent
2009-04-02 10:15:22 +02:00
2517076f76
Update gtk_window_quartz_hide
2009-04-02 10:15:22 +02:00
afdb3f2ee8
Update signature for gdk_window_quartz_show and adapt the implementation
2009-04-02 10:15:22 +02:00
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
b20991af9b
Update _gdk_window_impl_new and add private variables where we changed impl to private
2009-04-02 10:15:22 +02:00
b1b358c820
Remove width/height from GdkWindowImplQuartz and use those in GdkWindowObject
2009-04-02 10:15:22 +02:00