c967cabc35
Avoid lots of unnecessary computation when moving toplevel windows
...
There is no need to do all these computations when moving toplevels
as that can't really change any visible regions. Nor will it cause
any exposes we need to handle.
2009-04-02 10:15:19 +02:00
cdb405dfcf
Restack native window after reparent put it on top
2009-04-02 10:15:19 +02:00
c1884ce403
Fix up native window handling in gdk_window_lower too
2009-04-02 10:15:19 +02:00
28c4518cca
Fix up gdk_window_raise and native window creation to not move native window above windows outside the non-native parent
2009-04-02 10:15:19 +02:00
cce1ff8eb8
Move all backend specific raise/lower code into _internal helpers
2009-04-02 10:15:19 +02:00
e918b64088
Make sure we handle clipping in gdk_window_draw_pixbuf if gc == NULL
2009-04-02 10:15:19 +02:00
78bbac87ed
Send expose events to exposed area when changing the window shape
2009-04-02 10:15:19 +02:00
d6ecaca166
Handle GDK_WA_CURSOR in non-native window creation
2009-04-02 10:15:18 +02:00
764ceead66
Include inferiors when moving window parts
2009-04-02 10:15:18 +02:00
5378324a18
Ref imp even in non-native windows and don't NULL out in destroy so that get_screen works after destroy.
2009-04-02 10:15:18 +02:00
40827b99db
When creating native window, set the native background
2009-04-02 10:15:18 +02:00
959d940812
Need to split up impl changing and reparenting so we can recompute abs_x/y inbetween
2009-04-02 10:15:17 +02:00
c8bdac7508
Recompute abs_x/y before reparenting windows due to new native window parent
2009-04-02 10:15:17 +02:00
acf1954f12
Don't destroy NULL region
2009-04-02 10:15:17 +02:00
ed5564ee3a
Ensure we show native window when creating them for already visible windows
2009-04-02 10:15:17 +02:00
d73859fe16
Move native window showing/hiding out of is_impl, we may need to do this for emulated windows too
2009-04-02 10:15:17 +02:00
9f2c97dd80
Ensure that we always invalidate newly exposed areas, as X may not (due to temp bg none)
2009-04-02 10:15:17 +02:00
4a0cb4a240
Various fixes for native windows:
...
move_region_on_impl() - doesn't need to copy anything if dx/dy == 0
Ensure that we queue an update when invalidating an empty area but we have outstanding moves
Temporarily unset background when moving native child windows
2009-04-02 10:15:17 +02:00
76e23f00da
Update abs_x/y before moving native children
2009-04-02 10:15:17 +02:00
4442463481
Move all native children (recursively) in gdk_window_scroll
2009-04-02 10:15:16 +02:00
f6e1b0ac17
Ensure that we're properly hiding impl window if one of its parent non-impl windows are hidden
...
Also, add some debug printing code to list the GdkWindow tree
2009-04-02 10:15:16 +02:00
a38e797941
Don't remove composited childrens area when processing updates
...
Handle shape when processing updates
Make sure we reset the old clips before setting new cairo clips
2009-04-02 10:15:16 +02:00
890503099f
Handle mask == NULL in shape_combine_mask
2009-04-02 10:15:16 +02:00
d7e369c27a
Implement input shapes
2009-04-02 10:15:16 +02:00
4ba2b181bf
Implement shaped windows
2009-04-02 10:15:16 +02:00
062da50b9f
Add _gdk_windowing_window_get_shape
2009-04-02 10:15:16 +02:00
0d540e935b
Create _gdk_drawable_create_cairo_surface to ugly typechecking
2009-04-02 10:15:15 +02:00
0ba99e6e7b
Make gdk_windowing_window_destroy a GdkWindowImpl method
2009-04-02 10:15:15 +02:00
36ce54878b
Make _gdk_windowing_window_queue_translation a GdkWindiwImpl call
2009-04-02 10:15:15 +02:00
f22211c881
Remove unnecessary clear_area method in GdkWindowImpl
2009-04-02 10:15:15 +02:00
d093be43e7
For implicit grabs, we grab the *event* window, not the pointer window
2009-04-02 10:15:15 +02:00
83ee69740e
Handle cursors right with grabs
2009-04-02 10:15:15 +02:00
7b2b9a0219
Implement cursors
2009-04-02 10:15:15 +02:00
f2b50ff638
Fix crossing event order and some details
2009-04-02 10:15:15 +02:00
b771c9924d
New approach to motion event handling
2009-04-02 10:15:11 +02:00
afc81c9e64
gdk_window_draw_points() - make sure we use the offset points
2009-04-02 10:14:08 +02:00
d74d94ce69
Implement flicker free handling of window moves/resizes
2009-04-02 10:14:08 +02:00
5587130d48
Don't access event after freeing it
2009-04-02 10:14:08 +02:00
1babb5400b
Share the code to copy impl window regions w/ update_area
2009-04-02 10:14:08 +02:00
dc0e339697
Don't actually clear background when mapped, as that causes ugly flashed. Just queue a repaint.
...
This is what the X backend does too.
2009-04-02 10:14:08 +02:00
ee4211b9a8
Move flushing code to non-implicit-paint only call.
...
This is in preparation for other types of buffering
2009-04-02 10:14:08 +02:00
62a52f8fd3
Don't include composited childen in window clip region, update region when setting composited
2009-04-02 10:14:08 +02:00
191e8d1587
Ensure native window if composite requested
2009-04-02 10:14:08 +02:00
a9ca08f6eb
Don't draw on input_only windows
2009-04-02 10:14:07 +02:00
bb709321f0
Store colormap on impl window (necessary for e.g. foreign windows)
2009-04-02 10:14:07 +02:00
2fa6f32d8e
When reparenting, remove from old parent before setting the new parent
...
(otherwise we remove from the wrong parent)
2009-04-02 10:14:07 +02:00
533d3058b8
Fix some return value warnings
2009-04-02 10:14:07 +02:00
ede9c2cf74
Handle gdk_window_get_impl_window on root window
2009-04-02 10:14:07 +02:00
077eab6edf
Clear to end of window if passing zero width or height to gdk_window_clear_area (fixes clist/ctree clearing)
2009-04-02 10:14:07 +02:00
ec5d176278
Move gdk_window_get_deskrelative_origin to the GdkWindowImpl and make the common code handle abs_x/y
2009-04-02 10:14:07 +02:00