cairo-texture.h

Go to the documentation of this file.
00001 // -*- c++ -*-
00002 // Generated by gtkmmproc -- DO NOT MODIFY!
00003 #ifndef _CLUTTERMM_CAIRO_TEXTURE_H
00004 #define _CLUTTERMM_CAIRO_TEXTURE_H
00005 
00006 
00007 #include <glibmm.h>
00008 
00009 /* Copyright (C) 2009 The cluttermm Development Team
00010  *
00011  * This library is free software; you can redistribute it and/or
00012  * modify it under the terms of the GNU Lesser General Public
00013  * License as published by the Free Software Foundation; either
00014  * version 2.1 of the License, or (at your option) any later version.
00015  *
00016  * This library is distributed in the hope that it will be useful,
00017  * but WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00019  * Lesser General Public License for more details.
00020  *
00021  * You should have received a copy of the GNU Lesser General Public
00022  * License along with this library; if not, write to the Free
00023  * Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
00024  */
00025 
00026 #include <glibmm/object.h>
00027 #include <cairomm/context.h>
00028 #include <cluttermm/color.h>
00029 #include <cluttermm/texture.h>
00030 
00031 
00032 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00033 typedef struct _ClutterCairoTexture ClutterCairoTexture;
00034 typedef struct _ClutterCairoTextureClass ClutterCairoTextureClass;
00035 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00036 
00037 
00038 namespace Clutter
00039 {
00040 
00041 namespace Cairo
00042 { class Texture_Class; } // namespace Cairo
00043 
00044 } // namespace Clutter
00045 namespace Clutter
00046 {
00047 
00048 namespace Cairo
00049 {
00050 
00051 
00052 class Texture : public ::Clutter::Texture
00053 {
00054   
00055 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00056 
00057 public:
00058   typedef Texture CppObjectType;
00059   typedef Texture_Class CppClassType;
00060   typedef ClutterCairoTexture BaseObjectType;
00061   typedef ClutterCairoTextureClass BaseClassType;
00062 
00063 private:  friend class Texture_Class;
00064   static CppClassType texture_class_;
00065 
00066 private:
00067   // noncopyable
00068   Texture(const Texture&);
00069   Texture& operator=(const Texture&);
00070 
00071 protected:
00072   explicit Texture(const Glib::ConstructParams& construct_params);
00073   explicit Texture(ClutterCairoTexture* castitem);
00074 
00075 #endif /* DOXYGEN_SHOULD_SKIP_THIS */
00076 
00077 public:
00078   virtual ~Texture();
00079 
00080 #ifndef DOXYGEN_SHOULD_SKIP_THIS
00081   static GType get_type()      G_GNUC_CONST;
00082   static GType get_base_type() G_GNUC_CONST;
00083 #endif
00084 
00086   ClutterCairoTexture*       gobj()       { return reinterpret_cast<ClutterCairoTexture*>(gobject_); }
00087 
00089   const ClutterCairoTexture* gobj() const { return reinterpret_cast<ClutterCairoTexture*>(gobject_); }
00090 
00092   ClutterCairoTexture* gobj_copy();
00093 
00094 private:
00095 
00096   
00097 protected:
00098   explicit Texture(guint width, guint height);
00099 
00100 public:
00101   
00102   static Glib::RefPtr<Texture> create(guint width, guint height);
00103 
00104 
00111   void clear();
00112 
00113   
00120   void set_surface_size(guint width, guint height);
00121   
00128   void get_surface_size(guint& width, guint& height) const;
00129 
00130   
00144   Glib::RefPtr< ::Cairo::Context > create_context();
00145   
00161   Glib::RefPtr< ::Cairo::Context > create_context_region(int x_offset, int y_offset, int width, int height);
00162 
00163 
00164 public:
00165 
00166 public:
00167   //C++ methods used to invoke GTK+ virtual functions:
00168 #ifdef GLIBMM_VFUNCS_ENABLED
00169 #endif //GLIBMM_VFUNCS_ENABLED
00170 
00171 protected:
00172   //GTK+ Virtual Functions (override these to change behaviour):
00173 #ifdef GLIBMM_VFUNCS_ENABLED
00174 #endif //GLIBMM_VFUNCS_ENABLED
00175 
00176   //Default Signal Handlers::
00177 #ifdef GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00178 #endif //GLIBMM_DEFAULT_SIGNAL_HANDLERS_ENABLED
00179 
00180 
00181 };
00182 
00183 void set_source_color(Glib::RefPtr< ::Cairo::Context >& context, ::Clutter::Color color);
00184 
00185 } // namespace Cairo
00186 
00187 } // namespace Clutter
00188 
00189 
00190 namespace Glib
00191 {
00200   Glib::RefPtr<Clutter::Cairo::Texture> wrap(ClutterCairoTexture* object, bool take_copy = false);
00201 }
00202 
00203 
00204 #endif /* _CLUTTERMM_CAIRO_TEXTURE_H */
00205 

Generated on 26 Feb 2010 for cluttermm by  doxygen 1.6.1