]>
Pileus Git - ~andy/gtk/log
Alexander Larsson [Wed, 21 Jan 2009 12:11:54 +0000 (13:11 +0100)]
Add support for scrolling to testwindows
Alexander Larsson [Wed, 21 Jan 2009 10:23:51 +0000 (11:23 +0100)]
Ifdef out x11 specific code
Alexander Larsson [Tue, 20 Jan 2009 22:58:22 +0000 (23:58 +0100)]
Fix performance issue with find_native_sibling_above
It keep recursing a lot, unnecessary
Alexander Larsson [Tue, 20 Jan 2009 22:36:03 +0000 (23:36 +0100)]
Fix resize of native children
We now set the size to the right value before calling move_resize, so
the check for if the move_resize is just a move broke. Always call
move_resize()
Alexander Larsson [Tue, 20 Jan 2009 22:34:00 +0000 (23:34 +0100)]
Call backend move_resize with the right coords/size
We calculated and set the new position and size, just pass that.
This avoids parsing the "special values" again
Alexander Larsson [Tue, 20 Jan 2009 22:31:51 +0000 (23:31 +0100)]
Make _gdk_x11_window_tmp_unset_parent_bg not change above the toplevel window
Alexander Larsson [Tue, 20 Jan 2009 22:03:16 +0000 (23:03 +0100)]
Make moving subwindows correctly handle native windows
Whenever a native window is moved this causes an immediate change in
the window (the window content is copied). This change conflicts can
conflict with outstanding moves or other cached changed, so we need
to flush all outstanding moves in the related windows.
To simplify the code for window move/resize the toplevel version was
split out to its own function.
Move native windows after recomputing so that we get the right new
shape before moving (and the implied copy). This means we're not
copying too much data.
Take into account the area of a moved window that contains native
subwindows, as these affect things in two ways:
First of all we shouldn't copy the original window location, as that
is copied by the native window move.
Secondly, we can't copy things that would end up copying from the
native window move destination, as the data that used to be there is
now destroyed by the native window move.
Alexander Larsson [Tue, 20 Jan 2009 21:29:19 +0000 (22:29 +0100)]
do_move_region_bits_on_impl needs to copy from overlapping native windows too
It can happen that another native window is re-shaped over the region to
be moved, this will not destroy the data (since we're unsetting the background
when we reshape), but it will mean we need to read from this window.
We already used INCLUDE_INFERIORS, but that only handle subwindows. We fix
this by doing the copy on the toplevel, offsetting the copy to compensate for
this.
Alexander Larsson [Tue, 20 Jan 2009 21:17:06 +0000 (22:17 +0100)]
move_region_on_impl - shortcut if region is empty
Alexander Larsson [Tue, 20 Jan 2009 20:59:04 +0000 (21:59 +0100)]
Fix various problem with temporarily unsetting background
All the calls that unset private->parent failed if that was
not a native window (impl), instead we need to find the impl window
for the parent. Add some helper functions for this and use them.
For move/resize of child windows, we really need to recursively unset
on the parent, because moving the window could expose other native
children of the parent.
In do_shape_combine_region, only unset background if we're changing
the bounding shape (i.e. not the input shape)
Alexander Larsson [Tue, 20 Jan 2009 20:11:30 +0000 (21:11 +0100)]
Avoid extending implicit paint size due to empty regions not working well with gdk_rectangle_union on clipbox
Alexander Larsson [Tue, 20 Jan 2009 19:46:24 +0000 (20:46 +0100)]
Don't flicker when unsetting shape (using bg none)
Alexander Larsson [Tue, 20 Jan 2009 08:02:52 +0000 (09:02 +0100)]
Make testwindows support multiple selected windows
Alexander Larsson [Mon, 19 Jan 2009 15:49:34 +0000 (16:49 +0100)]
Always set the shape when creating a native window.
This is not always done by recompute_visible_regions, as
the clip region doesn't change.
Alexander Larsson [Mon, 19 Jan 2009 14:44:09 +0000 (15:44 +0100)]
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.
Alexander Larsson [Mon, 19 Jan 2009 13:56:30 +0000 (14:56 +0100)]
Restack native window after reparent put it on top
Alexander Larsson [Mon, 19 Jan 2009 13:41:08 +0000 (14:41 +0100)]
Fix up native window handling in gdk_window_lower too
Alexander Larsson [Mon, 19 Jan 2009 12:07:02 +0000 (13:07 +0100)]
Fix up gdk_window_raise and native window creation to not move native window above windows outside the non-native parent
Alexander Larsson [Mon, 19 Jan 2009 11:47:38 +0000 (12:47 +0100)]
Add restack_under method to GdkWindomImpl
Alexander Larsson [Mon, 19 Jan 2009 09:40:13 +0000 (10:40 +0100)]
Move all backend specific raise/lower code into _internal helpers
Alexander Larsson [Fri, 16 Jan 2009 14:45:18 +0000 (15:45 +0100)]
Make sure we handle clipping in gdk_window_draw_pixbuf if gc == NULL
Alexander Larsson [Fri, 16 Jan 2009 14:09:39 +0000 (15:09 +0100)]
Send expose events to exposed area when changing the window shape
Alexander Larsson [Fri, 16 Jan 2009 13:01:34 +0000 (14:01 +0100)]
Force native windows for all windows used with input events
Alexander Larsson [Fri, 16 Jan 2009 12:52:16 +0000 (13:52 +0100)]
Make xfree gdkinput code compile
Alexander Larsson [Thu, 15 Jan 2009 18:13:06 +0000 (19:13 +0100)]
Handle GDK_WA_CURSOR in non-native window creation
Alexander Larsson [Wed, 14 Jan 2009 21:24:41 +0000 (22:24 +0100)]
Include inferiors when moving window parts
Alexander Larsson [Wed, 14 Jan 2009 21:14:57 +0000 (22:14 +0100)]
Add _gdk_drawable_get_subwindow_scratch_gc as a way to get cached gcs with GDK_INCLUDE_INFERIORS
Alexander Larsson [Wed, 14 Jan 2009 20:20:26 +0000 (21:20 +0100)]
Set bg none while changing so we don't draw the bg color
Alexander Larsson [Wed, 14 Jan 2009 13:05:55 +0000 (14:05 +0100)]
tests/testwindows - play with GdkWindows
Alexander Larsson [Fri, 19 Dec 2008 13:44:51 +0000 (14:44 +0100)]
Ref imp even in non-native windows and don't NULL out in destroy so that get_screen works after destroy.
Alexander Larsson [Fri, 19 Dec 2008 10:07:09 +0000 (11:07 +0100)]
Correct type checks on gdk_window_set_group entry.
Alexander Larsson [Fri, 19 Dec 2008 09:38:47 +0000 (10:38 +0100)]
When creating native window, set the native background
Alexander Larsson [Thu, 18 Dec 2008 21:09:25 +0000 (22:09 +0100)]
Need to split up impl changing and reparenting so we can recompute abs_x/y inbetween
Alexander Larsson [Thu, 18 Dec 2008 21:08:39 +0000 (22:08 +0100)]
Avoid flickering by using more temp unset bg
Alexander Larsson [Thu, 18 Dec 2008 20:30:56 +0000 (21:30 +0100)]
Recompute abs_x/y before reparenting windows due to new native window parent
Alexander Larsson [Thu, 18 Dec 2008 19:18:27 +0000 (20:18 +0100)]
Don't destroy NULL region
Alexander Larsson [Thu, 18 Dec 2008 19:11:59 +0000 (20:11 +0100)]
Fix gdk_window_get_root_origin and gdk_window_get_frame_extents when called on non-toplevels
Alexander Larsson [Thu, 18 Dec 2008 13:59:54 +0000 (14:59 +0100)]
Ensure we show native window when creating them for already visible windows
Alexander Larsson [Thu, 18 Dec 2008 13:54:08 +0000 (14:54 +0100)]
Move native window showing/hiding out of is_impl, we may need to do this for emulated windows too
Alexander Larsson [Thu, 18 Dec 2008 13:29:28 +0000 (14:29 +0100)]
Ensure that we always invalidate newly exposed areas, as X may not (due to temp bg none)
Alexander Larsson [Thu, 18 Dec 2008 12:36:52 +0000 (13:36 +0100)]
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
Alexander Larsson [Thu, 18 Dec 2008 10:53:26 +0000 (11:53 +0100)]
Update abs_x/y before moving native children
Alexander Larsson [Thu, 18 Dec 2008 10:43:57 +0000 (11:43 +0100)]
Move all native children (recursively) in gdk_window_scroll
Alexander Larsson [Thu, 18 Dec 2008 10:30:10 +0000 (11:30 +0100)]
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
Alexander Larsson [Wed, 17 Dec 2008 18:45:56 +0000 (19:45 +0100)]
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
Alexander Larsson [Wed, 17 Dec 2008 12:57:48 +0000 (13:57 +0100)]
Handle mask == NULL in shape_combine_mask
Alexander Larsson [Wed, 17 Dec 2008 10:24:46 +0000 (11:24 +0100)]
Implement input shapes
Alexander Larsson [Wed, 17 Dec 2008 09:53:21 +0000 (10:53 +0100)]
Remove shape_combine_mask from backend. Make X11 backend use XShapeCombineMask directly to unset region
Alexander Larsson [Tue, 16 Dec 2008 19:09:20 +0000 (20:09 +0100)]
Implement shaped windows
Alexander Larsson [Tue, 16 Dec 2008 13:38:10 +0000 (14:38 +0100)]
Add _gdk_windowing_window_get_shape
Alexander Larsson [Mon, 15 Dec 2008 14:50:41 +0000 (15:50 +0100)]
Create _gdk_drawable_create_cairo_surface to ugly typechecking
Alexander Larsson [Mon, 15 Dec 2008 14:04:44 +0000 (15:04 +0100)]
Make gdk_windowing_window_destroy a GdkWindowImpl method
Alexander Larsson [Mon, 15 Dec 2008 13:55:53 +0000 (14:55 +0100)]
Make _gdk_windowing_window_queue_translation a GdkWindiwImpl call
Alexander Larsson [Mon, 15 Dec 2008 13:34:52 +0000 (14:34 +0100)]
Remove unnecessary clear_area method in GdkWindowImpl
Alexander Larsson [Mon, 15 Dec 2008 13:26:10 +0000 (14:26 +0100)]
For implicit grabs, we grab the *event* window, not the pointer window
Alexander Larsson [Mon, 15 Dec 2008 13:16:54 +0000 (14:16 +0100)]
Handle cursors right with grabs
Alexander Larsson [Mon, 15 Dec 2008 13:02:52 +0000 (14:02 +0100)]
Implement cursors
Alexander Larsson [Mon, 15 Dec 2008 12:38:41 +0000 (13:38 +0100)]
Fix crossing event order and some details
Alexander Larsson [Mon, 15 Dec 2008 09:24:54 +0000 (10:24 +0100)]
New approach to motion event handling
Alexander Larsson [Wed, 10 Dec 2008 13:44:19 +0000 (14:44 +0100)]
gdk_window_draw_points() - make sure we use the offset points
Alexander Larsson [Tue, 9 Dec 2008 19:13:02 +0000 (20:13 +0100)]
Implement flicker free handling of window moves/resizes
Alexander Larsson [Tue, 9 Dec 2008 19:10:59 +0000 (20:10 +0100)]
Add _gdk_pixmap_set_as_backing which is a way to get GraphicsExposures on pixmaps reported to the window they are backing store for
Alexander Larsson [Tue, 9 Dec 2008 12:35:46 +0000 (13:35 +0100)]
Don't access event after freeing it
Alexander Larsson [Tue, 9 Dec 2008 12:33:26 +0000 (13:33 +0100)]
Share the code to copy impl window regions w/ update_area
Alexander Larsson [Tue, 9 Dec 2008 11:32:36 +0000 (12:32 +0100)]
Don't actually clear background when mapped, as that causes ugly flashed. Just queue a repaint.
This is what the X backend does too.
Alexander Larsson [Tue, 9 Dec 2008 11:26:01 +0000 (12:26 +0100)]
Move flushing code to non-implicit-paint only call.
This is in preparation for other types of buffering
Alexander Larsson [Mon, 8 Dec 2008 18:22:20 +0000 (19:22 +0100)]
Don't include composited childen in window clip region, update region when setting composited
Alexander Larsson [Mon, 8 Dec 2008 11:51:19 +0000 (12:51 +0100)]
Ensure native window if composite requested
Alexander Larsson [Mon, 8 Dec 2008 11:34:04 +0000 (12:34 +0100)]
Don't draw on input_only windows
Alexander Larsson [Mon, 8 Dec 2008 11:19:10 +0000 (12:19 +0100)]
Store colormap on impl window (necessary for e.g. foreign windows)
Alexander Larsson [Sun, 7 Dec 2008 12:42:19 +0000 (13:42 +0100)]
When reparenting, remove from old parent before setting the new parent
(otherwise we remove from the wrong parent)
Alexander Larsson [Sun, 7 Dec 2008 11:17:48 +0000 (12:17 +0100)]
Don't sent native MotionHint masks on pointer grabs as then we won't get enought motion events reported.
Alexander Larsson [Sat, 6 Dec 2008 22:22:24 +0000 (23:22 +0100)]
Fix some return value warnings
Alexander Larsson [Sat, 6 Dec 2008 22:01:39 +0000 (23:01 +0100)]
Handle gdk_window_get_impl_window on root window
Alexander Larsson [Sat, 6 Dec 2008 21:55:09 +0000 (22:55 +0100)]
Clear to end of window if passing zero width or height to gdk_window_clear_area (fixes clist/ctree clearing)
Alexander Larsson [Sat, 6 Dec 2008 21:43:01 +0000 (22:43 +0100)]
Move gdk_window_get_deskrelative_origin to the GdkWindowImpl and make the common code handle abs_x/y
Alexander Larsson [Fri, 5 Dec 2008 20:42:22 +0000 (21:42 +0100)]
The double get_composite_drawable case can happen for pixmap targets too, so move the code to gdk_draw_drawable
Alexander Larsson [Fri, 5 Dec 2008 18:24:55 +0000 (19:24 +0100)]
Fix draw_drawable being offset when using window as source (testgtk text test)
Alexander Larsson [Thu, 4 Dec 2008 21:26:05 +0000 (22:26 +0100)]
gdk_bitmap_create_from_data - drawable may be NULL
Alexander Larsson [Thu, 4 Dec 2008 21:24:07 +0000 (22:24 +0100)]
gdk_pixmap_new - drawable may be NULL
Alexander Larsson [Thu, 4 Dec 2008 21:15:56 +0000 (22:15 +0100)]
gdk_pixmap_draw_pixbuf - gc may be NULL
Alexander Larsson [Thu, 4 Dec 2008 20:57:43 +0000 (21:57 +0100)]
Don't convert foreign windows to child when reparented to non-toplevel
Alexander Larsson [Thu, 4 Dec 2008 20:38:19 +0000 (21:38 +0100)]
Track clip_mask in GdkGC. Fix gdk_gc_add_drawable_clip to handle clip masks
Alexander Larsson [Thu, 4 Dec 2008 19:55:44 +0000 (20:55 +0100)]
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
Alexander Larsson [Thu, 4 Dec 2008 19:18:02 +0000 (20:18 +0100)]
Move drawable clip tracking into GdkGC
Alexander Larsson [Thu, 4 Dec 2008 18:36:13 +0000 (19:36 +0100)]
Move clip offsetting into _gdk_gc_intersect_clip_region
Alexander Larsson [Thu, 4 Dec 2008 14:46:09 +0000 (15:46 +0100)]
Fix coordinates reported from gdk_window_get_pointer (had sign reversed)
Alexander Larsson [Thu, 4 Dec 2008 14:20:19 +0000 (15:20 +0100)]
Actually report x/y_root against the root window
Alexander Larsson [Thu, 4 Dec 2008 12:07:25 +0000 (13:07 +0100)]
Avoid crash by not passing in NULL mask pointer to _gdk_windowing_get_pointer
Alexander Larsson [Thu, 4 Dec 2008 11:57:35 +0000 (12:57 +0100)]
Add g_warning to not yet supported code
Alexander Larsson [Thu, 4 Dec 2008 11:56:26 +0000 (12:56 +0100)]
Ensure we have native window before reparenting to toplevel
Alexander Larsson [Thu, 4 Dec 2008 11:44:09 +0000 (12:44 +0100)]
Fix up keyboard grab handling
Alexander Larsson [Thu, 4 Dec 2008 10:19:32 +0000 (11:19 +0100)]
Grab pointer on toplevel window, not on nearest native, so that we always get all events on toplevel
Alexander Larsson [Thu, 4 Dec 2008 09:32:08 +0000 (10:32 +0100)]
Make sure we change the event mask on native window if they change between toplevel and child
Alexander Larsson [Thu, 4 Dec 2008 09:22:28 +0000 (10:22 +0100)]
Change assert to warning with some information
Alexander Larsson [Thu, 4 Dec 2008 09:04:05 +0000 (10:04 +0100)]
Make synchronized_configure work for child windows (used by in-process plugs) and ensures a native window exist
Alexander Larsson [Wed, 3 Dec 2008 22:33:04 +0000 (23:33 +0100)]
Never set shapes on foreign windows
Alexander Larsson [Wed, 3 Dec 2008 21:00:56 +0000 (22:00 +0100)]
For foreign parents, use the real parent not the root (which is what we list as parent in the APIs)
Alexander Larsson [Wed, 3 Dec 2008 10:55:17 +0000 (11:55 +0100)]
Really create a native window when getting xid
Alexander Larsson [Wed, 3 Dec 2008 10:18:34 +0000 (11:18 +0100)]
Export gdk_window_set_has_native