// -*- c++ -*- // Generated by gmmproc 2.45.3 -- DO NOT MODIFY! #ifndef _GDKMM_PIXBUF_H #define _GDKMM_PIXBUF_H #include #include #include /* 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 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, write to the Free * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. */ // This is for including the config header before any code (such as // the #ifndef GDKMM_DISABLE_DEPRECATED in deprecated classes) is generated: #include #include #include #include #include #include #include #ifndef DOXYGEN_SHOULD_SKIP_THIS typedef struct _GdkPixbuf GdkPixbuf; typedef struct _GdkPixbufClass GdkPixbufClass; #endif /* DOXYGEN_SHOULD_SKIP_THIS */ #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Gdk { class Pixbuf_Class; } // namespace Gdk #endif //DOXYGEN_SHOULD_SKIP_THIS namespace Gdk { /** @addtogroup gdkmmEnums gdkmm Enums and Flags */ /** * * @ingroup gdkmmEnums */ enum Colorspace { COLORSPACE_RGB }; } // namespace Gdk #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class Value : public Glib::Value_Enum { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gdk { /** * * @ingroup gdkmmEnums */ enum InterpType { INTERP_NEAREST, INTERP_TILES, INTERP_BILINEAR, INTERP_HYPER }; } // namespace Gdk #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class Value : public Glib::Value_Enum { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gdk { /** * * @ingroup gdkmmEnums */ enum PixbufAlphaMode { PIXBUF_ALPHA_BILEVEL, PIXBUF_ALPHA_FULL }; } // namespace Gdk #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class Value : public Glib::Value_Enum { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gdk { /** * * @ingroup gdkmmEnums */ enum PixbufRotation { PIXBUF_ROTATE_NONE = 0, PIXBUF_ROTATE_COUNTERCLOCKWISE = 90, PIXBUF_ROTATE_UPSIDEDOWN = 180, PIXBUF_ROTATE_CLOCKWISE = 270 }; } // namespace Gdk #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class Value : public Glib::Value_Enum { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gdk { /** Exception class for Gdk::Pixbuf errors. */ class PixbufError : public Glib::Error { public: /** */ enum Code { CORRUPT_IMAGE, INSUFFICIENT_MEMORY, BAD_OPTION, UNKNOWN_TYPE, UNSUPPORTED_OPERATION, FAILED }; PixbufError(Code error_code, const Glib::ustring& error_message); explicit PixbufError(GError* gobject); Code code() const; #ifndef DOXYGEN_SHOULD_SKIP_THIS private: static void throw_func(GError* gobject); friend void wrap_init(); // uses throw_func() #endif //DOXYGEN_SHOULD_SKIP_THIS }; } // namespace Gdk #ifndef DOXYGEN_SHOULD_SKIP_THIS namespace Glib { template <> class Value : public Glib::Value_Enum { public: static GType value_type() G_GNUC_CONST; }; } // namespace Glib #endif /* DOXYGEN_SHOULD_SKIP_THIS */ namespace Gdk { #ifndef DOXYGEN_SHOULD_SKIP_THIS struct PixbufFormatTraits { typedef PixbufFormat CppType; typedef const GdkPixbufFormat* CType; typedef GdkPixbufFormat* CTypeNonConst; static CType to_c_type (const CppType& obj) { return obj.gobj(); } static CType to_c_type (CType ptr) { return ptr; } static CppType to_cpp_type (CType ptr) { return PixbufFormat(ptr); /* Does not take ownership */ } static void release_c_type (CType /* ptr */) { /* Doesn't happen */ } }; #endif //DOXYGEN_SHOULD_SKIP_THIS class Pixbuf : public Glib::Object { #ifndef DOXYGEN_SHOULD_SKIP_THIS public: typedef Pixbuf CppObjectType; typedef Pixbuf_Class CppClassType; typedef GdkPixbuf BaseObjectType; typedef GdkPixbufClass BaseClassType; private: friend class Pixbuf_Class; static CppClassType pixbuf_class_; private: // noncopyable Pixbuf(const Pixbuf&); Pixbuf& operator=(const Pixbuf&); protected: explicit Pixbuf(const Glib::ConstructParams& construct_params); explicit Pixbuf(GdkPixbuf* castitem); #endif /* DOXYGEN_SHOULD_SKIP_THIS */ public: virtual ~Pixbuf(); /** Get the GType for this class, for use with the underlying GObject type system. */ static GType get_type() G_GNUC_CONST; #ifndef DOXYGEN_SHOULD_SKIP_THIS static GType get_base_type() G_GNUC_CONST; #endif ///Provides access to the underlying C GObject. GdkPixbuf* gobj() { return reinterpret_cast(gobject_); } ///Provides access to the underlying C GObject. const GdkPixbuf* gobj() const { return reinterpret_cast(gobject_); } ///Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. GdkPixbuf* gobj_copy(); private: //gtkmmproc error: gdk_pixbuf_ref : ignored method defs lookup failed//gtkmmproc error: gdk_pixbuf_unref : ignored method defs lookup failed protected: /** Creates a pixbuf object from a drawable. * * Transfers image data from a Drawable and converts it to an RGB(A) * representation inside a Pixbuf. In other words, copies * image data from a server-side drawable to a client-side RGB(A) buffer. * This allows you to efficiently read individual pixels on the client side. * * If the drawable \p src has no colormap (See Gdk::Drawable::get_colormap()), * then a suitable colormap must be specified. Otherwise, you may use the * constructor that takes no colormap argument. * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window * to the Gdk::Pixbuf constructor will already have a colormap associated with * it. If the drawable is a bitmap (1 bit per pixel pixmap), * then a colormap is not required; pixels with a value of 1 are * assumed to be white, and pixels with a value of 0 are assumed to be * black. For taking screenshots, Gdk::Colormap::get_system() returns * the correct colormap to use. * * This will create an RGB pixbuf with 8 bits per channel and no * alpha, with the same size specified by the @a width and @a height * arguments. * * If the specified drawable is a pixmap, then the requested source * rectangle must be completely contained within the pixmap, otherwise * the constructor will fail. For pixmaps only (not for windows) * passing -1 for width or height is allowed to mean the full width * or height of the pixmap. * * If the specified drawable is a window, and the window is off the * screen, then there is no image data in the obscured/offscreen * regions to be placed in the pixbuf. The contents of portions of the * pixbuf corresponding to the offscreen region are undefined. * * If the window you're obtaining data from is partially obscured by * other windows, then the contents of the pixbuf areas corresponding * to the obscured regions are undefined. * * See alo Gdk::Drawable::get_image(). * * @param src Source drawable. * @param cmap: A colormap. * @param src_x Source X coordinate within drawable. * @param src_y Source Y coordinate within drawable. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ Pixbuf(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int width, int height); /** Creates a pixbuf object from a drawable, using the colormap from the drawable. * * @param src Source drawable. * @param src_x Source X coordinate within drawable. * @param src_y Source Y coordinate within drawable. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ Pixbuf(const Glib::RefPtr& src, int src_x, int src_y, int width, int height); #ifndef GDKMM_DISABLE_DEPRECATED /// @deprecated Use the constructor without dest_x and dest_y parameters. Pixbuf(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height); #endif // GDKMM_DISABLE_DEPRECATED /** Creates a pixbuf object from an image. * * @param src Source Image. * @param cmap A colormap. * @param src_x Source X coordinate within the image. * @param src_y Source Y coordinate within the image. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ Pixbuf(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int width, int height); /** Creates a pixbuf object from an image, using the colormap from the image. * * @param src Source Image. * @param src_x Source X coordinate within the image. * @param src_y Source Y coordinate within the image. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ Pixbuf(const Glib::RefPtr& src, int src_x, int src_y, int width, int height); #ifndef GDKMM_DISABLE_DEPRECATED /// @deprecated Use the constructors without dest_x and dest_y parameters. Pixbuf(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height); #endif // GDKMM_DISABLE_DEPRECATED public: typedef sigc::slot SlotDestroyData; // Hand-coded so the implementation in the .ccg is also only // built when GDKMM_DISABLE_DEPRECATED is defined. #ifndef GDKMM_DISABLE_DEPRECATED /** @deprecated Use the create() methods that don't have the unused dest_x and dest_y parameters. */ static Glib::RefPtr create(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height); /** @deprecated Use the create() methods that that don't have the unused dest_x and dest_y parameters. */ static Glib::RefPtr create(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height); #endif // GDKMM_DISABLE_DEPRECATED /** Creates a pixbuf object from a drawable. * * Transfers image data from a Drawable and converts it to an RGB(A) * representation inside a Pixbuf. In other words, copies * image data from a server-side drawable to a client-side RGB(A) buffer. * This allows you to efficiently read individual pixels on the client side. * * If the drawable \p src has no colormap (See Gdk::Drawable::get_colormap()), * then a suitable colormap must be specified. Otherwise, you may use the * constructor that takes no colormap argument. * Typically a Gdk::Window or a pixmap created by passing a Gdk:Window * to the Gdk::Pixbuf constructor will already have a colormap associated with * it. If the drawable is a bitmap (1 bit per pixel pixmap), * then a colormap is not required; pixels with a value of 1 are * assumed to be white, and pixels with a value of 0 are assumed to be * black. For taking screenshots, Gdk::Colormap::get_system() returns * the correct colormap to use. * * This will create an RGB pixbuf with 8 bits per channel and no * alpha, with the same size specified by the @a width and @a height * arguments. * * If the specified drawable is a pixmap, then the requested source * rectangle must be completely contained within the pixmap, otherwise * the constructor will fail. For pixmaps only (not for windows) * passing -1 for width or height is allowed to mean the full width * or height of the pixmap. * * If the specified drawable is a window, and the window is off the * screen, then there is no image data in the obscured/offscreen * regions to be placed in the pixbuf. The contents of portions of the * pixbuf corresponding to the offscreen region are undefined. * * If the window you're obtaining data from is partially obscured by * other windows, then the contents of the pixbuf areas corresponding * to the obscured regions are undefined. * * See alo Gdk::Drawable::get_image(). * * @param src Source drawable. * @param cmap: A colormap. * @param src_x Source X coordinate within drawable. * @param src_y Source Y coordinate within drawable. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ static Glib::RefPtr create(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int width, int height); /** Creates a pixbuf object from a drawable, using the colormap from the drawable. * * @param src Source drawable. * @param src_x Source X coordinate within drawable. * @param src_y Source Y coordinate within drawable. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ static Glib::RefPtr create(const Glib::RefPtr& src, int src_x, int src_y, int width, int height); /** Creates a pixbuf object from an image. * * @param src Source Image. * @param cmap A colormap. * @param src_x Source X coordinate within the image. * @param src_y Source Y coordinate within the image. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ static Glib::RefPtr create(const Glib::RefPtr& src, const Glib::RefPtr& cmap, int src_x, int src_y, int width, int height); /** Creates a pixbuf object from an image, using the colormap from the image. * * @param src Source Image. * @param src_x Source X coordinate within the image. * @param src_y Source Y coordinate within the image. * @param width Width in pixels of region to get. * @param height Height in pixels of region to get. */ static Glib::RefPtr create(const Glib::RefPtr& src, int src_x, int src_y, int width, int height); Glib::RefPtr copy() const; static Glib::RefPtr create(Colorspace colorspace, bool has_alpha, int bits_per_sample, int width, int height); /** @param src_pixbuf A Gdk::Pixbuf. * @param src_x X coord in @a src_pixbuf. * @param src_y Y coord in @a src_pixbuf. * @param width Width of region in @a src_pixbuf. * @param height Height of region in @a src_pixbuf. */ static Glib::RefPtr create_subpixbuf(const Glib::RefPtr& src_pixbuf, int src_x, int src_y, int width, int height); /** Creates a new pixbuf by loading an image from a file. The file format is detected automatically. * @param filename The path to the pixbuf file. * * @throw Glib::FileError * @throw Gdk::PixbufError */ static Glib::RefPtr create_from_file(const std::string& filename); /** Creates a new pixbuf by loading an image from a file. The file format is detected automatically. * The image will be scaled to fit in the requested size. * @param filename The path to the pixbuf file. * @param width The desired width * @param height The desired height * @param preserve_aspect_ratio: Whether the image's aspect ratio will be preserved when scaling. * * @throw Glib::FileError * @throw Gdk::PixbufError */ static Glib::RefPtr create_from_file(const std::string& filename, int width, int height, bool preserve_aspect_ratio = true); //gdk_pixbuf_new_from_file_at_size() just calls gdk_pixbuf_new_from_file_at_scale(). /** Creates a new Gdk::Pixbuf out of in-memory image data. * Currently only RGB images with 8 bits per sample are supported. * * @param data %Image data in 8-bit/sample packed format. * @param colorspace Colorspace for the image data. * @param has_alpha Whether the data has an opacity channel. * @param bits_per_sample Number of bits per sample. * @param width Width of the image in pixels. * @param height Height of the image in pixels. * @param rowstride Distance in bytes between rows. * @return A newly-created Gdk::Pixbuf object. */ static Glib::RefPtr create_from_data(const guint8* data, Colorspace colorspace, bool has_alpha, int bits_per_sample, int width, int height, int rowstride); /** Creates a new Gdk::Pixbuf out of in-memory image data. * Currently only RGB images with 8 bits per sample are supported. * * @param data %Image data in 8-bit/sample packed format. * @param colorspace Colorspace for the image data. * @param has_alpha Whether the data has an opacity channel. * @param bits_per_sample Number of bits per sample. * @param width Width of the image in pixels. * @param height Height of the image in pixels. * @param rowstride Distance in bytes between rows. * @param destroy_slot Slot used to free the data when the pixbuf's * reference count drops to zero. * @return A newly-created Gdk::Pixbuf object. */ static Glib::RefPtr create_from_data(const guint8* data, Colorspace colorspace, bool has_alpha, int bits_per_sample, int width, int height, int rowstride, const SlotDestroyData& destroy_slot); static Glib::RefPtr create_from_xpm_data(const char *const * data); /** Create a Gdk::Pixbuf from a flat representation that is suitable for * storing as inline data in a program. This is useful if you want to ship a * program with images, but don't want to depend on any external files. * * GTK+ ships with a program called gdk-pixbuf-csource which allows * for conversion of GdkPixbufs into such a inline representation. In almost * all cases, you should pass the --raw flag to * gdk-pixbuf-csource. A sample invocation would be: * * gdk-pixbuf-csource --raw --name=myimage_inline myimage.png * * For the typical case where the inline pixbuf is read-only static data, you * don't need to copy the pixel data unless you intend to write to it, so you * can pass false for @a copy_pixels. (If you pass --rle to * gdk-pixbuf-csource, a copy will be made even if @a copy_pixels is * false, so using this option is generally a bad idea.) * * If you create a pixbuf from const inline data compiled into your program, * it's probably safe to ignore errors, since things will always succeed. For * non-const inline data, you could get out of memory. For untrusted inline * data located at runtime, you could have corrupt inline data in addition. * * @param data_length Length in bytes of the @a data argument. * @param data Byte data containing a serialized GdkPixdata structure. * @param copy_pixels Whether to copy the pixel data, or use direct pointers * to @a data for the resulting pixbuf. * @throw Gdk::PixbufError */ static Glib::RefPtr create_from_inline(int data_length, const guint8* data, bool copy_pixels = false); static Glib::RefPtr create_from_stream(const Glib::RefPtr& stream, const Glib::RefPtr& cancelable); static Glib::RefPtr create_from_stream(const Glib::RefPtr& stream); static Glib::RefPtr create_from_stream_at_scale(const Glib::RefPtr& stream, int width, int height, bool preserve_aspect_ratio, const Glib::RefPtr& cancelable); static Glib::RefPtr create_from_stream_at_scale(const Glib::RefPtr& stream, int width, int height, bool preserve_aspect_ratio); Colorspace get_colorspace() const; int get_n_channels() const; bool get_has_alpha() const; int get_bits_per_sample() const; guint8* get_pixels() const; int get_width() const; int get_height() const; int get_rowstride() const; void fill(guint32 pixel); /** Saves pixbuf to a file in format @a type. * By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in, but more formats may be installed. * The list of all writable formats can be determined by using get_formats() with * is_writable(). * * @param filename The path of the file to be created. * @param type The file type. * * @throw Glib::FileError * @throw Gdk::PixbufError */ void save(const std::string& filename, const Glib::ustring& type); /** Saves pixbuf to a file in format @a type. * By default, "jpeg", "png", "ico" and "bmp" are possible file formats to save in, but more formats may be installed. * TThe list of all writable formats can be determined by using get_formats() with * Gdk::PixbufFormat::is_writable(). * * The @a option_keys and \p option_values, if not empty, should contain pairs of strings that modify the save parameters. * For example, "quality", "100". * * Currently only a few parameters exist. JPEG images can be saved with a "quality" parameter; * its value should be in the range [0,100]. Text chunks can be attached to PNG images by specifying parameters of the * form "tEXt::key", where key is an ASCII string of length 1-79. The values are UTF-8 encoded strings. ICO images can be * saved in depth 16, 24, or 32, by using the "depth" parameter. When the ICO saver is given "x_hot" and "y_hot" * parameters, it produces a CUR instead of an ICO. * * @param filename The path of the file to be created. * @param type The file type. * @param option_keys * @param option_values * * @throw Glib::FileError * @throw Gdk::PixbufError */ void save(const std::string& filename, const Glib::ustring& type, const Glib::StringArrayHandle& option_keys, const Glib::StringArrayHandle& option_values); /* TODO: typedef gboolean (*GdkPixbufSaveFunc) (const gchar *buf, gsize count, GError **error, gpointer data); gboolean gdk_pixbuf_save_to_callback (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func, gpointer user_data, const char *type, GError **error, ...); gboolean gdk_pixbuf_save_to_callbackv (GdkPixbuf *pixbuf, GdkPixbufSaveFunc save_func, gpointer user_data, const char *type, char **option_keys, char **option_values, GError **error); */ /* Saves the pixbuf to a new buffer in format @a type. * Note that the buffer is not nul-terminated and may contain embedded nulls. * @see save(). * * @param buffer This will be set to the address of a new buffer. * @param size This will be set to the size of the @a buffer. * @param type Currently "jpeg", "png", "ico" or "bmp". * * @throw Glib::FileError * @throw Gdk::PixbufError */ void save_to_buffer(gchar*& buffer, gsize& buffer_size, const Glib::ustring& type = "png"); /* Saves the pixbuf to a new buffer in format @a type. * Note that the buffer is not nul-terminated and may contain embedded nulls. * @see save(). * * @param buffer This will be set to the address of a new buffer. * @param size This will be set to the size of the @a buffer. * @param type Currently "jpeg", "png", "ico" or "bmp". * * @throw Glib::FileError * @throw Gdk::PixbufError */ void save_to_buffer(gchar*& buffer, gsize& buffer_size, const Glib::ustring& type, const Glib::StringArrayHandle& option_keys, const Glib::StringArrayHandle& option_values); Glib::RefPtr add_alpha(bool substitute_color, guint8 r, guint8 g, guint8 b) const; void copy_area(int src_x, int src_y, int width, int height, const Glib::RefPtr& dest_pixbuf, int dest_x, int dest_y) const; void saturate_and_pixelate(const Glib::RefPtr& dest, float saturation, bool pixelate) const; void scale(const Glib::RefPtr& dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, InterpType interp_type) const; void composite(const Glib::RefPtr& dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, InterpType interp_type, int overall_alpha) const; void composite_color(const Glib::RefPtr& dest, int dest_x, int dest_y, int dest_width, int dest_height, double offset_x, double offset_y, double scale_x, double scale_y, InterpType interp_type, int overall_alpha, int check_x, int check_y, int check_size, guint32 color1, guint32 color2) const; Glib::RefPtr scale_simple(int dest_width, int dest_height, InterpType interp_type) const; Glib::RefPtr composite_color_simple(int dest_width, int dest_height, InterpType interp_type, int overall_alpha, int check_size, guint32 color1, guint32 color2) const; Glib::RefPtr rotate_simple(PixbufRotation angle) const; Glib::RefPtr flip(bool horizontal = true) const; /** Takes the opacity values in a rectangular portion of a pixbuf and thresholds * them to produce a bi-level alpha mask that can be used as a clipping mask for * a drawable. * * @param bitmap Bitmap where the bilevel mask will be painted to. * @param src_x Source X coordinate. * @param src_y Source Y coordinate. * @param dest_x Destination X coordinate. * @param dest_y Destination Y coordinate. * @param width Width of region to threshold, or -1 to use pixbuf width. * @param height Height of region to threshold, or -1 to use pixbuf height. * @param alpha_threshold Opacity values below this will be painted as zero; all * other values will be painted as one. */ void render_threshold_alpha(const Glib::RefPtr& bitmap, int src_x, int src_y, int dest_x, int dest_y, int width, int height, int alpha_threshold); #ifndef GDKMM_DISABLE_DEPRECATED /** Renders a rectangular portion of a pixbuf to a drawable while using the * specified GC. This is done using GdkRGB, so the specified drawable must have * the GdkRGB visual and colormap. Note that this function will ignore the * opacity information for images with an alpha channel; the GC must already * have the clipping mask set if you want transparent regions to show through. * * For an explanation of dither offsets, see the GdkRGB documentation. In * brief, the dither offset is important when re-rendering partial regions of an * image to a rendered version of the full image, or for when the offsets to a * base position change, as in scrolling. The dither matrix has to be shifted * for consistent visual results. If you do not have any of these cases, the * dither offsets can be both zero. * * Deprecated: 2.4: This function is obsolete. Use gdk_draw_pixbuf() instead. * * @deprecated Use Gdk::Drawable::draw_pixbuf() instead. * * @param drawable Destination drawable. * @param gc GC used for rendering. * @param src_x Source X coordinate within pixbuf. * @param src_y Source Y coordinate within pixbuf. * @param dest_x Destination X coordinate within drawable. * @param dest_y Destination Y coordinate within drawable. * @param width Width of region to render, in pixels, or -1 to use pixbuf width. * @param height Height of region to render, in pixels, or -1 to use pixbuf height. * @param dither Dithering mode for GdkRGB. * @param x_dither X offset for dither. * @param y_dither Y offset for dither. */ void render_to_drawable(const Glib::RefPtr& drawable, const Glib::RefPtr& gc, int src_x, int src_y, int dest_x, int dest_y, int width, int height, RgbDither dither, int x_dither, int y_dither); #endif // GDKMM_DISABLE_DEPRECATED #ifndef GDKMM_DISABLE_DEPRECATED /** Renders a rectangular portion of a pixbuf to a drawable. The destination * drawable must have a colormap. All windows have a colormap, however, pixmaps * only have colormap by default if they were created with a non-0 window argument. * Otherwise a colormap must be set on them with gdk_drawable_set_colormap. * * On older X servers, rendering pixbufs with an alpha channel involves round trips * to the X server, and may be somewhat slow. * * Deprecated: 2.4: This function is obsolete. Use gdk_draw_pixbuf() instead. * * @deprecated Use Gdk::Drawable::draw_pixbuf() instead. * * @param drawable Destination drawable. * @param src_x Source X coordinate within pixbuf. * @param src_y Source Y coordinates within pixbuf. * @param dest_x Destination X coordinate within drawable. * @param dest_y Destination Y coordinate within drawable. * @param width Width of region to render, in pixels, or -1 to use pixbuf width. * @param height Height of region to render, in pixels, or -1 to use pixbuf height. * @param alpha_mode Ignored. Present for backwards compatibility. * @param alpha_threshold Ignored. Present for backwards compatibility. * @param dither Dithering mode for GdkRGB. * @param x_dither X offset for dither. * @param y_dither Y offset for dither. */ void render_to_drawable_alpha(const Glib::RefPtr& drawable, int src_x, int src_y, int dest_x, int dest_y, int width, int height, PixbufAlphaMode alpha_mode, int alpha_threshold, RgbDither dither, int x_dither, int y_dither); #endif // GDKMM_DISABLE_DEPRECATED void render_pixmap_and_mask_for_colormap(const Glib::RefPtr& colormap, Glib::RefPtr& pixmap_return, Glib::RefPtr& mask_return, int alpha_threshold); void render_pixmap_and_mask(Glib::RefPtr& pixmap_return, Glib::RefPtr& mask_return, int alpha_threshold); Glib::ustring get_option(const Glib::ustring& key) const; typedef Glib::SListHandle< Glib::RefPtr, PixbufFormatTraits > SListHandle_PixbufFormat; /** Obtains the available information about the image formats supported by GdkPixbuf. * @result A list of PixbufFormats describing the supported image formats. */ static SListHandle_PixbufFormat get_formats(); public: public: //C++ methods used to invoke GTK+ virtual functions: protected: //GTK+ Virtual Functions (override these to change behaviour): //Default Signal Handlers:: }; } // namespace Gdk namespace Glib { /** A Glib::wrap() method for this object. * * @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. * * @relates Gdk::Pixbuf */ Glib::RefPtr wrap(GdkPixbuf* object, bool take_copy = false); } #endif /* _GDKMM_PIXBUF_H */