2
// Generated by gtkmmproc -- DO NOT MODIFY!
3
#ifndef _GTKMM_OFFSCREENWINDOW_H
4
#define _GTKMM_OFFSCREENWINDOW_H
6
#include <gtkmmconfig.h>
12
* Copyright (C) 2010 The gtkmm Development Team
14
* This library is free software; you can redistribute it and/or
15
* modify it under the terms of the GNU Lesser General Public
16
* License as published by the Free Software Foundation; either
17
* version 2.1 of the License, or (at your option) any later version.
19
* This library is distributed in the hope that it will be useful,
20
* but WITHOUT ANY WARRANTY; without even the implied warranty of
21
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
22
* Lesser General Public License for more details.
24
* You should have received a copy of the GNU Lesser General Public
25
* License along with this library; if not, write to the Free
26
* Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
30
#include <gtkmm/window.h>
33
#ifndef DOXYGEN_SHOULD_SKIP_THIS
34
typedef struct _GtkOffscreenWindow GtkOffscreenWindow;
35
typedef struct _GtkOffscreenWindowClass GtkOffscreenWindowClass;
36
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
40
{ class OffscreenWindow_Class; } // namespace Gtk
44
/** A top-level container widget used to manage offscreen rendering of child widgets.
45
* OffscreenWindow is strictly intended to be used for obtaining
46
* snapshots of widgets that are not part of a normal widget hierarchy.
47
* It differs from Gtk::Widget::get_snapshot() in that the widget you
48
* want to get a snapshot of need not be displayed on the user's screen
49
* as a part of a widget hierarchy. However, since OffscreenWindow
50
* is a top-level widget you cannot obtain snapshots of a full window
51
* with it since you cannot pack a toplevel widget in another toplevel.
53
* The idea is to take a widget and manually set the state of it,
54
* add it to an OffscreenWindow and then retrieve the snapshot
57
* OffscreenWindow derives from Window only as an implementation
58
* detail. Applications should not use any API specific to #GtkWindow
59
* to operate on this object. It should be treated as a Bin that
60
* has no parent widget.
62
* When contained offscreen widgets are redrawn, OffscreenWindow
63
* will emit a "damage-event" signal.
70
class OffscreenWindow : public Window
73
#ifndef DOXYGEN_SHOULD_SKIP_THIS
74
typedef OffscreenWindow CppObjectType;
75
typedef OffscreenWindow_Class CppClassType;
76
typedef GtkOffscreenWindow BaseObjectType;
77
typedef GtkOffscreenWindowClass BaseClassType;
78
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
80
virtual ~OffscreenWindow();
82
#ifndef DOXYGEN_SHOULD_SKIP_THIS
85
friend class OffscreenWindow_Class;
86
static CppClassType offscreenwindow_class_;
89
OffscreenWindow(const OffscreenWindow&);
90
OffscreenWindow& operator=(const OffscreenWindow&);
93
explicit OffscreenWindow(const Glib::ConstructParams& construct_params);
94
explicit OffscreenWindow(GtkOffscreenWindow* castitem);
96
#endif /* DOXYGEN_SHOULD_SKIP_THIS */
99
#ifndef DOXYGEN_SHOULD_SKIP_THIS
100
static GType get_type() G_GNUC_CONST;
103
static GType get_base_type() G_GNUC_CONST;
106
///Provides access to the underlying C GtkObject.
107
GtkOffscreenWindow* gobj() { return reinterpret_cast<GtkOffscreenWindow*>(gobject_); }
109
///Provides access to the underlying C GtkObject.
110
const GtkOffscreenWindow* gobj() const { return reinterpret_cast<GtkOffscreenWindow*>(gobject_); }
114
//C++ methods used to invoke GTK+ virtual functions:
117
//GTK+ Virtual Functions (override these to change behaviour):
119
//Default Signal Handlers::
128
//TODO: Should this always be const?
131
Cairo::RefPtr<Cairo::Surface> get_surface();
133
Cairo::RefPtr<const Cairo::Surface> get_surface() const;
136
/** Retrieves a snapshot of the contained widget in the form of
137
* a Gdk::Pixbuf. This is a new pixbuf with a reference count of 1,
138
* and the application should unreference it once it is no longer
142
* @return A Gdk::Pixbuf pointer, or <tt>0</tt>.
144
Glib::RefPtr<Gdk::Pixbuf> get_pixbuf();
146
/** Retrieves a snapshot of the contained widget in the form of
147
* a Gdk::Pixbuf. This is a new pixbuf with a reference count of 1,
148
* and the application should unreference it once it is no longer
152
* @return A Gdk::Pixbuf pointer, or <tt>0</tt>.
154
Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const;
164
/** A Glib::wrap() method for this object.
166
* @param object The C instance.
167
* @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
168
* @result A C++ instance that wraps this C instance.
170
* @relates Gtk::OffscreenWindow
172
Gtk::OffscreenWindow* wrap(GtkOffscreenWindow* object, bool take_copy = false);
176
#endif /* _GTKMM_OFFSCREENWINDOW_H */