gtk2/gdk/x11
10:49:20 Tim Janik 4111cf2065 Bug 318807 – Offscreen windows and window redirection.
2008-03-18 10:49:20  Tim Janik  <timj@imendio.com>

	* Applied pixmap redirection patch by Alexander Larsson with
	various updates from:
	Bug 318807 – Offscreen windows and window redirection.


	Updates:

	* updated docs to mention "Since 2.16".

	* tests/testgtk.c: fixed snapshooting pixmap leak.
	convert pixmap to pixbuf after snapshooting, to compensate for different
	bit depths (occurs when snapshooting ARGB visuals and displaying the
	pixmap in an RGB visual).

	* gdk/gdkwindow.[hc]: made GdkWindowRedirect private.

	* gdk/gdkwindow.c: removed damage idle handler, there's no aparent
	need for it. enqueue damage notification as GDK_DAMAGE events
	for each painting redirection at the start of the event queue.
	consider windows with a redirection fully visible when invalidating,
	and when updating from backing store. cleaned up stale variables.

	* gdk/gdkevents.c: added _gdk_event_queue_prepend().

	* gtk/gtkwidget.c: fixed coordinates for !NO_WINDOW widgets in
	gtk_widget_get_snapshot; this fixes garbage snap offsets for gammacurve,
	tree, drawingarea, text, handlebox, etc.
	clip the redirected window hierarchy to window sizes, the visible
	rectangles don't need to be taken into account here.
	extended snapshooting docs to recommend gdk_pixbuf_get_from_drawable()
	in case pixmap visuals could mismatch.

	* gdk/x11/gdkwindow-x11.c: removed _gdk_windowing_window_get_visible_rect().


	Base patch:

	* tests/testgtk.c: add a "Snapshot" test to demonstrate snapshooting
	of possibly obscured widgets into an offscreen pixmap.

	* gtk/gtkwidget.[hc]: add GtkWidget::damage-event signal, add
	gtk_widget_get_snapshot() to render a widget's contents to a GdkPixmap.

	* gtk/gtkmain.c: dispatch GDK_DAMAGE events.

	* gdk/gdkwindow.c: moved outer gdk_window_new() and gdk_window_reparent()
	implementations here, adapted them to propagate redirects to child windows.
	gdk_window_end_paint(): copy repainted window contents to redirection pixmap,
	clipped to visible region. queue GDK_DAMAGE event delivery.
	gdk_window_redirect_to_drawable(): install window painting redirection.
	gdk_window_remove_redirection(): remove previously installed redirection.

	* gdk/x11/gdkwindow-x11.c: added _gdk_windowing_window_get_visible_rect(),
	renamed _gdk_window_new() and _gdk_window_reparent().

	* gdk/gdkwindow.h: added GdkWindowRedirect* to GdkWindowObject, export
	gdk_window_redirect_to_drawable() and gdk_window_remove_redirection().

	* gdk/gdkevents.h: added GDK_DAMAGE event type.

	* gdk/gdkevents.c: extract time and state from GDK_DAMAGE events.

	* gdk/gdkinternals.h: added internal prototypes.



