]> Pileus Git - ~andy/gtk/log
~andy/gtk
15 years agoAdd support for scrolling to testwindows
Alexander Larsson [Wed, 21 Jan 2009 12:11:54 +0000 (13:11 +0100)]
Add support for scrolling to testwindows

15 years agoIfdef out x11 specific code
Alexander Larsson [Wed, 21 Jan 2009 10:23:51 +0000 (11:23 +0100)]
Ifdef out x11 specific code

15 years agoFix performance issue with find_native_sibling_above
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

15 years agoFix resize of native children
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()

15 years agoCall backend move_resize with the right coords/size
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

15 years agoMake _gdk_x11_window_tmp_unset_parent_bg not change above the toplevel window
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

15 years agoMake moving subwindows correctly handle native windows
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.

15 years agodo_move_region_bits_on_impl needs to copy from overlapping native windows too
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.

15 years agomove_region_on_impl - shortcut if region is empty
Alexander Larsson [Tue, 20 Jan 2009 21:17:06 +0000 (22:17 +0100)]
move_region_on_impl - shortcut if region is empty

15 years agoFix various problem with temporarily unsetting background
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)

15 years agoAvoid extending implicit paint size due to empty regions not working well with gdk_re...
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

15 years agoDon't flicker when unsetting shape (using bg none)
Alexander Larsson [Tue, 20 Jan 2009 19:46:24 +0000 (20:46 +0100)]
Don't flicker when unsetting shape (using bg none)

15 years agoMake testwindows support multiple selected windows
Alexander Larsson [Tue, 20 Jan 2009 08:02:52 +0000 (09:02 +0100)]
Make testwindows support multiple selected windows

15 years agoAlways set the shape when creating a native window.
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.

15 years agoAvoid lots of unnecessary computation when moving toplevel windows
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.

15 years agoRestack native window after reparent put it on top
Alexander Larsson [Mon, 19 Jan 2009 13:56:30 +0000 (14:56 +0100)]
Restack native window after reparent put it on top

15 years agoFix up native window handling in gdk_window_lower too
Alexander Larsson [Mon, 19 Jan 2009 13:41:08 +0000 (14:41 +0100)]
Fix up native window handling in gdk_window_lower too

15 years agoFix up gdk_window_raise and native window creation to not move native window above...
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

15 years agoAdd restack_under method to GdkWindomImpl
Alexander Larsson [Mon, 19 Jan 2009 11:47:38 +0000 (12:47 +0100)]
Add restack_under method to GdkWindomImpl

15 years agoMove all backend specific raise/lower code into _internal helpers
Alexander Larsson [Mon, 19 Jan 2009 09:40:13 +0000 (10:40 +0100)]
Move all backend specific raise/lower code into _internal helpers

15 years agoMake sure we handle clipping in gdk_window_draw_pixbuf if gc == NULL
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

15 years agoSend expose events to exposed area when changing the window shape
Alexander Larsson [Fri, 16 Jan 2009 14:09:39 +0000 (15:09 +0100)]
Send expose events to exposed area when changing the window shape

15 years agoForce native windows for all windows used with input events
Alexander Larsson [Fri, 16 Jan 2009 13:01:34 +0000 (14:01 +0100)]
Force native windows for all windows used with input events

15 years agoMake xfree gdkinput code compile
Alexander Larsson [Fri, 16 Jan 2009 12:52:16 +0000 (13:52 +0100)]
Make xfree gdkinput code compile

15 years agoHandle GDK_WA_CURSOR in non-native window creation
Alexander Larsson [Thu, 15 Jan 2009 18:13:06 +0000 (19:13 +0100)]
Handle GDK_WA_CURSOR in non-native window creation

15 years agoInclude inferiors when moving window parts
Alexander Larsson [Wed, 14 Jan 2009 21:24:41 +0000 (22:24 +0100)]
Include inferiors when moving window parts

15 years agoAdd _gdk_drawable_get_subwindow_scratch_gc as a way to get cached gcs with GDK_INCLU...
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

15 years agoSet bg none while changing so we don't draw the bg color
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

15 years agotests/testwindows - play with GdkWindows
Alexander Larsson [Wed, 14 Jan 2009 13:05:55 +0000 (14:05 +0100)]
tests/testwindows - play with GdkWindows

15 years agoRef imp even in non-native windows and don't NULL out in destroy so that get_screen...
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.

15 years agoCorrect type checks on gdk_window_set_group entry.
Alexander Larsson [Fri, 19 Dec 2008 10:07:09 +0000 (11:07 +0100)]
Correct type checks on gdk_window_set_group entry.

15 years agoWhen creating native window, set the native background
Alexander Larsson [Fri, 19 Dec 2008 09:38:47 +0000 (10:38 +0100)]
When creating native window, set the native background

15 years agoNeed to split up impl changing and reparenting so we can recompute abs_x/y inbetween
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

15 years agoAvoid flickering by using more temp unset bg
Alexander Larsson [Thu, 18 Dec 2008 21:08:39 +0000 (22:08 +0100)]
Avoid flickering by using more temp unset bg

