[gtkmm/use-dllexport: 18/60] Gdk: Add DragSurface, Popup, Toplevel, ToplevelLayout
- From: Chun-wei Fan <fanchunwei src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtkmm/use-dllexport: 18/60] Gdk: Add DragSurface, Popup, Toplevel, ToplevelLayout
- Date: Mon, 8 Jun 2020 02:43:30 +0000 (UTC)
commit 793537a415a172fff9944edc3773dd6e39e72bfd
Author: Kjell Ahlstedt <kjellahlstedt gmail com>
Date: Mon Mar 23 15:56:38 2020 +0100
Gdk: Add DragSurface, Popup, Toplevel, ToplevelLayout
.gitignore | 8 ++++
gdk/gdkmm.h | 4 +-
gdk/src/dragsurface.ccg | 17 +++++++++
gdk/src/dragsurface.hg | 49 +++++++++++++++++++++++++
gdk/src/filelist.am | 4 ++
gdk/src/gdk_extra_objects.defs | 12 ++++++
gdk/src/popup.ccg | 17 +++++++++
gdk/src/popup.hg | 65 +++++++++++++++++++++++++++++++++
gdk/src/popuplayout.hg | 7 +++-
gdk/src/toplevel.ccg | 17 +++++++++
gdk/src/toplevel.hg | 83 ++++++++++++++++++++++++++++++++++++++++++
gdk/src/toplevellayout.ccg | 16 ++++++++
gdk/src/toplevellayout.hg | 65 +++++++++++++++++++++++++++++++++
tools/m4/convert_gdk.m4 | 8 ++--
14 files changed, 367 insertions(+), 5 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 8d9ed170..3af6f006 100644
--- a/.gitignore
+++ b/.gitignore
@@ -74,6 +74,8 @@ gdk/gdkmm/displaymanager.cc
gdk/gdkmm/displaymanager.h
gdk/gdkmm/drag.cc
gdk/gdkmm/drag.h
+gdk/gdkmm/dragsurface.cc
+gdk/gdkmm/dragsurface.h
gdk/gdkmm/drawcontext.cc
gdk/gdkmm/drawcontext.h
gdk/gdkmm/drop.cc
@@ -104,6 +106,8 @@ gdk/gdkmm/pixbufformat.cc
gdk/gdkmm/pixbufformat.h
gdk/gdkmm/pixbufloader.cc
gdk/gdkmm/pixbufloader.h
+gdk/gdkmm/popup.cc
+gdk/gdkmm/popup.h
gdk/gdkmm/popuplayout.cc
gdk/gdkmm/popuplayout.h
gdk/gdkmm/rectangle.cc
@@ -120,6 +124,10 @@ gdk/gdkmm/texture.cc
gdk/gdkmm/texture.h
gdk/gdkmm/timecoord.cc
gdk/gdkmm/timecoord.h
+gdk/gdkmm/toplevel.cc
+gdk/gdkmm/toplevel.h
+gdk/gdkmm/toplevellayout.cc
+gdk/gdkmm/toplevellayout.h
gdk/gdkmm/types.cc
gdk/gdkmm/types.h
gdk/gdkmm/wrap_init.cc
diff --git a/gdk/gdkmm.h b/gdk/gdkmm.h
index bc74e68f..dede906c 100644
--- a/gdk/gdkmm.h
+++ b/gdk/gdkmm.h
@@ -31,6 +31,7 @@
#include <gdkmm/devicewithpad.h>
#include <gdkmm/display.h>
#include <gdkmm/displaymanager.h>
+#include <gdkmm/dragsurface.h>
#include <gdkmm/drop.h>
#include <gdkmm/event.h>
#include <gdkmm/frameclock.h>
@@ -43,12 +44,13 @@
#include <gdkmm/pixbufanimation.h>
#include <gdkmm/pixbufformat.h>
#include <gdkmm/pixbufloader.h>
-#include <gdkmm/popuplayout.h>
+#include <gdkmm/popup.h>
#include <gdkmm/rectangle.h>
#include <gdkmm/seat.h>
#include <gdkmm/snapshot.h>
#include <gdkmm/surface.h>
#include <gdkmm/texture.h>
+#include <gdkmm/toplevel.h>
#include <gdkmm/types.h>
#endif /* _GDKMM_GDKMM_H_ */
diff --git a/gdk/src/dragsurface.ccg b/gdk/src/dragsurface.ccg
new file mode 100644
index 00000000..c86901a6
--- /dev/null
+++ b/gdk/src/dragsurface.ccg
@@ -0,0 +1,17 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gdk/gdk.h>
diff --git a/gdk/src/dragsurface.hg b/gdk/src/dragsurface.hg
new file mode 100644
index 00000000..4a957f8b
--- /dev/null
+++ b/gdk/src/dragsurface.hg
@@ -0,0 +1,49 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <glibmm/interface.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/interface_p.h)
+_PINCLUDE(gdk/gdk.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GdkDragSurfaceInterface GdkDragSurfaceInterface;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gdk
+{
+
+/** Interface for drag surface surfaces.
+ *
+ * A %Gdk::DragSurface is a surface that is used during a DnD operation.
+ *
+ * @newin{3,98}
+ */
+class DragSurface : public Glib::Interface
+{
+ _CLASS_INTERFACE(DragSurface, GdkDragSurface, GDK_DRAG_SURFACE, GdkDragSurfaceInterface)
+
+public:
+ _WRAP_METHOD(bool present(int width, int height), gdk_drag_surface_present)
+
+ // There are no properties, signals or public vfuncs.
+};
+
+} // namespace Gdk
diff --git a/gdk/src/filelist.am b/gdk/src/filelist.am
index 8b1fa032..9fca6df4 100644
--- a/gdk/src/filelist.am
+++ b/gdk/src/filelist.am
@@ -27,6 +27,7 @@ gdkmm_files_any_hg = \
display.hg \
displaymanager.hg \
drag.hg \
+ dragsurface.hg \
drawcontext.hg \
drop.hg \
enums.hg \
@@ -42,6 +43,7 @@ gdkmm_files_any_hg = \
pixbufanimationiter.hg \
pixbufformat.hg \
pixbufloader.hg \
+ popup.hg \
popuplayout.hg \
rectangle.hg \
rgba.hg \
@@ -50,6 +52,8 @@ gdkmm_files_any_hg = \
surface.hg \
texture.hg \
timecoord.hg \
+ toplevel.hg \
+ toplevellayout.hg \
types.hg
gdkmm_files_deprecated_hg =
diff --git a/gdk/src/gdk_extra_objects.defs b/gdk/src/gdk_extra_objects.defs
index ee4d2547..d420454a 100644
--- a/gdk/src/gdk_extra_objects.defs
+++ b/gdk/src/gdk_extra_objects.defs
@@ -142,6 +142,12 @@
(gtype-id "GDK_TYPE_PIXBUF_FORMAT")
)
+(define-object Popup
+ (in-module "Gdk")
+ (c-name "GdkPopup")
+ (gtype-id "GDK_TYPE_POPUP")
+)
+
(define-object PopupLayout
(in-module "Gdk")
(c-name "GdkPopupLayout")
@@ -166,6 +172,12 @@
(gtype-id "GDK_TYPE_SURFACE")
)
+(define-object Toplevel
+ (in-module "Gdk")
+ (c-name "GdkToplevel")
+ (gtype-id "GDK_TYPE_Toplevel")
+)
+
(define-object Texture
(in-module "Gdk")
(c-name "GdkTexture")
diff --git a/gdk/src/popup.ccg b/gdk/src/popup.ccg
new file mode 100644
index 00000000..c86901a6
--- /dev/null
+++ b/gdk/src/popup.ccg
@@ -0,0 +1,17 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gdk/gdk.h>
diff --git a/gdk/src/popup.hg b/gdk/src/popup.hg
new file mode 100644
index 00000000..268cd54e
--- /dev/null
+++ b/gdk/src/popup.hg
@@ -0,0 +1,65 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <glibmm/interface.h>
+#include <gdkmm/enums.h>
+#include <gdkmm/popuplayout.h>
+#include <gdkmm/surface.h>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/interface_p.h)
+_PINCLUDE(gdk/gdk.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GdkPopupInterface GdkPopupInterface;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gdk
+{
+
+/** Interface for popup surfaces.
+ *
+ * A %Gdk::Popup is a surface that is attached to another surface,
+ * and is positioned relative to it.
+ *
+ * @newin{3,98}
+ */
+class Popup : public Glib::Interface
+{
+ _CLASS_INTERFACE(Popup, GdkPopup, GDK_POPUP, GdkPopupInterface)
+
+public:
+ _WRAP_METHOD(bool present(int width, int height, const Glib::RefPtr<PopupLayout>& layout),
+ gdk_popup_present)
+ _WRAP_METHOD(Gravity get_surface_anchor() const, gdk_popup_get_surface_anchor)
+ _WRAP_METHOD(Gravity get_rect_anchor() const, gdk_popup_get_rect_anchor)
+ _WRAP_METHOD(Glib::RefPtr<Surface> get_parent(), gdk_popup_get_parent, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Surface> get_parent() const,
+ gdk_popup_get_parent, refreturn, constversion)
+ _WRAP_METHOD(int get_position_x() const, gdk_popup_get_position_x)
+ _WRAP_METHOD(int get_position_y() const, gdk_popup_get_position_y)
+ _WRAP_METHOD(bool get_autohide() const, gdk_popup_get_autohide)
+
+ _WRAP_PROPERTY("parent", Glib::RefPtr<Surface>)
+ _WRAP_PROPERTY("autohide", bool)
+
+ // There are no signals or public vfuncs.
+};
+
+} // namespace Gdk
diff --git a/gdk/src/popuplayout.hg b/gdk/src/popuplayout.hg
index aa5d6c65..d0132d1b 100644
--- a/gdk/src/popuplayout.hg
+++ b/gdk/src/popuplayout.hg
@@ -27,7 +27,12 @@ namespace Gdk
{
_WRAP_ENUM(AnchorHints, GdkAnchorHints)
-/**
+/** Information for presenting popups.
+ *
+ * Popups are positioned relative to their parent surface.
+ * The %Gdk::PopupLayout class contains information that is
+ * necessary to do so.
+ *
* @newin{3,98}
*/
class PopupLayout final
diff --git a/gdk/src/toplevel.ccg b/gdk/src/toplevel.ccg
new file mode 100644
index 00000000..c86901a6
--- /dev/null
+++ b/gdk/src/toplevel.ccg
@@ -0,0 +1,17 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <gdk/gdk.h>
diff --git a/gdk/src/toplevel.hg b/gdk/src/toplevel.hg
new file mode 100644
index 00000000..a6ee28bc
--- /dev/null
+++ b/gdk/src/toplevel.hg
@@ -0,0 +1,83 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include <glibmm/interface.h>
+#include <gdkmm/surface.h>
+#include <gdkmm/texture.h>
+#include <gdkmm/toplevellayout.h>
+#include <vector>
+
+_DEFS(gdkmm,gdk)
+_PINCLUDE(glibmm/private/interface_p.h)
+_PINCLUDE(gdk/gdk.h)
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C"
+{
+typedef struct _GdkToplevelInterface GdkToplevelInterface;
+}
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+namespace Gdk
+{
+
+/** Interface for toplevel surfaces.
+ *
+ * A %Gdk::Toplevel is a freestanding toplevel surface.
+ *
+ * @newin{3,98}
+ */
+class Toplevel : public Glib::Interface
+{
+ _CLASS_INTERFACE(Toplevel, GdkToplevel, GDK_TOPLEVEL, GdkToplevelInterface)
+
+public:
+ _WRAP_METHOD(bool present(int width, int height, const Glib::RefPtr<ToplevelLayout>& layout),
+ gdk_toplevel_present)
+ _WRAP_METHOD(bool minimize(), gdk_toplevel_minimize)
+ _WRAP_METHOD(bool lower(), gdk_toplevel_lower)
+ _WRAP_METHOD(void focus(guint32 timestamp), gdk_toplevel_focus)
+ _WRAP_METHOD(Surface::State get_state() const, gdk_toplevel_get_state)
+ _WRAP_METHOD(void set_title(const Glib::ustring& title), gdk_toplevel_set_title)
+ _WRAP_METHOD(void set_startup_id(const Glib::ustring& startup_id), gdk_toplevel_set_startup_id)
+ _WRAP_METHOD(void set_transient_for(const Glib::RefPtr<Surface>& parent),
+ gdk_toplevel_set_transient_for)
+ _WRAP_METHOD(void set_modal(bool modal = true), gdk_toplevel_set_modal)
+
+#m4 _CONVERSION(`const
std::vector<Glib::RefPtr<Texture>>&',`GList*',`Glib::ListHandler<Glib::RefPtr<Texture>>::vector_to_list($3).data()')
+ _WRAP_METHOD(void set_icon_list(const std::vector<Glib::RefPtr<Texture>>& surfaces),
+ gdk_toplevel_set_icon_list)
+
+ _WRAP_METHOD(bool show_window_menu(const Glib::RefPtr<Event>& event),
+ gdk_toplevel_show_window_menu)
+ _WRAP_METHOD(void set_decorated(bool decorated = true), gdk_toplevel_set_decorated)
+ _WRAP_METHOD(void set_deletable(bool deletable = true), gdk_toplevel_set_deletable)
+ _WRAP_METHOD(bool supports_edge_constraints() const, gdk_toplevel_supports_edge_constraints)
+
+ _WRAP_PROPERTY("state", Surface::State)
+ _WRAP_PROPERTY("title", Glib::ustring)
+ _WRAP_PROPERTY("startup-id", Glib::ustring)
+ _WRAP_PROPERTY("transient-for", Glib::RefPtr<Surface>)
+ _WRAP_PROPERTY("modal", bool)
+ //TODO: _WRAP_PROPERTY("icon-list", std::vector<Glib::RefPtr<Texture>>)
+ _WRAP_PROPERTY("decorated", bool)
+ _WRAP_PROPERTY("deletable", bool)
+ _WRAP_PROPERTY("fullscreen-mode", FullscreenMode)
+
+ // There are no signals or public vfuncs.
+};
+
+} // namespace Gdk
diff --git a/gdk/src/toplevellayout.ccg b/gdk/src/toplevellayout.ccg
new file mode 100644
index 00000000..16221a6d
--- /dev/null
+++ b/gdk/src/toplevellayout.ccg
@@ -0,0 +1,16 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
diff --git a/gdk/src/toplevellayout.hg b/gdk/src/toplevellayout.hg
new file mode 100644
index 00000000..226f1deb
--- /dev/null
+++ b/gdk/src/toplevellayout.hg
@@ -0,0 +1,65 @@
+/* Copyright (C) 2020 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+_DEFS(gdkmm,gdk)
+
+#include <glibmm/refptr.h>
+#include <gdkmm/monitor.h>
+
+_CC_INCLUDE(gdk/gdk.h)
+
+namespace Gdk
+{
+
+/** Information for presenting toplevels.
+ *
+ * %Toplevel surfaces are sovereign windows that can be presented
+ * to the user in various states (maximized, on all workspaces, etc).
+ *
+ * The %Gdk::ToplevelLayout class contains information that
+ * is necessary to do so, and is passed to Gdk::Toplevel::present().
+ *
+ * @newin{3,98}
+ */
+class ToplevelLayout final
+{
+ // GdkToplevelLayout is actually registered as a boxed type, but it has custom
+ // reference-counting instead of copy/free functions, so we use it via RefPtr.
+ _CLASS_OPAQUE_REFCOUNTED(ToplevelLayout, GdkToplevelLayout, NONE, gdk_toplevel_layout_ref,
gdk_toplevel_layout_unref)
+ _IGNORE(gdk_toplevel_layout_ref, gdk_toplevel_layout_unref)
+public:
+
+ _WRAP_METHOD(static Glib::RefPtr<ToplevelLayout> create(int min_width, int min_height),
+ gdk_toplevel_layout_new)
+ _WRAP_METHOD(Glib::RefPtr<ToplevelLayout> copy() const, gdk_toplevel_layout_copy)
+ _WRAP_METHOD(bool equal(const Glib::RefPtr<const ToplevelLayout>& other) const,
+ gdk_toplevel_layout_equal)
+ _WRAP_METHOD(void set_maximized(bool maximized = true), gdk_toplevel_layout_set_maximized)
+ _WRAP_METHOD(void set_fullscreen(bool fullscreen = true, const Glib::RefPtr<Monitor>& monitor = {}),
+ gdk_toplevel_layout_set_fullscreen)
+ _WRAP_METHOD(int get_min_width() const, gdk_toplevel_layout_get_min_width)
+ _WRAP_METHOD(int get_min_height() const, gdk_toplevel_layout_get_min_height)
+ _WRAP_METHOD(bool get_maximized() const, gdk_toplevel_layout_get_maximized)
+ _WRAP_METHOD(bool get_fullscreen() const, gdk_toplevel_layout_get_fullscreen)
+ _WRAP_METHOD(Glib::RefPtr<Monitor> get_fullscreen_monitor(),
+ gdk_toplevel_layout_get_fullscreen_monitor, refreturn)
+ _WRAP_METHOD(Glib::RefPtr<const Monitor> get_fullscreen_monitor() const,
+ gdk_toplevel_layout_get_fullscreen_monitor, refreturn, constversion)
+ _WRAP_METHOD(void set_resizable(bool resizable= true), gdk_toplevel_layout_set_resizable)
+ _WRAP_METHOD(bool get_resizable() const, gdk_toplevel_layout_get_resizable)
+};
+
+} // namespace Gdk
diff --git a/tools/m4/convert_gdk.m4 b/tools/m4/convert_gdk.m4
index 9f2c0503..d79be965 100644
--- a/tools/m4/convert_gdk.m4
+++ b/tools/m4/convert_gdk.m4
@@ -114,7 +114,10 @@ _CONVERSION(`const Glib::RefPtr<Cursor>&',`GdkCursor*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Cursor>&',`GdkCursor*',__CONVERT_CONST_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Gdk::Cursor>&',`GdkCursor*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Gdk::Cursor>&',`GdkCursor*',__CONVERT_CONST_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<PopupLayout>&',`GdkPopupLayout*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const PopupLayout>&',`GdkPopupLayout*',__CONVERT_CONST_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<ToplevelLayout>&',`GdkToplevelLayout*',__CONVERT_REFPTR_TO_P)
+_CONVERSION(`const Glib::RefPtr<const ToplevelLayout>&',`GdkToplevelLayout*',__CONVERT_CONST_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Gdk::Surface>&',`GdkSurface*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Surface>&',`GdkSurface*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<GLContext>&',`GdkGLContext*',__CONVERT_REFPTR_TO_P)
@@ -177,8 +180,8 @@ _CONVERSION(`const Glib::RefPtr<const Gdk::Bitmap>&', `GdkBitmap*',__CONVERT_CON
#_CONVERSION(`const Glib::RefPtr<const Drawable>&', `GdkDrawable*',__CONVERT_CONST_REFPTR_TO_P_SUN(Drawable))
#_CONVERSION(`const Glib::RefPtr<const Display>&', `GdkDrawable*',__CONVERT_CONST_REFPTR_TO_P_SUN(Drawable))
-
_CONVERSION(`GdkPopupLayout*',`Glib::RefPtr<PopupLayout>', `Glib::wrap($3)')
+_CONVERSION(`GdkToplevelLayout*',`Glib::RefPtr<ToplevelLayout>', `Glib::wrap($3)')
_CONVERSION(`GdkSurface*',`Glib::RefPtr<Surface>', `Glib::wrap($3)')
_CONVERSION(`GdkSurface*',`Glib::RefPtr<const Surface>', `Glib::wrap($3)')
_CONVERSION(`GdkSurface*',`Glib::RefPtr<Gdk::Surface>', `Glib::wrap($3)')
@@ -292,13 +295,12 @@ dnl GdkEvent and GdkEventSequence
_CONVERSION(`GdkEvent*',`Glib::RefPtr<Event>',`Glib::wrap($3)')
_CONVERSION(`GdkEvent*',`Glib::RefPtr<Gdk::Event>',`Glib::wrap($3)')
_CONVERSION(`const GdkEvent*',`Glib::RefPtr<const Gdk::Event>',`Glib::wrap(const_cast<GdkEvent*>($3))')
+_CONVERSION(`const Glib::RefPtr<Event>&',`GdkEvent*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<Gdk::Event>&',`GdkEvent*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Event>&',`GdkEvent*',__CONVERT_CONST_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Gdk::Event>&',`GdkEvent*',__CONVERT_CONST_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Event>&',`const GdkEvent*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`const Glib::RefPtr<const Gdk::Event>&',`const GdkEvent*',__CONVERT_REFPTR_TO_P)
-_CONVERSION(`const Glib::RefPtr<Gdk::EventButton>&',`GdkEventButton*',__CONVERT_REFPTR_TO_P)
-_CONVERSION(`const Glib::RefPtr<Gdk::EventKey>&',`GdkEventKey*',__CONVERT_REFPTR_TO_P)
_CONVERSION(`Gdk::EventSequence*',`GdkEventSequence*',`reinterpret_cast<$2>($3)')
_CONVERSION(`GdkEventSequence*',`Gdk::EventSequence*',`reinterpret_cast<$2>($3)')
_CONVERSION(`GdkEventSequence*',`const EventSequence*',`reinterpret_cast<$2>($3)')
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]