00001 #ifndef IONFLUX_TOOLS_CAIRO_SURFACEPATTERN
00002 #define IONFLUX_TOOLS_CAIRO_SURFACEPATTERN
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #include "ionflux/CairoPattern.hpp"
00030
00031 namespace Ionflux
00032 {
00033
00034 namespace Tools
00035 {
00036
00037 namespace Cairo
00038 {
00039
00048 class SurfacePattern
00049 : public Pattern
00050 {
00051 private:
00052
00053 protected:
00054
00055 public:
00060 SurfacePattern();
00061
00068 SurfacePattern(const SurfacePattern& initPattern);
00069
00076 SurfacePattern(cairo_pattern_t* initPattern);
00077
00084 SurfacePattern(cairo_surface_t* surface);
00085
00090 virtual ~SurfacePattern();
00091
00098 virtual void setExtend(cairo_extend_t extend);
00099
00106 virtual cairo_extend_t getExtend();
00107
00114 virtual void setFilter(cairo_filter_t filter);
00115
00122 virtual cairo_filter_t getFilter();
00123
00132 virtual SurfacePattern& operator=(const SurfacePattern& newCairoPattern);
00133
00142 virtual SurfacePattern& operator=(cairo_pattern_t* newCairoPattern);
00143 };
00144
00145 }
00146
00147 }
00148
00149 }
00150
00154 #endif