summaryrefslogtreecommitdiff
path: root/gio/src/bytesicon.hg
diff options
context:
space:
mode:
Diffstat (limited to 'gio/src/bytesicon.hg')
-rw-r--r--gio/src/bytesicon.hg64
1 files changed, 64 insertions, 0 deletions
diff --git a/gio/src/bytesicon.hg b/gio/src/bytesicon.hg
new file mode 100644
index 00000000..0c8f61e9
--- /dev/null
+++ b/gio/src/bytesicon.hg
@@ -0,0 +1,64 @@
+/* Copyright (C) 2022 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/object.h>
+#include <giomm/icon.h>
+#include <giomm/loadableicon.h>
+#include <glibmm/bytes.h>
+
+_DEFS(giomm,gio)
+_PINCLUDE(glibmm/private/object_p.h)
+
+namespace Gio
+{
+
+/** An icon stored in memory as a Glib::Bytes.
+ *
+ * %Gio::BytesIcon specifies an image held in memory in a common format
+ * (usually png) to be used as icon.
+ *
+ * @see Icon, LoadableIcon, Glib::Bytes
+ * @newin{2,76}
+ */
+class GIOMM_API BytesIcon : public Glib::Object, public Icon, public LoadableIcon
+{
+ _CLASS_GOBJECT(BytesIcon, GBytesIcon, G_BYTES_ICON, Glib::Object, GObject, , , GIOMM_API)
+ _IMPLEMENTS_INTERFACE(Icon)
+ _IMPLEMENTS_INTERFACE(LoadableIcon)
+
+protected:
+ _WRAP_CTOR(BytesIcon(const Glib::RefPtr<const Glib::Bytes>& bytes), g_bytes_icon_new)
+
+public:
+ /** Creates a new icon for a Glib::Bytes.
+ *
+ * This cannot fail, but loading and interpreting the bytes may fail later on
+ * (for example, if Gio::LoadableIcon::load() is called) if the image is invalid.
+ *
+ * @newin{2,76}
+ *
+ * @param bytes A Glib::Bytes.
+ * @return A Icon for the given @a bytes.
+ */
+ _WRAP_CREATE(const Glib::RefPtr<const Glib::Bytes>& bytes)
+
+ _WRAP_METHOD(Glib::RefPtr<const Glib::Bytes> get_bytes() const,
+ g_bytes_icon_get_bytes, refreturn, newin "2,76")
+
+ _WRAP_PROPERTY("bytes", Glib::RefPtr<Glib::Bytes>, newin "2,76")
+};
+
+} // namespace Gio