GTK+ 2 Reference Manual | ||||
---|---|---|---|---|
Top | Description | Object Hierarchy | Implemented Interfaces |
GtkOffscreenWindowGtkOffscreenWindow — A toplevel container widget used to manage offscreen rendering of child widgets. |
#include <gtk/gtk.h> struct GtkOffscreenWindow; GtkWidget * gtk_offscreen_window_new (void
); GdkPixmap * gtk_offscreen_window_get_pixmap (GtkOffscreenWindow *offscreen
); GdkPixbuf * gtk_offscreen_window_get_pixbuf (GtkOffscreenWindow *offscreen
);
GObject +----GInitiallyUnowned +----GtkObject +----GtkWidget +----GtkContainer +----GtkBin +----GtkWindow +----GtkOffscreenWindow
GtkOffscreenWindow is strictly intended to be used for obtaining
snapshots of widgets that are not part of a normal widget hierarchy.
It differs from gtk_widget_get_snapshot()
in that the widget you
want to get a snapshot of need not be displayed on the user's screen
as a part of a widget hierarchy. However, 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 GdkPixmap 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.
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. For
widgets that are on the screen and part of a normal widget
hierarchy, gtk_widget_get_snapshot()
can be used instead.
Returns : |
A pointer to a GtkWidget |
Since 2.20
GdkPixmap * gtk_offscreen_window_get_pixmap (GtkOffscreenWindow *offscreen
);
Retrieves a snapshot of the contained widget in the form of a GdkPixmap. If you need to keep this around over window resizes then you should add a reference to it.
|
the GtkOffscreenWindow contained widget. |
Returns : |
A GdkPixmap pointer to the offscreen pixmap,
or NULL . [transfer none]
|
Since 2.20
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.
|
the GtkOffscreenWindow contained widget. |
Returns : |
A GdkPixbuf pointer, or NULL . [transfer full]
|
Since 2.20