gtk3- Binding to the Gtk+ graphical user interface library.
Portabilityportable (depends on GHC)
Safe HaskellNone




A toplevel container widget used to manage offscreen rendering of child widgets.

  • Module available since Gtk+ version 2.20



OffscreenWindow is strictly intended to be used for obtaining snapshots of widgets that are not part of a normal widget hierarchy. It differs from widgetGetSnapshot 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 OffscreenWindow 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 OffscreenWindow and then retrieve the snapshot as a Pixmap or Pixbuf.

OffscreenWindow derives from Window only as an implementation detail. Applications should not use any API specific to Window to operate on this object. It should be treated as a Bin that has no parent widget.

When contained offscreen widgets are redrawn, OffscreenWindow will emit a damageEvent signal.

Class Hierarchy

| GObject
| +----Object
| +----Widget
| +----Container
| +----Bin
| +----Window
| +----OffscreenWindow



offscreenWindowNew :: IO OffscreenWindow Source

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, widgetGetSnapshot can be used instead.

  • Available since Gtk+ version 2.20


offscreenWindowGetPixbuf Source


:: OffscreenWindowClass self 
=> self

offscreen the OffscreenWindow contained widget.

-> IO (Maybe Pixbuf)

returns A Pixbuf pointer to the offscreen pixbuf, or Nothing.

Retrieves a snapshot of the contained widget in the form of a Pixbuf.

  • Available since Gtk+ version 2.20