15 years agoRecompute abs_x/y before reparenting windows due to new native window parent
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

15 years agoDon't destroy NULL region
Alexander Larsson [Thu, 18 Dec 2008 19:18:27 +0000 (20:18 +0100)]
Don't destroy NULL region

15 years agoFix gdk_window_get_root_origin and gdk_window_get_frame_extents when called on non...
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

15 years agoEnsure we show native window when creating them for already visible windows
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

15 years agoMove native window showing/hiding out of is_impl, we may need to do this for emulated...
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

15 years agoEnsure that we always invalidate newly exposed areas, as X may not (due to temp bg...
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)

15 years agoVarious fixes for native windows:
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

15 years agoUpdate abs_x/y before moving native children
Alexander Larsson [Thu, 18 Dec 2008 10:53:26 +0000 (11:53 +0100)]
Update abs_x/y before moving native children

15 years agoMove all native children (recursively) in gdk_window_scroll
Alexander Larsson [Thu, 18 Dec 2008 10:43:57 +0000 (11:43 +0100)]
Move all native children (recursively) in gdk_window_scroll

15 years agoEnsure that we're properly hiding impl window if one of its parent non-impl windows...
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

15 years agoDon't remove composited childrens area when processing updates
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

15 years agoHandle mask == NULL in shape_combine_mask
Alexander Larsson [Wed, 17 Dec 2008 12:57:48 +0000 (13:57 +0100)]
Handle mask == NULL in shape_combine_mask

15 years agoImplement input shapes
Alexander Larsson [Wed, 17 Dec 2008 10:24:46 +0000 (11:24 +0100)]
Implement input shapes

15 years agoRemove shape_combine_mask from backend. Make X11 backend use XShapeCombineMask direct...
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

15 years agoImplement shaped windows
Alexander Larsson [Tue, 16 Dec 2008 19:09:20 +0000 (20:09 +0100)]
Implement shaped windows

15 years agoAdd _gdk_windowing_window_get_shape
Alexander Larsson [Tue, 16 Dec 2008 13:38:10 +0000 (14:38 +0100)]
Add _gdk_windowing_window_get_shape

15 years agoCreate _gdk_drawable_create_cairo_surface to ugly typechecking
Alexander Larsson [Mon, 15 Dec 2008 14:50:41 +0000 (15:50 +0100)]
Create _gdk_drawable_create_cairo_surface to ugly typechecking

15 years agoMake gdk_windowing_window_destroy a GdkWindowImpl method
Alexander Larsson [Mon, 15 Dec 2008 14:04:44 +0000 (15:04 +0100)]
Make gdk_windowing_window_destroy a GdkWindowImpl method

15 years agoMake _gdk_windowing_window_queue_translation a GdkWindiwImpl call
Alexander Larsson [Mon, 15 Dec 2008 13:55:53 +0000 (14:55 +0100)]
Make _gdk_windowing_window_queue_translation a GdkWindiwImpl call

15 years agoRemove unnecessary clear_area method in GdkWindowImpl
Alexander Larsson [Mon, 15 Dec 2008 13:34:52 +0000 (14:34 +0100)]
Remove unnecessary clear_area method in GdkWindowImpl

15 years agoFor implicit grabs, we grab the *event* window, not the pointer window
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

15 years agoHandle cursors right with grabs
Alexander Larsson [Mon, 15 Dec 2008 13:16:54 +0000 (14:16 +0100)]
Handle cursors right with grabs

15 years agoImplement cursors
Alexander Larsson [Mon, 15 Dec 2008 13:02:52 +0000 (14:02 +0100)]
Implement cursors

15 years agoFix crossing event order and some details
Alexander Larsson [Mon, 15 Dec 2008 12:38:41 +0000 (13:38 +0100)]
Fix crossing event order and some details

15 years agoNew approach to motion event handling
Alexander Larsson [Mon, 15 Dec 2008 09:24:54 +0000 (10:24 +0100)]
New approach to motion event handling

15 years agogdk_window_draw_points() - make sure we use the offset points
Alexander Larsson [Wed, 10 Dec 2008 13:44:19 +0000 (14:44 +0100)]
gdk_window_draw_points() - make sure we use the offset points

15 years agoImplement flicker free handling of window moves/resizes
Alexander Larsson [Tue, 9 Dec 2008 19:13:02 +0000 (20:13 +0100)]
Implement flicker free handling of window moves/resizes

15 years agoAdd _gdk_pixmap_set_as_backing which is a way to get GraphicsExposures on pixmaps...
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

15 years agoDon't access event after freeing it
Alexander Larsson [Tue, 9 Dec 2008 12:35:46 +0000 (13:35 +0100)]
Don't access event after freeing it

15 years agoShare the code to copy impl window regions w/ update_area
Alexander Larsson [Tue, 9 Dec 2008 12:33:26 +0000 (13:33 +0100)]
Share the code to copy impl window regions w/ update_area

15 years agoDon't actually clear background when mapped, as that causes ugly flashed. Just queue...
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.

15 years agoMove flushing code to non-implicit-paint only call.
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

15 years agoDon't include composited childen in window clip region, update region when setting...
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

