aboutsummaryrefslogtreecommitdiff
path: root/include/turns/adw/toastoverlay.hpp
diff options
context:
space:
mode:
Diffstat (limited to 'include/turns/adw/toastoverlay.hpp')
-rw-r--r--include/turns/adw/toastoverlay.hpp64
1 files changed, 64 insertions, 0 deletions
diff --git a/include/turns/adw/toastoverlay.hpp b/include/turns/adw/toastoverlay.hpp
new file mode 100644
index 0000000..bd5402f
--- /dev/null
+++ b/include/turns/adw/toastoverlay.hpp
@@ -0,0 +1,64 @@
+#ifndef TURNS_ADW_TOASTOVERLAY_HPP
+#define TURNS_ADW_TOASTOVERLAY_HPP
+
+#include "turns/adw/helpers/gobj_cast.hpp"
+#include "turns/adw/helpers/properties.hpp"
+
+#include <glibmm/refptr.h>
+
+#include <gtkmm/widget.h>
+
+using AdwToastOverlay = struct _AdwToastOverlay;
+
+namespace turns::adw
+{
+ struct ToastOverlay_Class;
+
+ struct Toast;
+
+ struct ToastOverlay : Gtk::Widget,
+ helpers::gobj_mixin<ToastOverlay, AdwToastOverlay>
+ {
+ using helpers::gobj_mixin<ToastOverlay, AdwToastOverlay>::gobj;
+ using helpers::gobj_mixin<ToastOverlay, AdwToastOverlay>::gobj_copy;
+
+ ToastOverlay(ToastOverlay && other) noexcept = default;
+ auto operator=(ToastOverlay && other) noexcept -> ToastOverlay & = default;
+
+ ToastOverlay(ToastOverlay const & other) = delete;
+ auto operator=(ToastOverlay const & other) noexcept -> ToastOverlay & = delete;
+
+ explicit ToastOverlay();
+
+ auto static get_type() -> GType;
+ auto static get_base_type() -> GType;
+
+ auto add(Toast && toast) -> void;
+
+ // clang-format off
+ template<typename Self> auto property_child(this Self && self);
+ // clang-format on
+
+ protected:
+ explicit ToastOverlay(Glib::ConstructParams const & params);
+ explicit ToastOverlay(AdwToastOverlay * gobj);
+
+ private:
+ friend ToastOverlay_Class;
+ static ToastOverlay_Class s_class;
+ };
+
+ template<typename Self>
+ auto ToastOverlay::property_child(this Self && self)
+ {
+ return helpers::make_property_proxy<Gtk::Widget *>(self, "child");
+ }
+
+} // namespace turns::adw
+
+namespace Glib
+{
+ auto wrap(AdwToastOverlay * object, bool copy = false) -> Glib::RefPtr<turns::adw::ToastOverlay>;
+} // namespace Glib
+
+#endif \ No newline at end of file