summaryrefslogtreecommitdiff
path: root/libs/gtkmm2/gtk/gtkmm/iconinfo.h
diff options
context:
space:
mode:
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/iconinfo.h')
-rw-r--r--libs/gtkmm2/gtk/gtkmm/iconinfo.h227
1 files changed, 227 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/iconinfo.h b/libs/gtkmm2/gtk/gtkmm/iconinfo.h
new file mode 100644
index 0000000000..73f36a2f6f
--- /dev/null
+++ b/libs/gtkmm2/gtk/gtkmm/iconinfo.h
@@ -0,0 +1,227 @@
+// -*- c++ -*-
+// Generated by gtkmmproc -- DO NOT MODIFY!
+#ifndef _GTKMM_ICONINFO_H
+#define _GTKMM_ICONINFO_H
+
+#include <glibmm.h>
+
+/* Copyright (C) 2003 The gtkmm Development Team
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the Free
+ * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gdkmm/rectangle.h>
+#include <gdkmm/pixbuf.h>
+#include <gdkmm/types.h>
+
+//#include <gtk/gtkicontheme.h>
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+extern "C" { typedef struct _GtkIconInfo GtkIconInfo; }
+#endif
+
+namespace Gtk
+{
+
+class IconInfo
+{
+ public:
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+ typedef IconInfo CppObjectType;
+ typedef GtkIconInfo BaseObjectType;
+
+ static GType get_type() G_GNUC_CONST;
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+ IconInfo();
+
+ explicit IconInfo(GtkIconInfo* gobject, bool make_a_copy = true);
+
+ IconInfo(const IconInfo& other);
+ IconInfo& operator=(const IconInfo& other);
+
+ ~IconInfo();
+
+ void swap(IconInfo& other);
+
+ ///Provides access to the underlying C instance.
+ GtkIconInfo* gobj() { return gobject_; }
+
+ ///Provides access to the underlying C instance.
+ const GtkIconInfo* gobj() const { return gobject_; }
+
+ ///Provides access to the underlying C instance. The caller is responsible for freeing it. Use when directly setting fields in structs.
+ GtkIconInfo* gobj_copy() const;
+
+protected:
+ GtkIconInfo* gobject_;
+
+private:
+
+
+public:
+
+ ///Tests whether the IconInfo is valid.
+ operator bool();
+
+
+ /** Gets the base size for the icon. The base size
+ * is a size for the icon that was specified by
+ * the icon theme creator. This may be different
+ * than the actual size of image; an example of
+ * this is small emblem icons that can be attached
+ * to a larger icon. These icons will be given
+ * the same base size as the larger icons to which
+ * they are attached.
+ * @return The base size, or 0, if no base
+ * size is known for the icon.
+ *
+ * Since: 2.4.
+ */
+ int get_base_size() const;
+
+ /** Gets the filename for the icon. If the
+ * Gtk::ICON_LOOKUP_USE_BUILTIN flag was passed
+ * to Gtk::IconTheme::lookup_icon(), there may be
+ * no filename if a builtin icon is returned; in this
+ * case, you should use gtk_icon_info_get_builtin_pixbuf().
+ * @return The filename for the icon, or <tt>0</tt>
+ * if gtk_icon_info_get_builtin_pixbuf() should
+ * be used instead.
+ */
+ Glib::ustring get_filename() const;
+
+ /** Gets the built-in image for this icon, if any. To allow
+ * GTK+ to use built in icon images, you must pass the
+ * Gtk::ICON_LOOKUP_USE_BUILTIN to
+ * Gtk::IconTheme::lookup_icon().
+ * @return The built-in image pixbuf, or <tt>0</tt>.
+ * The returned image must not be modified.
+ */
+ Glib::RefPtr<Gdk::Pixbuf> get_builtin_pixbuf();
+
+ /** Gets the built-in image for this icon, if any. To allow
+ * GTK+ to use built in icon images, you must pass the
+ * Gtk::ICON_LOOKUP_USE_BUILTIN to
+ * Gtk::IconTheme::lookup_icon().
+ * @return The built-in image pixbuf, or <tt>0</tt>.
+ * The returned image must not be modified.
+ */
+ Glib::RefPtr<const Gdk::Pixbuf> get_builtin_pixbuf() const;
+
+ /** Renders an icon previously looked up in an icon theme using
+ * Gtk::IconTheme::lookup_icon(); the size will be based on the size
+ * passed to Gtk::IconTheme::lookup_icon(). Note that the resulting
+ * pixbuf may not be exactly this size; an icon theme may have icons
+ * that differ slightly from their nominal sizes, and in addition GTK+
+ * will avoid scaling icons that it considers sufficiently close to the
+ * requested size or for which the source image would have to be scaled
+ * up too far. (This maintains sharpness.)
+ * @return The rendered icon; this may be a newly created icon
+ * or a new reference to an internal icon, so you must not modify
+ * the icon. Use Glib::object_unref() to release your reference to the
+ * icon.
+ *
+ * Since: 2.4.
+ */
+ Glib::RefPtr<Gdk::Pixbuf> load_icon() const;
+
+ /** Sets whether the coordinates returned by gtk_icon_info_get_embedded_rect()
+ * and gtk_icon_info_get_attach_points() should be returned in their
+ * original form as specified in the icon theme, instead of scaled
+ * appropriately for the pixbuf returned by gtk_icon_info_load_icon().
+ *
+ * Raw coordinates are somewhat strange; they are specified to be with
+ * respect to the unscaled pixmap for PNG and XPM icons, but for SVG
+ * icons, they are in a 1000x1000 coordinate space that is scaled
+ * to the final size of the icon. You can determine if the icon is an SVG
+ * icon by using gtk_icon_info_get_filename(), and seeing if it is non-<tt>0</tt>
+ * and ends in '.svg'.
+ *
+ * This function is provided primarily to allow compatibility wrappers
+ * for older API's, and is not expected to be useful for applications.
+ *
+ * Since: 2.4
+ * @param raw_coordinates Whether the coordinates of embedded rectangles
+ * and attached points should be returned in their original
+ * (unscaled) form.
+ */
+ void set_raw_coordinates(bool raw_coordinates = true);
+
+ /** Gets the coordinates of a rectangle within the icon
+ * that can be used for display of information such
+ * as a preview of the contents of a text file.
+ * See gtk_icon_info_set_raw_coordinates() for further
+ * information about the coordinate system.
+ * @param rectangle Gdk::Rectangle in which to store embedded
+ * rectangle coordinates; coordinates are only stored
+ * when this function returns <tt>true</tt>.
+ * @return <tt>true</tt> if the icon has an embedded rectangle
+ *
+ * Since: 2.4.
+ */
+ bool get_embedded_rect(Gdk::Rectangle& rectangle) const;
+ bool get_attach_points(Glib::ArrayHandle<Gdk::Point>& points) const;
+
+ /** Gets the display name for an icon. A display name is a
+ * string to be used in place of the icon name in a user
+ * visible context like a list of icons.
+ * @return The display name for the icon or <tt>0</tt>, if
+ * the icon doesn't have a specified display name. This value
+ * is owned @a icon_info and must not be modified or free.
+ *
+ * Since: 2.4.
+ */
+ Glib::ustring get_display_name() const;
+
+
+};
+
+} // namespace Gtk
+
+
+namespace Gtk
+{
+
+/** @relates Gtk::IconInfo
+ * @param lhs The left-hand side
+ * @param rhs The right-hand side
+ */
+inline void swap(IconInfo& lhs, IconInfo& rhs)
+ { lhs.swap(rhs); }
+
+} // namespace Gtk
+
+namespace Glib
+{
+
+/** @relates Gtk::IconInfo
+ * @param object The C instance
+ * @param take_copy False if the result should take ownership of the C instance. True if it should take a new copy or ref.
+ * @result A C++ instance that wraps this C instance.
+ */
+Gtk::IconInfo wrap(GtkIconInfo* object, bool take_copy = false);
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+template <>
+class Value<Gtk::IconInfo> : public Glib::Value_Boxed<Gtk::IconInfo>
+{};
+#endif /* DOXYGEN_SHOULD_SKIP_THIS */
+
+} // namespace Glib
+
+#endif /* _GTKMM_ICONINFO_H */
+