15 years agoEnsure native window if composite requested
Alexander Larsson [Mon, 8 Dec 2008 11:51:19 +0000 (12:51 +0100)]
Ensure native window if composite requested

15 years agoDon't draw on input_only windows
Alexander Larsson [Mon, 8 Dec 2008 11:34:04 +0000 (12:34 +0100)]
Don't draw on input_only windows

15 years agoStore colormap on impl window (necessary for e.g. foreign 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)

15 years agoWhen reparenting, remove from old parent before setting the new parent
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)

15 years agoDon't sent native MotionHint masks on pointer grabs as then we won't get enought...
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.

15 years agoFix some return value warnings
Alexander Larsson [Sat, 6 Dec 2008 22:22:24 +0000 (23:22 +0100)]
Fix some return value warnings

15 years agoHandle gdk_window_get_impl_window on root window
Alexander Larsson [Sat, 6 Dec 2008 22:01:39 +0000 (23:01 +0100)]
Handle gdk_window_get_impl_window on root window

15 years agoClear to end of window if passing zero width or height to gdk_window_clear_area ...
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)

15 years agoMove gdk_window_get_deskrelative_origin to the GdkWindowImpl and make the common...
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

15 years agoThe double get_composite_drawable case can happen for pixmap targets too, so move...
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

15 years agoFix draw_drawable being offset when using window as source (testgtk text test)
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)

15 years agogdk_bitmap_create_from_data - drawable may be NULL
Alexander Larsson [Thu, 4 Dec 2008 21:26:05 +0000 (22:26 +0100)]
gdk_bitmap_create_from_data - drawable may be NULL

15 years agogdk_pixmap_new - drawable may be NULL
Alexander Larsson [Thu, 4 Dec 2008 21:24:07 +0000 (22:24 +0100)]
gdk_pixmap_new - drawable may be NULL

15 years agogdk_pixmap_draw_pixbuf - gc may be NULL
Alexander Larsson [Thu, 4 Dec 2008 21:15:56 +0000 (22:15 +0100)]
gdk_pixmap_draw_pixbuf - gc may be NULL

15 years agoDon't convert foreign windows to child when reparented to non-toplevel
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

15 years agoTrack clip_mask in GdkGC. Fix gdk_gc_add_drawable_clip to handle clip masks
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

15 years agoMove _gdk_gc_remove_drawable_clip from after each time its set to before each pixmap...
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

15 years agoMove drawable clip tracking into GdkGC
Alexander Larsson [Thu, 4 Dec 2008 19:18:02 +0000 (20:18 +0100)]
Move drawable clip tracking into GdkGC

15 years agoMove clip offsetting into _gdk_gc_intersect_clip_region
Alexander Larsson [Thu, 4 Dec 2008 18:36:13 +0000 (19:36 +0100)]
Move clip offsetting into _gdk_gc_intersect_clip_region

15 years agoFix coordinates reported from gdk_window_get_pointer (had sign reversed)
Alexander Larsson [Thu, 4 Dec 2008 14:46:09 +0000 (15:46 +0100)]
Fix coordinates reported from gdk_window_get_pointer (had sign reversed)

15 years agoActually report x/y_root against the root window
Alexander Larsson [Thu, 4 Dec 2008 14:20:19 +0000 (15:20 +0100)]
Actually report x/y_root against the root window

15 years agoAvoid crash by not passing in NULL mask pointer to _gdk_windowing_get_pointer
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

15 years agoAdd g_warning to not yet supported code
Alexander Larsson [Thu, 4 Dec 2008 11:57:35 +0000 (12:57 +0100)]
Add g_warning to not yet supported code

15 years agoEnsure we have native window before reparenting to toplevel
Alexander Larsson [Thu, 4 Dec 2008 11:56:26 +0000 (12:56 +0100)]
Ensure we have native window before reparenting to toplevel

15 years agoFix up keyboard grab handling
Alexander Larsson [Thu, 4 Dec 2008 11:44:09 +0000 (12:44 +0100)]
Fix up keyboard grab handling

15 years agoGrab pointer on toplevel window, not on nearest native, so that we always get all...
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

15 years agoMake sure we change the event mask on native window if they change between 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

15 years agoChange assert to warning with some information
Alexander Larsson [Thu, 4 Dec 2008 09:22:28 +0000 (10:22 +0100)]
Change assert to warning with some information

15 years agoMake synchronized_configure work for child windows (used by in-process plugs) and...
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

15 years agoNever set shapes on foreign windows
Alexander Larsson [Wed, 3 Dec 2008 22:33:04 +0000 (23:33 +0100)]
Never set shapes on foreign windows

15 years agoFor foreign parents, use the real parent not the root (which is what we list as paren...
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)

15 years agoReally create a native window when getting xid
Alexander Larsson [Wed, 3 Dec 2008 10:55:17 +0000 (11:55 +0100)]
Really create a native window when getting xid

15 years agoExport gdk_window_set_has_native
Alexander Larsson [Wed, 3 Dec 2008 10:18:34 +0000 (11:18 +0100)]
Export gdk_window_set_has_native