Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
76e23f00da
Update abs_x/y before moving native children
2009-04-02 10:15:17 +02:00
Alexander Larsson
4442463481
Move all native children (recursively) in gdk_window_scroll
2009-04-02 10:15:16 +02:00
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
890503099f
Handle mask == NULL in shape_combine_mask
2009-04-02 10:15:16 +02:00
Alexander Larsson
d7e369c27a
Implement input shapes
2009-04-02 10:15:16 +02:00
Alexander Larsson
e14e05addc
Remove shape_combine_mask from backend. Make X11 backend use XShapeCombineMask directly to unset region
2009-04-02 10:15:16 +02:00
Alexander Larsson
4ba2b181bf
Implement shaped windows
2009-04-02 10:15:16 +02:00
Alexander Larsson
062da50b9f
Add _gdk_windowing_window_get_shape
2009-04-02 10:15:16 +02:00
Alexander Larsson
0d540e935b
Create _gdk_drawable_create_cairo_surface to ugly typechecking
2009-04-02 10:15:15 +02:00
Alexander Larsson
0ba99e6e7b
Make gdk_windowing_window_destroy a GdkWindowImpl method
2009-04-02 10:15:15 +02:00
Alexander Larsson
36ce54878b
Make _gdk_windowing_window_queue_translation a GdkWindiwImpl call
2009-04-02 10:15:15 +02:00
Alexander Larsson
f22211c881
Remove unnecessary clear_area method in GdkWindowImpl
2009-04-02 10:15:15 +02:00
Alexander Larsson
d093be43e7
For implicit grabs, we grab the *event* window, not the pointer window
2009-04-02 10:15:15 +02:00
Alexander Larsson
83ee69740e
Handle cursors right with grabs
2009-04-02 10:15:15 +02:00
Alexander Larsson
7b2b9a0219
Implement cursors
2009-04-02 10:15:15 +02:00
Alexander Larsson
f2b50ff638
Fix crossing event order and some details
2009-04-02 10:15:15 +02:00
Alexander Larsson
b771c9924d
New approach to motion event handling
2009-04-02 10:15:11 +02:00
Alexander Larsson
afc81c9e64
gdk_window_draw_points() - make sure we use the offset points
2009-04-02 10:14:08 +02:00
Alexander Larsson
d74d94ce69
Implement flicker free handling of window moves/resizes
2009-04-02 10:14:08 +02:00
Alexander Larsson
1f5e104495
Add _gdk_pixmap_set_as_backing which is a way to get GraphicsExposures on pixmaps reported to the window they are backing store for
2009-04-02 10:14:08 +02:00
Alexander Larsson
5587130d48
Don't access event after freeing it
2009-04-02 10:14:08 +02:00
Alexander Larsson
1babb5400b
Share the code to copy impl window regions w/ update_area
2009-04-02 10:14:08 +02:00
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
62a52f8fd3
Don't include composited childen in window clip region, update region when setting composited
2009-04-02 10:14:08 +02:00
Alexander Larsson
191e8d1587
Ensure native window if composite requested
2009-04-02 10:14:08 +02:00
Alexander Larsson
a9ca08f6eb
Don't draw on input_only windows
2009-04-02 10:14:07 +02:00
Alexander Larsson
bb709321f0
Store colormap on impl window (necessary for e.g. foreign windows)
2009-04-02 10:14:07 +02:00
Alexander Larsson
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
Alexander Larsson
7536708c4b
Don't sent native MotionHint masks on pointer grabs as then we won't get enought motion events reported.
2009-04-02 10:14:07 +02:00
Alexander Larsson
533d3058b8
Fix some return value warnings
2009-04-02 10:14:07 +02:00
Alexander Larsson
ede9c2cf74
Handle gdk_window_get_impl_window on root window
2009-04-02 10:14:07 +02:00
Alexander Larsson
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
Alexander Larsson
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
Alexander Larsson
891440d288
The double get_composite_drawable case can happen for pixmap targets too, so move the code to gdk_draw_drawable
2009-04-02 10:14:07 +02:00
Alexander Larsson
b6e84d3105
Fix draw_drawable being offset when using window as source (testgtk text test)
2009-04-02 10:14:07 +02:00
Alexander Larsson
ac637d9d15
gdk_bitmap_create_from_data - drawable may be NULL
2009-04-02 10:14:06 +02:00
Alexander Larsson
be863a9056
gdk_pixmap_new - drawable may be NULL
2009-04-02 10:14:06 +02:00
Alexander Larsson
51d4efd8d2
gdk_pixmap_draw_pixbuf - gc may be NULL
2009-04-02 10:14:06 +02:00
Alexander Larsson
c7554a2c76
Don't convert foreign windows to child when reparented to non-toplevel
2009-04-02 10:14:06 +02:00
Alexander Larsson
b647c6e5fd
Track clip_mask in GdkGC. Fix gdk_gc_add_drawable_clip to handle clip masks
2009-04-02 10:14:06 +02:00
Alexander Larsson
864649157d
Move _gdk_gc_remove_drawable_clip from after each time its set to before each pixmap set and when adding a new different region
...
This means we can avoid changing the clip if we're drawing with the same gc to the same clip region
2009-04-02 10:14:06 +02:00
Alexander Larsson
e9ee842db1
Move drawable clip tracking into GdkGC
2009-04-02 10:14:06 +02:00
Alexander Larsson
5ff017e64e
Move clip offsetting into _gdk_gc_intersect_clip_region
2009-04-02 10:14:06 +02:00
Alexander Larsson
6a82287005
Fix coordinates reported from gdk_window_get_pointer (had sign reversed)
2009-04-02 10:14:06 +02:00
Alexander Larsson
47acf79494
Actually report x/y_root against the root window
2009-04-02 10:14:06 +02:00
Alexander Larsson
2e3661e453
Avoid crash by not passing in NULL mask pointer to _gdk_windowing_get_pointer
2009-04-02 10:14:05 +02:00