Ardour  8.7-14-g57a6773833
ydkmm/ydkmm/gdkmm/window.h
Go to the documentation of this file.
1 // -*- c++ -*-
2 // Generated by gmmproc 2.45.3 -- DO NOT MODIFY!
3 #ifndef _GDKMM_WINDOW_H
4 #define _GDKMM_WINDOW_H
5 
6 #include <gdkmmconfig.h>
7 
8 
9 #include <glibmm/ustring.h>
10 #include <sigc++/sigc++.h>
11 
12 /* Copyright(C) 1998-2002 The gtkmm Development Team
13  *
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.
18  *
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.
23  *
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.
27  */
28 
29 
30 #include <gdkmm/region.h>
31 #include <gdkmm/drawable.h>
32 #include <gdkmm/bitmap.h>
33 //#include <gdkmm/cursor.h>
34 #include <gdkmm/dragcontext.h>
35 #include <gdkmm/types.h>
36 
37 
38 #ifndef DOXYGEN_SHOULD_SKIP_THIS
39 extern "C" {
40 // Custom struct prototype, because this isn't what the code-generator expects:
41 typedef struct _GdkDrawable GdkWindow;
42 } // extern "C"
43 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
44 
45 #ifndef DOXYGEN_SHOULD_SKIP_THIS
46 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
47 
48 
49 #ifndef DOXYGEN_SHOULD_SKIP_THIS
50 namespace Gdk
51 { class Window_Class; } // namespace Gdk
52 #endif //DOXYGEN_SHOULD_SKIP_THIS
53 
54 namespace Gdk
55 {
56 
72 {
73  EXPOSURE_MASK = 1 << 1,
82  KEY_PRESS_MASK = 1 << 10,
83  KEY_RELEASE_MASK = 1 << 11,
84  ENTER_NOTIFY_MASK = 1 << 12,
85  LEAVE_NOTIFY_MASK = 1 << 13,
86  FOCUS_CHANGE_MASK = 1 << 14,
87  STRUCTURE_MASK = 1 << 15,
90  PROXIMITY_IN_MASK = 1 << 18,
91  PROXIMITY_OUT_MASK = 1 << 19,
92  SUBSTRUCTURE_MASK = 1 << 20,
93  SCROLL_MASK = 1 << 21,
94  ALL_EVENTS_MASK = 0x3FFFFE
95 };
96 
99  { return static_cast<EventMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
100 
103  { return static_cast<EventMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
104 
107  { return static_cast<EventMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
108 
111  { return static_cast<EventMask>(~static_cast<unsigned>(flags)); }
112 
115  { return (lhs = static_cast<EventMask>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
116 
119  { return (lhs = static_cast<EventMask>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
120 
123  { return (lhs = static_cast<EventMask>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
124 
125 } // namespace Gdk
126 
127 
128 #ifndef DOXYGEN_SHOULD_SKIP_THIS
129 namespace Glib
130 {
131 
132 template <>
133 class Value<Gdk::EventMask> : public Glib::Value_Flags<Gdk::EventMask>
134 {
135 public:
136  static GType value_type() G_GNUC_CONST;
137 };
138 
139 } // namespace Glib
140 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
141 
142 
143 namespace Gdk
144 {
145 
159 {
166  WINDOW_STATE_BELOW = 1 << 6
167 };
168 
171  { return static_cast<WindowState>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
172 
175  { return static_cast<WindowState>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
176 
179  { return static_cast<WindowState>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
180 
183  { return static_cast<WindowState>(~static_cast<unsigned>(flags)); }
184 
187  { return (lhs = static_cast<WindowState>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
188 
191  { return (lhs = static_cast<WindowState>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
192 
195  { return (lhs = static_cast<WindowState>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
196 
197 } // namespace Gdk
198 
199 
200 #ifndef DOXYGEN_SHOULD_SKIP_THIS
201 namespace Glib
202 {
203 
204 template <>
205 class Value<Gdk::WindowState> : public Glib::Value_Flags<Gdk::WindowState>
206 {
207 public:
208  static GType value_type() G_GNUC_CONST;
209 };
210 
211 } // namespace Glib
212 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
213 
214 
215 namespace Gdk
216 {
217 
223 {
231 };
232 
233 } // namespace Gdk
234 
235 
236 #ifndef DOXYGEN_SHOULD_SKIP_THIS
237 namespace Glib
238 {
239 
240 template <>
241 class Value<Gdk::WindowType> : public Glib::Value_Enum<Gdk::WindowType>
242 {
243 public:
244  static GType value_type() G_GNUC_CONST;
245 };
246 
247 } // namespace Glib
248 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
249 
250 
251 namespace Gdk
252 {
253 
267 {
268  WA_TITLE = 1 << 1,
269  WA_X = 1 << 2,
270  WA_Y = 1 << 3,
271  WA_CURSOR = 1 << 4,
272  WA_COLORMAP = 1 << 5,
273  WA_VISUAL = 1 << 6,
274  WA_WMCLASS = 1 << 7,
275  WA_NOREDIR = 1 << 8,
276  WA_TYPE_HINT = 1 << 9
277 };
278 
281  { return static_cast<WindowAttributesType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
282 
285  { return static_cast<WindowAttributesType>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
286 
289  { return static_cast<WindowAttributesType>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
290 
293  { return static_cast<WindowAttributesType>(~static_cast<unsigned>(flags)); }
294 
297  { return (lhs = static_cast<WindowAttributesType>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
298 
301  { return (lhs = static_cast<WindowAttributesType>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
302 
305  { return (lhs = static_cast<WindowAttributesType>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
306 
307 } // namespace Gdk
308 
309 
310 #ifndef DOXYGEN_SHOULD_SKIP_THIS
311 namespace Glib
312 {
313 
314 template <>
315 class Value<Gdk::WindowAttributesType> : public Glib::Value_Flags<Gdk::WindowAttributesType>
316 {
317 public:
318  static GType value_type() G_GNUC_CONST;
319 };
320 
321 } // namespace Glib
322 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
323 
324 
325 namespace Gdk
326 {
327 
341 {
342  HINT_POS = 1 << 0,
343  HINT_MIN_SIZE = 1 << 1,
344  HINT_MAX_SIZE = 1 << 2,
345  HINT_BASE_SIZE = 1 << 3,
346  HINT_ASPECT = 1 << 4,
347  HINT_RESIZE_INC = 1 << 5,
349  HINT_USER_POS = 1 << 7,
350  HINT_USER_SIZE = 1 << 8
351 };
352 
355  { return static_cast<WindowHints>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
356 
359  { return static_cast<WindowHints>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
360 
363  { return static_cast<WindowHints>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
364 
367  { return static_cast<WindowHints>(~static_cast<unsigned>(flags)); }
368 
371  { return (lhs = static_cast<WindowHints>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
372 
375  { return (lhs = static_cast<WindowHints>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
376 
379  { return (lhs = static_cast<WindowHints>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
380 
381 } // namespace Gdk
382 
383 
384 #ifndef DOXYGEN_SHOULD_SKIP_THIS
385 namespace Glib
386 {
387 
388 template <>
389 class Value<Gdk::WindowHints> : public Glib::Value_Flags<Gdk::WindowHints>
390 {
391 public:
392  static GType value_type() G_GNUC_CONST;
393 };
394 
395 } // namespace Glib
396 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
397 
398 
399 namespace Gdk
400 {
401 
407 {
422 };
423 
424 } // namespace Gdk
425 
426 
427 #ifndef DOXYGEN_SHOULD_SKIP_THIS
428 namespace Glib
429 {
430 
431 template <>
432 class Value<Gdk::WindowTypeHint> : public Glib::Value_Enum<Gdk::WindowTypeHint>
433 {
434 public:
435  static GType value_type() G_GNUC_CONST;
436 };
437 
438 } // namespace Glib
439 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
440 
441 
442 namespace Gdk
443 {
444 
458 {
459  DECOR_ALL = 1 << 0,
460  DECOR_BORDER = 1 << 1,
461  DECOR_RESIZEH = 1 << 2,
462  DECOR_TITLE = 1 << 3,
463  DECOR_MENU = 1 << 4,
464  DECOR_MINIMIZE = 1 << 5,
465  DECOR_MAXIMIZE = 1 << 6
466 };
467 
470  { return static_cast<WMDecoration>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
471 
474  { return static_cast<WMDecoration>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
475 
478  { return static_cast<WMDecoration>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
479 
482  { return static_cast<WMDecoration>(~static_cast<unsigned>(flags)); }
483 
486  { return (lhs = static_cast<WMDecoration>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
487 
490  { return (lhs = static_cast<WMDecoration>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
491 
494  { return (lhs = static_cast<WMDecoration>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
495 
496 } // namespace Gdk
497 
498 
499 #ifndef DOXYGEN_SHOULD_SKIP_THIS
500 namespace Glib
501 {
502 
503 template <>
504 class Value<Gdk::WMDecoration> : public Glib::Value_Flags<Gdk::WMDecoration>
505 {
506 public:
507  static GType value_type() G_GNUC_CONST;
508 };
509 
510 } // namespace Glib
511 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
512 
513 
514 namespace Gdk
515 {
516 
530 {
531  FUNC_ALL = 1 << 0,
532  FUNC_RESIZE = 1 << 1,
533  FUNC_MOVE = 1 << 2,
534  FUNC_MINIMIZE = 1 << 3,
535  FUNC_MAXIMIZE = 1 << 4,
536  FUNC_CLOSE = 1 << 5
537 };
538 
541  { return static_cast<WMFunction>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs)); }
542 
545  { return static_cast<WMFunction>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs)); }
546 
549  { return static_cast<WMFunction>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs)); }
550 
553  { return static_cast<WMFunction>(~static_cast<unsigned>(flags)); }
554 
557  { return (lhs = static_cast<WMFunction>(static_cast<unsigned>(lhs) | static_cast<unsigned>(rhs))); }
558 
561  { return (lhs = static_cast<WMFunction>(static_cast<unsigned>(lhs) & static_cast<unsigned>(rhs))); }
562 
565  { return (lhs = static_cast<WMFunction>(static_cast<unsigned>(lhs) ^ static_cast<unsigned>(rhs))); }
566 
567 } // namespace Gdk
568 
569 
570 #ifndef DOXYGEN_SHOULD_SKIP_THIS
571 namespace Glib
572 {
573 
574 template <>
575 class Value<Gdk::WMFunction> : public Glib::Value_Flags<Gdk::WMFunction>
576 {
577 public:
578  static GType value_type() G_GNUC_CONST;
579 };
580 
581 } // namespace Glib
582 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
583 
584 
585 namespace Gdk
586 {
587 
593 {
602 };
603 
604 } // namespace Gdk
605 
606 
607 #ifndef DOXYGEN_SHOULD_SKIP_THIS
608 namespace Glib
609 {
610 
611 template <>
612 class Value<Gdk::WindowEdge> : public Glib::Value_Enum<Gdk::WindowEdge>
613 {
614 public:
615  static GType value_type() G_GNUC_CONST;
616 };
617 
618 } // namespace Glib
619 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
620 
621 
622 namespace Gdk
623 {
624 
630 {
641 };
642 
643 } // namespace Gdk
644 
645 
646 #ifndef DOXYGEN_SHOULD_SKIP_THIS
647 namespace Glib
648 {
649 
650 template <>
651 class Value<Gdk::Gravity> : public Glib::Value_Enum<Gdk::Gravity>
652 {
653 public:
654  static GType value_type() G_GNUC_CONST;
655 };
656 
657 } // namespace Glib
658 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
659 
660 
661 namespace Gdk
662 {
663 
669 {
675 };
676 
677 } // namespace Gdk
678 
679 
680 #ifndef DOXYGEN_SHOULD_SKIP_THIS
681 namespace Glib
682 {
683 
684 template <>
685 class Value<Gdk::GrabStatus> : public Glib::Value_Enum<Gdk::GrabStatus>
686 {
687 public:
688  static GType value_type() G_GNUC_CONST;
689 };
690 
691 } // namespace Glib
692 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
693 
694 
695 namespace Gdk
696 {
697 
698 
699 class Cursor;
700 
707 class Window : public Gdk::Drawable
708 {
709  // GdkWindow is a typedef to GdkDrawable, but it's actually a GdkWindowObject.
710 
711 #ifndef DOXYGEN_SHOULD_SKIP_THIS
712 
713 public:
714  typedef Window CppObjectType;
715  typedef Window_Class CppClassType;
716  typedef GdkWindow BaseObjectType;
717  typedef GdkWindowObjectClass BaseClassType;
718 
719 private: friend class Window_Class;
720  static CppClassType window_class_;
721 
722 private:
723  // noncopyable
724  Window(const Window&);
725  Window& operator=(const Window&);
726 
727 protected:
728  explicit Window(const Glib::ConstructParams& construct_params);
729  explicit Window(GdkWindow* castitem);
730 
731 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
732 
733 public:
734  virtual ~Window();
735 
738  static GType get_type() G_GNUC_CONST;
739 
740 #ifndef DOXYGEN_SHOULD_SKIP_THIS
741 
742 
743  static GType get_base_type() G_GNUC_CONST;
744 #endif
745 
747  GdkWindow* gobj() { return reinterpret_cast<GdkWindow*>(gobject_); }
748 
750  const GdkWindow* gobj() const { return reinterpret_cast<GdkWindow*>(gobject_); }
751 
754 
755 private:
756 
757 
758 protected:
759  Window(const Glib::RefPtr<Window>& parent, GdkWindowAttr* attributes, int attributes_mask);
760 
761 public:
762 
763  static Glib::RefPtr<Window> create(const Glib::RefPtr<Window>& parent, GdkWindowAttr* attributes, int attributes_mask);
764 
765 
771 
772 
777  Glib::RefPtr<Visual> get_visual();
778 
783  Glib::RefPtr<const Visual> get_visual() const;
784 
785 
790  Glib::RefPtr<Screen> get_screen();
791 
796  Glib::RefPtr<const Screen> get_screen() const;
797 
798 
803  Glib::RefPtr<Display> get_display();
804 
809  Glib::RefPtr<const Display> get_display() const;
810 
811 
822  void show();
823 
829  void hide();
830 
835  void withdraw();
836 
846 
859  void move(int x, int y);
860 
873  void resize(int width, int height);
874 
885  void move_resize(int x, int y, int width, int height);
886 
894  void reparent(const Glib::RefPtr<Window>& new_parent, int x, int y);
895 
898  void clear();
899 
907  void clear_area(int x, int y, int width, int height);
908 
920  void clear_area_e(int x, int y, int width, int height);
921 
930  void raise();
931 
943  void lower();
944 
945 
960  void restack(const Glib::RefPtr<Window>& sibling, bool above);
961 
971  void restack(bool above);
972 
973 
979  void focus(guint32 timestamp);
980 
991  void set_user_data(gpointer user_data);
992 
1004  void set_override_redirect(bool override_redirect = true);
1005 
1006  //We could wrap these with a Slot instead of a C callback, but these methods are very low-level anyway.
1007 
1020  void add_filter(GdkFilterFunc function, gpointer data);
1021 
1027  void remove_filter(GdkFilterFunc function, gpointer data);
1028 
1029 
1037  void scroll(int dx, int dy);
1038 
1049  void move_region(const Region& region, int dx, int dy);
1050 
1061 
1062 
1083  void shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y);
1085 
1086 
1107  void shape_combine_region(const Region& shape_region, int offset_x, int offset_y);
1108 
1115 
1122  bool get_composited() const;
1123 
1149  void set_composited(bool composited = TRUE);
1150 
1161 
1162 
1184  void input_shape_combine_mask(const Glib::RefPtr<Bitmap>& mask, int x, int y);
1185 
1207  void input_shape_combine_region(const Region& shape_region, int offset_x, int offset_y);
1208 
1215 
1226 
1227 
1233  bool is_visible() const;
1234 
1242  bool is_viewable() const;
1243 
1248  bool is_input_only() const;
1249 
1254  bool is_shaped() const;
1255 
1262 
1271  bool set_static_gravities(bool use_static = true);
1272 
1278  bool has_native() const;
1279 
1290 
1296 
1302  bool get_modal_hint() const;
1303 
1314  void set_modal_hint(bool modal = true);
1315 
1341  void set_geometry_hints(const Geometry& geometry, WindowHints geom_mask);
1342 
1355  static void set_sm_client_id(const Glib::ustring& sm_client_id);
1356  static void unset_sm_client_id();
1357 
1358  //Note: The rectangle parameter was made const in GTK+ 2.16, but we can't change that in our C++ API. TODO: Change it when we can do an ABI break.
1359 
1360 
1368 
1410  void begin_paint_region(const Region& region);
1411 
1420  void end_paint();
1421 
1438  void flush();
1439 
1448  void set_title(const Glib::ustring& title);
1449 
1465  void set_role(const Glib::ustring& role);
1466 
1472  void set_startup_id(const Glib::ustring& startup_id);
1473 
1484  void set_transient_for(const Glib::RefPtr<Window>& parent);
1485 
1499 
1515  void set_back_pixmap(const Glib::RefPtr<Pixmap>& pixmap, bool parent_relative = true);
1516 
1526 
1527 
1535  ::Cairo::RefPtr< ::Cairo::Pattern> get_background_pattern();
1536 
1537 
1545  ::Cairo::RefPtr<const ::Cairo::Pattern> get_background_pattern() const;
1546 
1547 
1554  void set_cursor(const Cursor& cursor);
1555 
1559  void set_cursor();
1560 
1561  //TODO: GdkCursor is a ref-counted boxed type,
1562  //so we could add a copy constructor and then return by value.
1563  //We would also need a Cursor::operator bool() to check for a null value.
1564  //TODO: _WRAP_METHOD(Cursor get_cursor(), gdk_window_get_cursor)
1565 
1566 
1572  void get_user_data(gpointer* data);
1573 
1602  void get_geometry(int& x, int& y, int& width, int& height, int& depth) const;
1603 
1612  int get_width() const;
1613 
1622  int get_height() const;
1623 
1635  void get_position(int& x, int& y) const;
1636 
1646  int get_origin(int& x, int& y) const;
1647 
1658  void get_root_coords(int x, int y, int& root_x, int& root_y);
1659 
1684  void coords_to_parent(double x, double y, double& parent_x, double& parent_y);
1685 
1708  void coords_from_parent(double parent_x, double parent_y, double& x, double& y);
1709 
1710 
1717  void get_root_origin(int& x, int& y) const;
1718 
1727 
1742  Glib::RefPtr<Window> get_pointer(int& x, int& y, ModifierType& mask);
1743 
1758  Glib::RefPtr<Window> get_parent();
1759 
1774  Glib::RefPtr<const Window> get_parent() const;
1775 
1789  Glib::RefPtr<Window> get_toplevel();
1790 
1804  Glib::RefPtr<const Window> get_toplevel() const;
1805 
1806 
1815  Glib::RefPtr<Window> get_effective_parent();
1816 
1825  Glib::RefPtr<const Window> get_effective_parent() const;
1826 
1836  Glib::RefPtr<Window> get_effective_toplevel();
1837  //gtkmmproc error: gdk_window_effective_get_toplevel : method defs lookup failed (1)
1838 
1839 
1850  Glib::ListHandle< Glib::RefPtr<Window> > get_children();
1851 
1862  Glib::ListHandle< Glib::RefPtr<const Window> > get_children() const;
1863  //gdk_window_peek_children() is the same as gdk_window_get_children() with different memory mangement of the list.
1864 
1865 
1871 
1879  void set_events(EventMask event_mask);
1880 
1881 
1892  void set_icon_list(const Glib::ListHandle< Glib::RefPtr<Gdk::Pixbuf> >& pixbufs);
1893 
1904  void set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap, const Glib::RefPtr<Bitmap>& mask);
1905  void set_icon(const Glib::RefPtr<Window>& icon_window, const Glib::RefPtr<Pixmap>& pixmap);
1906  void unset_icon();
1907 
1921  void set_icon_name(const Glib::ustring& name);
1922 
1923 
1937  void set_group(const Glib::RefPtr<Window>& leader);
1938 
1943  Glib::RefPtr<Window> get_group();
1944 
1949  Glib::RefPtr<const Window> get_group() const;
1950 
1951 
1969  void set_decorations(WMDecoration decorations);
1970 
1976  bool get_decorations(WMDecoration& decorations) const;
1977 
1994  void set_functions(WMFunction functions);
1995 
1996 
1997 #ifndef GDKMM_DISABLE_DEPRECATED
1998 
2006  static Glib::ListHandle< Glib::RefPtr<Window> > get_toplevels();
2007 #endif // GDKMM_DISABLE_DEPRECATED
2008 
2009 
2031  ::Cairo::RefPtr< ::Cairo::Surface> create_similar_surface(::Cairo::Content content, int width, int height);
2032 
2033 
2038  void beep();
2039 
2040 
2047  void iconify();
2048 
2055  void deiconify();
2056 
2067  void stick();
2068 
2072  void unstick();
2073 
2086  void maximize();
2087 
2100  void unmaximize();
2101 
2103 
2116  void begin_resize_drag(WindowEdge edge, int button, int root_x, int root_y, guint32 timestamp);
2117 
2130  void begin_move_drag(int button, int root_x, int root_y, guint32 timestamp);
2131 
2138  Glib::RefPtr<DragContext> drag_begin(const Glib::StringArrayHandle& targets);
2139 
2140 
2149  void invalidate_rect(const Rectangle& rect, bool invalidate_children);
2150 
2155  void invalidate(bool invalidate_children);
2156 
2157 
2179  void invalidate_region(const Region& region, bool invalidate_children = true);
2180 
2181 
2191  //This method should not have a const version - see the docs.
2192 
2193 
2201 
2205 
2209  static void process_all_updates();
2210 
2222  void process_updates(bool update_children);
2223 
2246  static void set_debug_updates(bool setting = true);
2247 
2258  static void constrain_size(const Geometry& geometry, guint flags, int width, int height, int& new_width, int& new_height);
2259  void get_internal_paint_info(Glib::RefPtr<Drawable>& real_drawable, int& x_offset, int& y_offset) const;
2260 
2261 
2274 
2285 
2286 
2296  void set_skip_taskbar_hint(bool skips_taskbar = true);
2297 
2309  void set_skip_pager_hint(bool skips_pager = true);
2310 
2311 
2317  void set_urgency_hint(bool urgent = true);
2318 
2319 
2334  void fullscreen();
2335 
2348 
2349 
2350  GrabStatus pointer_grab(bool owner_events, EventMask event_mask, const Glib::RefPtr<const Window>& confine_to, const Cursor& cursor, guint32 time_);
2351 
2361  GrabStatus pointer_grab(bool owner_events, EventMask event_mask, const Cursor& cursor, guint32 timestamp);
2362 
2371  GrabStatus pointer_grab(bool owner_events, EventMask event_mask, guint32 timestamp);
2372 
2373 
2380  static void pointer_ungrab(guint32 timestamp);
2381 
2382  GrabStatus keyboard_grab(bool owner_events, guint32 timestamp);
2383 
2390  static void keyboard_ungrab(guint32 timestamp);
2391 
2392 
2405  void set_keep_above(bool setting = true);
2406 
2419  void set_keep_below(bool setting = true);
2420 
2421 
2435  void set_opacity(double opacity);
2436 
2437 
2443  bool get_accept_focus() const;
2444 
2453  void set_accept_focus(bool accept_focus = true);
2454 
2455 
2462  bool get_focus_on_map() const;
2463 
2475  void set_focus_on_map(bool focus_on_map);
2476 
2477 
2483  static Glib::RefPtr<Window> get_default_root_window();
2484 
2485 
2493  Glib::RefPtr<Pixmap> get_offscreen_pixmap();
2494 
2502  Glib::RefPtr<const Pixmap> get_offscreen_pixmap() const;
2503 
2504 
2511  Glib::RefPtr<Window> get_offscreen_embedder();
2512 
2519  Glib::RefPtr<const Window> get_offscreen_embedder() const;
2520 
2521 
2531  void set_offscreen_embedder(const Glib::RefPtr<Window>& embedder);
2532 
2533 
2554  void redirect_to_drawable(const Glib::RefPtr<Drawable>& drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height);
2555 
2560 
2561 
2567 
2568  //TODO: Wrap these? Find out when they are emitted and if they are useful outside of GTK+, and improve the C docs.
2569  //_WRAP_SIGNAL(Glib::RefPtr<Gdk::Window> pick_embedded_child(double x, double y), pick-embedded-child, no_default_handler)
2570  //_WRAP_SIGNAL(Glib::RefPtr<Gdk::Window> to_embedder(double offscreen_x, double offscreen_y, double& embedder_x, double& embedder_y), to-embedder, no_default_handler)
2571  //_WRAP_SIGNAL(Glib::RefPtr<Gdk::Window> from_embedder(double embedder_x, double embedder_y, double& offscreen_x, double& offscreen_y), from-embedder, no_default_handler)
2572 
2573 
2574  //TODO: _WRAP_PROPERTY("cursor", Cursor)
2575 
2576 
2577 public:
2578 
2579 public:
2580  //C++ methods used to invoke GTK+ virtual functions:
2581 
2582 protected:
2583  //GTK+ Virtual Functions (override these to change behaviour):
2584 
2585  //Default Signal Handlers::
2586 
2587 
2588 };
2589 
2590 } // namespace Gdk
2591 
2592 
2593 namespace Glib
2594 {
2603  Glib::RefPtr<Gdk::Window> wrap(GdkWindowObject* object, bool take_copy = false);
2604 }
2605 
2606 
2607 #endif /* _GDKMM_WINDOW_H */
2608 
WindowType
Definition: Window.h:23
Glib::RefPtr< const Display > get_display() const
void set_child_shapes()
void fullscreen()
GdkWindow * gobj()
Provides access to the underlying C GObject.
void get_root_origin(int &x, int &y) const
void set_icon(const Glib::RefPtr< Window > &icon_window, const Glib::RefPtr< Pixmap > &pixmap, const Glib::RefPtr< Bitmap > &mask)
Glib::RefPtr< Window > get_effective_parent()
void thaw_updates()
Glib::RefPtr< Window > get_toplevel()
EventMask get_events() const
void restack(bool above)
void freeze_updates()
void invalidate_region(const Region &region, bool invalidate_children=true)
void coords_from_parent(double parent_x, double parent_y, double &x, double &y)
void clear_area_e(int x, int y, int width, int height)
void get_root_coords(int x, int y, int &root_x, int &root_y)
void move_region(const Region &region, int dx, int dy)
void reparent(const Glib::RefPtr< Window > &new_parent, int x, int y)
void set_keep_below(bool setting=true)
Glib::RefPtr< const Window > get_parent() const
void end_paint()
void set_modal_hint(bool modal=true)
void unstick()
bool get_decorations(WMDecoration &decorations) const
void set_startup_id(const Glib::ustring &startup_id)
void lower()
void set_back_pixmap(const Glib::RefPtr< Pixmap > &pixmap, bool parent_relative=true)
bool has_native() const
void set_functions(WMFunction functions)
GrabStatus pointer_grab(bool owner_events, EventMask event_mask, guint32 timestamp)
void deiconify()
void coords_to_parent(double x, double y, double &parent_x, double &parent_y)
void show_unraised()
void flush()
bool ensure_native()
void set_keep_above(bool setting=true)
bool get_focus_on_map() const
Glib::RefPtr< Pixmap > get_offscreen_pixmap()
void set_skip_taskbar_hint(bool skips_taskbar=true)
int get_origin(int &x, int &y) const
void enable_synchronized_configure()
int get_width() const
void set_background(const Color &color)
bool get_modal_hint() const
static void process_all_updates()
void add_filter(GdkFilterFunc function, gpointer data)
void set_type_hint(WindowTypeHint hint)
void unfullscreen()
void merge_child_shapes()
static Glib::RefPtr< Window > create(const Glib::RefPtr< Window > &parent, GdkWindowAttr *attributes, int attributes_mask)
void input_shape_combine_mask(const Glib::RefPtr< Bitmap > &mask, int x, int y)
void set_child_input_shapes()
void maximize()
bool is_viewable() const
void shape_combine_region(const Region &shape_region, int offset_x, int offset_y)
void begin_resize_drag(WindowEdge edge, int button, int root_x, int root_y, guint32 timestamp)
Glib::RefPtr< Window > get_offscreen_embedder()
::Cairo::RefPtr< ::Cairo::Pattern > get_background_pattern()
void register_dnd()
void get_internal_paint_info(Glib::RefPtr< Drawable > &real_drawable, int &x_offset, int &y_offset) const
Glib::RefPtr< Window > get_effective_toplevel()
bool is_visible() const
void remove_redirection()
static void set_sm_client_id(const Glib::ustring &sm_client_id)
void clear_area(int x, int y, int width, int height)
Glib::RefPtr< const Window > get_offscreen_embedder() const
Region get_update_area()
void clear()
Glib::ListHandle< Glib::RefPtr< Window > > get_children()
bool get_accept_focus() const
static Glib::RefPtr< Window > get_default_root_window()
Glib::RefPtr< const Window > get_effective_parent() const
Glib::RefPtr< const Window > get_group() const
GrabStatus pointer_grab(bool owner_events, EventMask event_mask, const Glib::RefPtr< const Window > &confine_to, const Cursor &cursor, guint32 time_)
void iconify()
void set_user_data(gpointer user_data)
void set_geometry_hints(const Geometry &geometry, WindowHints geom_mask)
void process_updates(bool update_children)
bool is_shaped() const
void unset_icon()
void unset_back_pixmap()
void stick()
static void set_debug_updates(bool setting=true)
bool set_static_gravities(bool use_static=true)
static void constrain_size(const Geometry &geometry, guint flags, int width, int height, int &new_width, int &new_height)
void focus(guint32 timestamp)
Glib::RefPtr< Window > get_pointer(int &x, int &y, ModifierType &mask)
WindowTypeHint get_type_hint()
void scroll(int dx, int dy)
void get_position(int &x, int &y) const
void shape_combine_mask(const Glib::RefPtr< Bitmap > &mask, int x, int y)
void get_user_data(gpointer *data)
Window(const Glib::RefPtr< Window > &parent, GdkWindowAttr *attributes, int attributes_mask)
virtual ~Window()
void set_decorations(WMDecoration decorations)
int get_height() const
void set_title(const Glib::ustring &title)
Glib::RefPtr< const Window > get_toplevel() const
void set_icon(const Glib::RefPtr< Window > &icon_window, const Glib::RefPtr< Pixmap > &pixmap)
void unset_shape_combine_mask()
void restack(const Glib::RefPtr< Window > &sibling, bool above)
Glib::RefPtr< Screen > get_screen()
void set_urgency_hint(bool urgent=true)
void remove_filter(GdkFilterFunc function, gpointer data)
void begin_paint_rect(Rectangle &rectangle)
::Cairo::RefPtr< ::Cairo::Surface > create_similar_surface(::Cairo::Content content, int width, int height)
Glib::RefPtr< DragContext > drag_begin(const Glib::StringArrayHandle &targets)
GrabStatus pointer_grab(bool owner_events, EventMask event_mask, const Cursor &cursor, guint32 timestamp)
void set_skip_pager_hint(bool skips_pager=true)
void withdraw()
Glib::RefPtr< Visual > get_visual()
void redirect_to_drawable(const Glib::RefPtr< Drawable > &drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height)
void set_override_redirect(bool override_redirect=true)
const GdkWindow * gobj() const
Provides access to the underlying C GObject.
static GType get_type() G_GNUC_CONST
void set_icon_list(const Glib::ListHandle< Glib::RefPtr< Gdk::Pixbuf > > &pixbufs)
void get_frame_extents(Rectangle &rect)
void get_geometry(int &x, int &y, int &width, int &height, int &depth) const
void invalidate(bool invalidate_children)
static void unset_sm_client_id()
void set_transient_for(const Glib::RefPtr< Window > &parent)
void set_cursor()
void set_composited(bool composited=TRUE)
void set_cursor(const Cursor &cursor)
void set_offscreen_embedder(const Glib::RefPtr< Window > &embedder)
Glib::ListHandle< Glib::RefPtr< const Window > > get_children() const
void move(int x, int y)
static Glib::ListHandle< Glib::RefPtr< Window > > get_toplevels()
void set_events(EventMask event_mask)
Glib::RefPtr< const Pixmap > get_offscreen_pixmap() const
Glib::RefPtr< Window > get_parent()
void resize(int width, int height)
void set_group(const Glib::RefPtr< Window > &leader)
void set_icon_name(const Glib::ustring &name)
Glib::RefPtr< Gdk::Window > wrap(GdkWindowObject *object, bool take_copy=false)
static void pointer_ungrab(guint32 timestamp)
void set_accept_focus(bool accept_focus=true)
bool is_input_only() const
Glib::RefPtr< Display > get_display()
Glib::RefPtr< Window > get_group()
void unmaximize()
static void keyboard_ungrab(guint32 timestamp)
WindowState get_state() const
GdkWindow * gobj_copy()
Provides access to the underlying C instance. The caller is responsible for unrefing it....
void set_focus_on_map(bool focus_on_map)
void merge_child_input_shapes()
void begin_paint_region(const Region &region)
::Cairo::RefPtr< const ::Cairo::Pattern > get_background_pattern() const
WindowType get_window_type() const
void configure_finished()
GrabStatus keyboard_grab(bool owner_events, guint32 timestamp)
void set_role(const Glib::ustring &role)
void geometry_changed()
void begin_move_drag(int button, int root_x, int root_y, guint32 timestamp)
void set_opacity(double opacity)
bool get_composited() const
Glib::RefPtr< const Visual > get_visual() const
void move_resize(int x, int y, int width, int height)
Glib::RefPtr< const Screen > get_screen() const
void input_shape_combine_region(const Region &shape_region, int offset_x, int offset_y)
void invalidate_rect(const Rectangle &rect, bool invalidate_children)
GdkFilterReturn(* GdkFilterFunc)(GdkXEvent *xevent, GdkEvent *event, gpointer data)
Definition: gdkevents.h:87
WMFunction operator^(WMFunction lhs, WMFunction rhs)
WMFunction & operator^=(WMFunction &lhs, WMFunction rhs)
WMFunction & operator|=(WMFunction &lhs, WMFunction rhs)
WMFunction & operator&=(WMFunction &lhs, WMFunction rhs)
DragAction operator&(DragAction lhs, DragAction rhs)
Definition: dragcontext.h:82
DragAction & operator|=(DragAction &lhs, DragAction rhs)
Definition: dragcontext.h:94
WMFunction operator&(WMFunction lhs, WMFunction rhs)
DragAction operator~(DragAction flags)
Definition: dragcontext.h:90
DragAction & operator^=(DragAction &lhs, DragAction rhs)
Definition: dragcontext.h:102
WMFunction operator|(WMFunction lhs, WMFunction rhs)
DragAction & operator&=(DragAction &lhs, DragAction rhs)
Definition: dragcontext.h:98
DragAction operator^(DragAction lhs, DragAction rhs)
Definition: dragcontext.h:86
WMFunction operator~(WMFunction flags)
DragAction operator|(DragAction lhs, DragAction rhs)
Definition: dragcontext.h:78
@ WINDOW_TYPE_HINT_NOTIFICATION
@ WINDOW_TYPE_HINT_DROPDOWN_MENU
@ WINDOW_TYPE_HINT_SPLASHSCREEN
GtkImageIconNameData name
Definition: gtkimage.h:6
GtkImagePixmapData pixmap
Definition: gtkimage.h:0
PBD::PropertyDescriptor< uint32_t > color
GdkGeometry Geometry
void rectangle(Cairo::RefPtr< Cairo::Context > context, double x, double y, double w, double h, double r=10)
Definition: lobject.h:100
gint height
Definition: xcursors.h:1
gint width
Definition: xcursors.h:1