GtkOffscreenWindow
GtkOffscreenWindow — A toplevel to manage offscreen rendering of child widgets
|
|
Implemented Interfaces
GtkOffscreenWindow implements
AtkImplementorIface and GtkBuildable.
Includes
#include <gtk/gtk.h>
Description
GtkOffscreenWindow is strictly intended to be used for obtaining
snapshots of widgets that are not part of a normal widget hierarchy.
Since GtkOffscreenWindow is a toplevel widget you cannot obtain
snapshots of a full window with it since you cannot pack a toplevel
widget in another toplevel.
The idea is to take a widget and manually set the state of it,
add it to a GtkOffscreenWindow and then retrieve the snapshot
as a cairo_surface_t or GdkPixbuf.
GtkOffscreenWindow derives from GtkWindow only as an implementation
detail. Applications should not use any API specific to GtkWindow
to operate on this object. It should be treated as a GtkBin that
has no parent widget.
When contained offscreen widgets are redrawn, GtkOffscreenWindow
will emit a “damage-event” signal.
Functions
gtk_offscreen_window_new ()
GtkWidget *
gtk_offscreen_window_new (void);
Creates a toplevel container widget that is used to retrieve
snapshots of widgets without showing them on the screen.
Since: 2.20
gtk_offscreen_window_get_surface ()
cairo_surface_t *
gtk_offscreen_window_get_surface (GtkOffscreenWindow *offscreen);
Retrieves a snapshot of the contained widget in the form of
a cairo_surface_t. If you need to keep this around over window
resizes then you should add a reference to it.
Since: 2.20
gtk_offscreen_window_get_pixbuf ()
GdkPixbuf *
gtk_offscreen_window_get_pixbuf (GtkOffscreenWindow *offscreen);
Retrieves a snapshot of the contained widget in the form of
a GdkPixbuf. This is a new pixbuf with a reference count of 1,
and the application should unreference it once it is no longer
needed.
Returns
A GdkPixbuf pointer, or NULL.
[nullable][transfer full]
Since: 2.20
Types and Values
struct GtkOffscreenWindow
struct GtkOffscreenWindow;
struct GtkOffscreenWindowClass
struct GtkOffscreenWindowClass {
GtkWindowClass parent_class;
};