svn path=/trunk/; revision=20122
2008-05-21 19:04:24 +00:00
..
checksettings.c map "gtk-touchscreen-mode" to the "Gtk/TouchscreenMode" XSettings 2006-02-27 14:08:06 +00:00
gdkapplaunchcontext-x11.c Update for gio API changes 2007-12-20 13:40:04 +00:00
gdkasync.c Defer the callbacks to an idle to avoid deadlock with xcb-ified libX11. 2007-03-09 05:28:00 +00:00
gdkasync.h
gdkcolor-x11.c Don't call XFreeColormap on foreign colormaps 2008-04-03 05:08:05 +00:00
gdkcursor-x11.c Only set the cursor size if it is != 0. 2006-01-25 15:41:40 +00:00
gdkdisplay-x11.c gdk/gdkdisplay.h gdk/gdkdrawable.h gdk/gdkevents.h gdk/gdkpango.h 2008-01-15 15:32:37 +00:00
gdkdisplay-x11.h Add RandR 1.2 support 2007-12-13 18:27:05 +00:00
gdkdnd-x11.c Cleanups 2006-10-08 05:32:07 +00:00
gdkdrawable-x11.c Don't leak ShmPixmapInfo. (#349858, Chris Wilson) 2006-08-15 17:05:00 +00:00
gdkdrawable-x11.h
gdkevents-x11.c gdk/gdkinternals.h gdk/gdkevents.c gdk/directfb/gdkevents-directfb.c 2008-05-06 22:35:13 +00:00
gdkfont-x11.c Fix small theoretical memory leaks. (#353916, Chris Wilson) 2006-09-09 05:31:07 +00:00
gdkgc-x11.c gdk/gdk.h gdk/gdkcairo.h gdk/gdkcolor.h gdk/gdkgc.h gdk/gdkinternals.h 2008-01-14 14:02:12 +00:00
gdkgeometry-x11.c gdk/gdk.h gdk/gdkcairo.h gdk/gdkcolor.h gdk/gdkgc.h gdk/gdkinternals.h 2008-01-14 14:02:12 +00:00
gdkglobals-x11.c Commit a patch by Behdad to fix typos, omissions and other errors in the 2006-09-10 06:39:16 +00:00
gdkim-x11.c Cleanups 2006-10-08 05:32:07 +00:00
gdkimage-x11.c Remove extraneous ; 2006-05-14 03:58:06 +00:00
gdkinput-none.c
gdkinput-x11.c don't forget to set the time in the returned GdkTimeCoords. 2008-01-04 16:21:42 +00:00
gdkinput-xfree.c Correct return_if_fail checks. (#379803, Tommi Komulainen) 2006-12-21 16:28:28 +00:00
gdkinput.c Make gtk_widget_set_extension_events() work on already realized widgets 2007-03-14 13:55:12 +00:00
gdkinputprivate.h
gdkkeys-x11.c Fix a small doc issues. 2008-02-15 19:02:44 +00:00
gdkmain-x11.c gdk/gdk.h gdk/gdkcairo.h gdk/gdkcolor.h gdk/gdkgc.h gdk/gdkinternals.h 2008-01-14 14:02:12 +00:00
gdkpixmap-x11.c Remove extraneous ; 2006-05-14 03:58:06 +00:00
gdkpixmap-x11.h
gdkprivate-x11.h gdk/gdk.h gdk/gdkcairo.h gdk/gdkcolor.h gdk/gdkgc.h gdk/gdkinternals.h 2008-01-14 14:02:12 +00:00
gdkproperty-x11.c
gdkscreen-x11.c Documentation fixes 2008-02-15 18:37:34 +00:00
gdkscreen-x11.h Add RandR 1.2 support 2007-12-13 18:27:05 +00:00
gdkselection-x11.c Avoid loading the ISO8859-1 iconv module. We're already doing all the 2007-11-12 15:51:55 +00:00
gdksettings.c Add a gtk-im-module GTK setting 2007-12-18 03:24:17 +00:00
gdkspawn-x11.c Handle child_setup being NULL. (#445691, Christopher Taylor) 2007-06-11 00:18:51 +00:00
gdktestutils-x11.c Documentation fixes 2008-02-15 18:37:34 +00:00
gdkvisual-x11.c Initialise nxvisuals to 0 in order to handle XGetVisualInfo() failures 2007-03-17 18:51:35 +00:00
gdkwindow-x11.c Bug 318807 – Offscreen windows and window redirection. 2008-05-21 19:04:24 +00:00
gdkwindow-x11.h Add support for composited child windows. (#412882, Ryan Lortie) 2007-06-01 12:16:12 +00:00
gdkx.h Add RandR 1.2 support 2007-12-13 18:27:05 +00:00
gdkxftdefaults.c
gdkxid.c
gxid_proto.h
Makefile.am Implement GAppLaunchContext in gdk, providing startup notification. 2007-12-13 05:16:33 +00:00
MwmUtil.h
xsettings-client.c Change the XSettingsWatchFunc to return a Bool to indicate success. Update 2007-04-10 23:16:30 +00:00
xsettings-client.h Change the XSettingsWatchFunc to return a Bool to indicate success. Update 2007-04-10 23:16:30 +00:00
xsettings-common.c
xsettings-common.h Add some missing symbols. 2007-05-23 17:49:34 +00:00