#include "adwaitamm/toastoverlay.hpp" #include "adwaitamm/toast.hpp" #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace turns::adw { namespace { auto constinit _class = ToastOverlay::Class{}; } // namespace auto ToastOverlay::Class::init() -> Glib::Class const & { if (!gtype_) { class_init_func_ = &class_init_function; register_derived_type(adw_toast_overlay_get_type()); } return *this; } auto ToastOverlay::Class::class_init_function(void * gclass, void * data) -> void { auto const klass = static_cast(gclass); CppClassParent::class_init_function(klass, data); } auto ToastOverlay::Class::wrap_new(GObject * object) -> Glib::ObjectBase * { return Gtk::manage(new ToastOverlay(ADW_TOAST_OVERLAY(object))); } auto ToastOverlay::get_type() -> GType { return _class.init().get_type(); } auto ToastOverlay::get_base_type() -> GType { return adw_toast_overlay_get_type(); } auto ToastOverlay::add(Glib::RefPtr const & toast) -> void { // Take a copy since the overlay will take ownership of the toast. adw_toast_overlay_add_toast(Glib::unwrap(this), Glib::unwrap_copy(toast)); } ToastOverlay::ToastOverlay(Glib::ConstructParams const & params) : Gtk::Widget{params} { } ToastOverlay::ToastOverlay(BaseObjectType * gobj) : Gtk::Widget((GtkWidget *)gobj) { } ToastOverlay::ToastOverlay() : Glib::ObjectBase{nullptr} , Gtk::Widget{Glib::ConstructParams{_class.init()}} { } } // namespace turns::adw namespace Glib { auto wrap(AdwToastOverlay * object, bool copy) -> turns::adw::ToastOverlay * { return dynamic_cast(Glib::wrap_auto(G_OBJECT(object), copy)); } } // namespace Glib