cairomm  1.0
Public Member Functions | Static Public Member Functions | List of all members
Cairo::ImageSurface Class Reference

Image surfaces provide the ability to render to memory buffers either allocated by cairo or by the calling code. More...

Inheritance diagram for Cairo::ImageSurface:
Inheritance graph
[legend]

Public Member Functions

 ImageSurface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance. More...
 
virtual ~ImageSurface ()
 
int get_width () const
 Gets the width of the ImageSurface in pixels. More...
 
int get_height () const
 Gets the height of the ImageSurface in pixels. More...
 
Format get_format () const
 Gets the format of the surface. More...
 
int get_stride () const
 Returns the stride of the image surface in bytes (or 0 if surface is not an image surface). More...
 
unsigned char* get_data ()
 Get a pointer to the data of the image surface, for direct inspection or modification. More...
 
const unsigned char* get_data () const
 
- Public Member Functions inherited from Cairo::Surface
 Surface (cairo_surface_t*cobject, bool has_reference=false)
 Create a C++ wrapper for the C instance. More...
 
 Surface (const Surface&)=delete
 
Surfaceoperator= (const Surface&)=delete
 
virtual ~Surface ()
 
const unsigned char* get_mime_data (const std::string& mime_type, unsigned long& length)
 Return mime data previously attached to surface using the specified mime type. More...
 
void set_mime_data (const std::string& mime_type, unsigned char* data, unsigned long length, const SlotDestroy& slot_destroy)
 Attach an image in the format mime_type to surface. More...
 
void unset_mime_data (const std::string& mime_type)
 Remove the data from a surface. More...
 
void get_font_options (FontOptions& options) const
 Retrieves the default font rendering options for the surface. More...
 
void finish ()
 This function finishes the surface and drops all references to external resources. More...
 
void flush ()
 Do any pending drawing for the surface and also restore any temporary modifications cairo has made to the surface's state. More...
 
void mark_dirty ()
 Tells cairo to consider the data buffer dirty. More...
 
void mark_dirty (int x, int y, int width, int height)
 Marks a rectangular area of the given surface dirty. More...
 
void set_device_offset (double x_offset, double y_offset)
 Sets an offset that is added to the device coordinates determined by the CTM when drawing to surface. More...
 
void get_device_offset (double& x_offset, double& y_offset) const
 Returns a previous device offset set by set_device_offset(). More...
 
void set_fallback_resolution (double x_pixels_per_inch, double y_pixels_per_inch)
 Set the horizontal and vertical resolution for image fallbacks. More...
 
void get_fallback_resolution (double& x_pixels_per_inch, double& y_pixels_per_inch) const
 This function returns the previous fallback resolution set by set_fallback_resolution(), or default fallback resolution if never set. More...
 
SurfaceType get_type () const
 
Content get_content () const
 This function returns the content type of surface which indicates whether the surface contains color and/or alpha information. More...
 
void copy_page ()
 Emits the current page for backends that support multiple pages, but doesn't clear it, so that the contents of the current page will be retained for the next page. More...
 
void show_page ()
 Emits and clears the current page for backends that support multiple pages. More...
 
bool has_show_text_glyphs () const
 Returns whether the surface supports sophisticated Context::show_text_glyphs() operations. More...
 
void write_to_png (const std::string& filename)
 Writes the contents of surface to a new file filename as a PNG image. More...
 
void write_to_png_stream (const SlotWriteFunc& write_func)
 Writes the Surface to the write function. More...
 
void write_to_png (cairo_write_func_t write_func, void* closure)
 
RefPtr< Deviceget_device ()
 This function returns the device for a surface. More...
 
cobjectcobj ()
 Provides acces to the underlying C cairo surface. More...
 
const cobjectcobj () const
 Provides acces to the underlying C cairo surface. More...
 

Static Public Member Functions

static int format_stride_for_width (Cairo::Format format, int width)
 This function provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo. More...
 
static RefPtr< ImageSurfacecreate (Format format, int width, int height)
 Creates an image surface of the specified format and dimensions. More...
 
static RefPtr< ImageSurfacecreate (unsigned char* data, Format format, int width, int height, int stride)
 Creates an image surface for the provided pixel data. More...
 
static RefPtr< ImageSurfacecreate_from_png (std::string filename)
 Creates a new image surface and initializes the contents to the given PNG file. More...
 
static RefPtr< ImageSurfacecreate_from_png_stream (const SlotReadFunc& read_func)
 Creates a new image surface from PNG data read incrementally via the read_func function. More...
 
static RefPtr< ImageSurfacecreate_from_png (cairo_read_func_t read_func, void* closure)
 
- Static Public Member Functions inherited from Cairo::Surface
static RefPtr< Surfacecreate (const RefPtr< Surface > other, Content content, int width, int height)
 Create a new surface that is as compatible as possible with an existing surface. More...
 
static RefPtr< Surfacecreate (const RefPtr< Surface >& target, double x, double y, double width, double height)
 Create a new surface that is a rectangle within the target surface. More...
 

Additional Inherited Members

- Public Types inherited from Cairo::Surface
typedef sigc::slot< ErrorStatus, const unsigned char*, unsigned int > SlotWriteFunc
 For example: ErrorStatus my_write_func(unsigned char* data, unsigned int length); More...
 
typedef sigc::slot< ErrorStatus, unsigned char*, unsigned int > SlotReadFunc