GFC Logo GFC Title Logo
Reference Manual
Main Page  |  Namespace List  |  Alphabetical List  |  Class List  |  File List

image.hh

Go to the documentation of this file.
00001 /* GFC-UI: GTK+ Foundation Classes (User Interface Library) 00002 * Copyright (C) 2002-2004 The GFC Development Team. 00003 * 00004 * This program is free software; you can redistribute it and/or modify 00005 * it under the terms of the GNU General Public License as published by 00006 * the Free Software Foundation; either version 2 of the License, or 00007 * (at your option) any later version. 00008 * 00009 * This program is distributed in the hope that it will be useful, 00010 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00012 * GNU Library General Public License for more details. 00013 * 00014 * You should have received a copy of the GNU Library General Public License 00015 * along with this program; if not, write to the Free Software 00016 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 */ 00018 00023 00024 #ifndef GFC_GDK_IMAGE_HH 00025 #define GFC_GDK_IMAGE_HH 00026 00027 #ifndef GFC_GDK_TYPES_HH 00028 #include <gfc/gdk/types.hh> 00029 #endif 00030 00031 #ifndef GFC_G_OBJECT_HH 00032 #include <gfc/glib/object.hh> 00033 #endif 00034 00035 namespace GFC { 00036 00037 namespace Gdk { 00038 00039 class Colormap; 00040 class Drawable; 00041 class Pixbuf; 00042 class Visual; 00043 00044 // @enum Gdk::ImageType 00046 00047 enum ImageType 00048 { 00049 IMAGE_NORMAL = GDK_IMAGE_NORMAL, 00052 00053 IMAGE_SHARED = GDK_IMAGE_SHARED, 00058 00059 IMAGE_FASTEST = GDK_IMAGE_FASTEST 00062 }; 00063 00074 00075 class Image : public G::Object 00076 { 00077 friend class G::Object; 00078 00079 Image(const Image&); 00080 Image& operator=(const Image&); 00081 00082 protected: 00085 00086 explicit Image(GdkImage *image, bool owns_reference = true); 00093 00095 00096 public: 00099 00100 virtual ~Image(); 00102 00104 00105 static Pointer<Image> create(ImageType type, const Visual& visual, int width, int height); 00115 00118 00119 GdkImage* gdk_image() const; 00121 00122 operator GdkImage* () const; 00124 00125 ImageType image_type() const; 00127 00128 const Visual& visual() const; 00130 00131 ByteOrder byte_order() const; 00133 00134 int width() const; 00136 00137 int height() const; 00139 00140 unsigned short depth() const; 00142 00143 unsigned short bytes_per_pixel() const; 00145 00146 unsigned short bytes_per_line() const; 00148 00149 unsigned int get_pixel(int x, int y) const; 00154 00155 Colormap* get_colormap() const; 00161 00165 00166 void put_pixel(int x, int y, unsigned int pixel); 00171 00172 void set_colormap(Colormap& colormap); 00179 00181 }; 00182 00183 } // namespace Gdk 00184 00185 } // namespace GFC 00186 00187 #include <gfc/gdk/inline/image.inl> 00188 00189 #endif // GFC_GDK_IMAGE_HH 00190

Generated on Tue Aug 24 00:34:31 2004 for GFC-UI by doxygen 1.3.8