// -*- c++ -*- // Generated by gtkmmproc -- DO NOT MODIFY! #ifndef _GTKMM_ICONSET_H #define _GTKMM_ICONSET_H #include /* $Id$ */ /* iconset.h * * Copyright(C) 1998-2002 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 #include #include //#include #include #include #ifndef DOXYGEN_SHOULD_SKIP_THIS extern "C" { typedef struct _GtkIconSet GtkIconSet; } #endif namespace Gtk { class Style; class Widget; //TODO_API: Is _CLASS_BOXEDTYPE the appropriate thing to use here. //This seems to be reference-counted, not copied. /* TODO: Documentation, thought the C API has no documentation for this either. */ class IconSet { public: #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef IconSet CppObjectType; typedef GtkIconSet BaseObjectType; static GType get_type() G_GNUC_CONST; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ IconSet(); explicit IconSet(GtkIconSet* gobject, bool make_a_copy = true); IconSet(const IconSet& other); IconSet& operator=(const IconSet& other); ~IconSet(); void swap(IconSet& other); ///Provides access to the underlying C instance. GtkIconSet* gobj() { return gobject_; } ///Provides access to the underlying C instance. const GtkIconSet* 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. GtkIconSet* gobj_copy() const; protected: GtkIconSet* gobject_; private: public: explicit IconSet(const Glib::RefPtr& pixbuf); /** Copies @a icon_set by value. * @return A new Gtk::IconSet identical to the first. */ IconSet copy() const; //Note that we use Gtk::StateType here instead of StateType, because there is an Atk::StateType too, and doxygen gets confused. /** Renders an icon using Gtk::Style::render_icon(). In most cases, * Gtk::Widget::render_icon() is better, since it automatically provides * most of the arguments from the current widget settings. This * function never returns 0; if the icon can't be rendered * (perhaps because an image file fails to load), a default "missing * image" icon will be returned instead. * @param style A Gtk::Style associated with @a widget , or 0. * @param direction Text direction. * @param state Widget state. * @param size Icon size. A size of (GtkIconSize)-1 * means render at the size of the source and don't scale. * @param widget Widget that will display the icon, or 0. * The only use that is typically made of this * is to determine the appropriate Gdk::Screen. * @param detail Detail to pass to the theme engine, or 0. * Note that passing a detail of anything but 0 * will disable caching. * @return A Gdk::Pixbuf to be displayed. */ Glib::RefPtr render_icon(const Glib::RefPtr