diff options
Diffstat (limited to 'libs/gtkmm2/gtk/gtkmm/image.h')
-rw-r--r-- | libs/gtkmm2/gtk/gtkmm/image.h | 454 |
1 files changed, 454 insertions, 0 deletions
diff --git a/libs/gtkmm2/gtk/gtkmm/image.h b/libs/gtkmm2/gtk/gtkmm/image.h new file mode 100644 index 0000000000..13775a2c92 --- /dev/null +++ b/libs/gtkmm2/gtk/gtkmm/image.h @@ -0,0 +1,454 @@ +// -*- c++ -*- +// Generated by gtkmmproc -- DO NOT MODIFY! +#ifndef _GTKMM_IMAGE_H +#define _GTKMM_IMAGE_H + +#include <glibmm.h> + +/* $Id$ */ + +/* image.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 <gtkmm/misc.h> +#include <gtkmm/iconset.h> +#include <gdkmm/pixbufanimation.h> + + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +typedef struct _GtkImage GtkImage; +typedef struct _GtkImageClass GtkImageClass; +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + + +namespace Gtk +{ class Image_Class; } // namespace Gtk +namespace Gtk +{ + + +/** @addtogroup gtkmmEnums Enums and Flags */ + +/** + * @ingroup gtkmmEnums + */ +enum ImageType +{ + IMAGE_EMPTY, + IMAGE_PIXMAP, + IMAGE_IMAGE, + IMAGE_PIXBUF, + IMAGE_STOCK, + IMAGE_ICON_SET, + IMAGE_ANIMATION, + IMAGE_ICON_NAME +}; + +} // namespace Gtk + + +#ifndef DOXYGEN_SHOULD_SKIP_THIS +namespace Glib +{ + +template <> +class Value<Gtk::ImageType> : public Glib::Value_Enum<Gtk::ImageType> +{ +public: + static GType value_type() G_GNUC_CONST; +}; + +} // namespace Glib +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + + +namespace Gtk +{ + + +/** A widget displaying an image. + * + * The Gtk::Image widget displays an image. Various kinds of object can be + * displayed as an image; most typically, you would load a Gdk::Pixbuf ("pixel + * buffer") from a file, and then display that. + * + * Gtk::Image is a subclass of Gtk::Misc, which implies that you can align it + * (center, left, right) and add padding to it, using Gtk::Misc methods. + * + * Gtk::Image is a "no window" widget (has no Gdk::Window of its own), so by + * default does not receive events. If you want to receive events on the + * image, such as button clicks, place the image inside a Gtk::EventBox, then + * connect to the event signals on the event box. + * + * @ingroup Widgets + */ + +class Image : public Misc +{ + public: +#ifndef DOXYGEN_SHOULD_SKIP_THIS + typedef Image CppObjectType; + typedef Image_Class CppClassType; + typedef GtkImage BaseObjectType; + typedef GtkImageClass BaseClassType; +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + + virtual ~Image(); + +#ifndef DOXYGEN_SHOULD_SKIP_THIS + +private: + friend class Image_Class; + static CppClassType image_class_; + + // noncopyable + Image(const Image&); + Image& operator=(const Image&); + +protected: + explicit Image(const Glib::ConstructParams& construct_params); + explicit Image(GtkImage* castitem); + +#endif /* DOXYGEN_SHOULD_SKIP_THIS */ + +public: +#ifndef DOXYGEN_SHOULD_SKIP_THIS + static GType get_type() G_GNUC_CONST; + static GType get_base_type() G_GNUC_CONST; +#endif + + ///Provides access to the underlying C GtkObject. + GtkImage* gobj() { return reinterpret_cast<GtkImage*>(gobject_); } + + ///Provides access to the underlying C GtkObject. + const GtkImage* gobj() const { return reinterpret_cast<GtkImage*>(gobject_); } + + +public: + //C++ methods used to invoke GTK+ virtual functions: + +protected: + //GTK+ Virtual Functions (override these to change behaviour): + + //Default Signal Handlers:: + + +private: + + +public: + + Image(); + explicit Image(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask); + explicit Image(const Glib::RefPtr<Gdk::Image>& image, const Glib::RefPtr<Gdk::Bitmap>& mask); + explicit Image(const std::string& file); + explicit Image(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf); + Image(const Gtk::StockID& stock_id, IconSize size); + Image(IconSet& icon_set, IconSize size); + Image(const Glib::RefPtr<Gdk::PixbufAnimation>& animation); + + + /** See new_from_pixmap() for details. + * @param pixmap A Gdk::Pixmap or <tt>0</tt>. + * @param mask A Gdk::Bitmap or <tt>0</tt>. + */ + void set(const Glib::RefPtr<Gdk::Pixmap>& pixmap, const Glib::RefPtr<Gdk::Bitmap>& mask); + + /** See new_from_image() for details. + * @param gdk_image A Gdk::Image or <tt>0</tt>. + * @param mask A Gdk::Bitmap or <tt>0</tt>. + */ + void set(const Glib::RefPtr<Gdk::Image>& gdk_image, const Glib::RefPtr<Gdk::Bitmap>& mask); + + /** See new_from_file() for details. + * @param filename A filename or <tt>0</tt>. + */ + void set(const std::string& filename); + + /** See new_from_pixbuf() for details. + * @param pixbuf A Gdk::Pixbuf or <tt>0</tt>. + */ + void set(const Glib::RefPtr<Gdk::Pixbuf>& pixbuf); + + /** See new_from_stock() for details. + * @param stock_id A stock icon name. + * @param size A stock icon size. + */ + void set(const Gtk::StockID& stock_id, IconSize size); + + /** See new_from_icon_set() for details. + * @param icon_set A Gtk::IconSet. + * @param size A stock icon size. + */ + void set(IconSet& icon_set, IconSize size); + + /** Causes the Gtk::Image to display the given animation (or display + * nothing, if you set the animation to <tt>0</tt>). + * @param animation The Gdk::PixbufAnimation. + */ + void set(const Glib::RefPtr<Gdk::PixbufAnimation>& animation); + + /** See new_from_icon_name() for details. + * + * Since: 2.6 + * @param icon_name An icon name. + * @param size An icon size. + */ + void set_from_icon_name(const Glib::ustring& icon_name, IconSize size); + + void clear(); + + + /** Gets the type of representation being used by the Gtk::Image + * to store image data. If the Gtk::Image has no image data, + * the return value will be Gtk::IMAGE_EMPTY. + * @return Image representation being used. + */ + ImageType get_storage_type() const; + + void get_pixmap(Glib::RefPtr<Gdk::Pixmap>& pixmap, Glib::RefPtr<Gdk::Bitmap>& mask) const; + void get_image(Glib::RefPtr<Gdk::Image>& gdk_image, Glib::RefPtr<Gdk::Bitmap>& mask) const; + + /** Gets the Gdk::Pixbuf being displayed by the Gtk::Image. + * The storage type of the image must be Gtk::IMAGE_EMPTY or + * Gtk::IMAGE_PIXBUF (see get_storage_type()). + * The caller of this function does not own a reference to the + * returned pixbuf. + * @return The displayed pixbuf, or <tt>0</tt> if the image is empty. + */ + Glib::RefPtr<Gdk::Pixbuf> get_pixbuf(); + + /** Gets the Gdk::Pixbuf being displayed by the Gtk::Image. + * The storage type of the image must be Gtk::IMAGE_EMPTY or + * Gtk::IMAGE_PIXBUF (see get_storage_type()). + * The caller of this function does not own a reference to the + * returned pixbuf. + * @return The displayed pixbuf, or <tt>0</tt> if the image is empty. + */ + Glib::RefPtr<const Gdk::Pixbuf> get_pixbuf() const; + void get_stock(Gtk::StockID& stock_id, IconSize& size) const; + void get_icon_set(IconSet& icon_set, IconSize& size) const; + + /** Gets the Gdk::PixbufAnimation being displayed by the Gtk::Image. + * The storage type of the image must be Gtk::IMAGE_EMPTY or + * Gtk::IMAGE_ANIMATION (see get_storage_type()). + * The caller of this function does not own a reference to the + * returned animation. + * @return The displayed animation, or <tt>0</tt> if the image is empty. + */ + Glib::RefPtr<Gdk::PixbufAnimation> get_animation(); + + /** Gets the Gdk::PixbufAnimation being displayed by the Gtk::Image. + * The storage type of the image must be Gtk::IMAGE_EMPTY or + * Gtk::IMAGE_ANIMATION (see get_storage_type()). + * The caller of this function does not own a reference to the + * returned animation. + * @return The displayed animation, or <tt>0</tt> if the image is empty. + */ + Glib::RefPtr<const Gdk::PixbufAnimation> get_animation() const; + + Glib::ustring get_icon_name() const; + Glib::ustring get_icon_name(IconSize& size); + + + /** Gets the pixel size used for named icons. + * @return The pixel size used for named icons. + * + * Since: 2.6. + */ + int get_pixel_size() const; + + /** Sets the pixel size to use for named icons. If the pixel size is set + * to a value != -1, it is used instead of the icon size set by + * set_from_icon_name(). + * + * Since: 2.6 + * @param pixel_size The new pixel size. + */ + void set_pixel_size(int pixel_size); + + /** A GdkPixbuf to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf() ; + +/** A GdkPixbuf to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixbuf> > property_pixbuf() const; + + /** A GdkPixmap to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixmap> > property_pixmap() ; + +/** A GdkPixmap to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixmap> > property_pixmap() const; + + /** A GdkImage to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy< Glib::RefPtr<Gdk::Image> > property_image() ; + +/** A GdkImage to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Image> > property_image() const; + + /** Mask bitmap to use with GdkImage or GdkPixmap. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy< Glib::RefPtr<Gdk::Pixmap> > property_mask() ; + +/** Mask bitmap to use with GdkImage or GdkPixmap. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::Pixmap> > property_mask() const; + + /** Filename to load and display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_WriteOnly<Glib::ustring> property_file() ; + +/** Filename to load and display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly<Glib::ustring> property_file() const; + + /** Stock ID for a stock image to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy<Glib::ustring> property_stock() ; + +/** Stock ID for a stock image to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly<Glib::ustring> property_stock() const; + + /** Icon set to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy<Gtk::IconSet> property_icon_set() ; + +/** Icon set to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly<Gtk::IconSet> property_icon_set() const; + + /** Symbolic size to use for stock icon + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy<int> property_icon_size() ; + +/** Symbolic size to use for stock icon + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly<int> property_icon_size() const; + + /** GdkPixbufAnimation to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy< Glib::RefPtr<Gdk::PixbufAnimation> > property_pixbuf_animation() ; + +/** GdkPixbufAnimation to display. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly< Glib::RefPtr<Gdk::PixbufAnimation> > property_pixbuf_animation() const; + + /** The representation being used for image data. + * + * You rarely need to use properties because there are get_ and set_ methods for almost all of them. + * @return A PropertyProxy that allows you to get or set the property of the value, or receive notification when + * the value of the property changes. + */ + Glib::PropertyProxy_ReadOnly<ImageType> property_storage_type() const; + + +}; + +} /* namespace Gtk */ + + +namespace Glib +{ + /** @relates Gtk::Image + * @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::Image* wrap(GtkImage* object, bool take_copy = false); +} +#endif /* _GTKMM_IMAGE_H */ + |