cairomm: Cairo::MappedImageSurface Class Reference

cairomm 1.19.1

Public Member Functions | Protected Attributes | List of all members
Cairo::MappedImageSurface Class Reference

Image surface which is mapped to a target surface. More...

`#include <cairomm/surface.h>`

Inheritance diagram for Cairo::MappedImageSurface:
[legend]

## Public Member Functions
| MappedImageSurface (cairo_surface_t *cobject, cairo_surface_t * ctarget, bool has_reference=false)
| Create a C++ wrapper for the C instance.
| ~MappedImageSurface () override
| Destructor.
Public Member Functions inherited from Cairo::ImageSurface
| ImageSurface (cairo_surface_t *cobject, bool has_reference=false)
| Create a C++ wrapper for the C instance.
| ~ImageSurface () override
int | get_width () const
| Gets the width of the ImageSurface in pixels.
int | get_height () const
| Gets the height of the ImageSurface in pixels.
Format | get_format () const
| Gets the format of the surface.
int | get_stride () const
| Returns the stride of the image surface in bytes (or 0 if surface is not an image surface).
unsigned char * | get_data ()
| Get a pointer to the data of the image surface, for direct inspection or modification.
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.
| Surface (const Surface &)=delete
Surface & | operator= (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.
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.
void | unset_mime_data (const std::string & mime_type)
| Remove the data from a surface.
void | get_font_options (FontOptions & options) const
| Retrieves the default font rendering options for the surface.
void | finish ()
| This function finishes the surface and drops all references to external resources.
void | flush ()
| Do any pending drawing for the surface and also restore any temporary modifications cairo has made to the surface's state.
void | mark_dirty ()
| Tells cairo to consider the data buffer dirty.
void | mark_dirty (int x, int y, int width, int height)
| Marks a rectangular area of the given surface dirty.
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.
void | get_device_offset (double & x_offset, double & y_offset) const
| Returns a previous device offset set by set_device_offset().
void | set_device_scale (double x_scale, double y_scale)
| Sets a scale that is multiplied to the device coordinates determined by the CTM when drawing to surface.
void | set_device_scale (double scale)
| Sets x and y scale to the same value.
void | get_device_scale (double & x_scale, double & y_scale) const
| Returns a previous device scale set by set_device_scale().
double | get_device_scale () const
| Returns the x and y average of a previous device scale set by set_device_scale().
void | set_fallback_resolution (double x_pixels_per_inch, double y_pixels_per_inch)
| Set the horizontal and vertical resolution for image fallbacks.
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.
Type | 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.
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.
void | show_page ()
| Emits and clears the current page for backends that support multiple pages.
bool | has_show_text_glyphs () const
| Returns whether the surface supports sophisticated Context::show_text_glyphs() operations.
void | write_to_png (const std::string & filename)
| Writes the contents of surface to a new file filename as a PNG image.
void | write_to_png_stream (const SlotWriteFunc & write_func)
| Writes the Surface to the write function.
RefPtr< ImageSurface > | create_similar_image (Format format, int width, int height)
| Create a new image surface that is as compatible as possible for uploading to and the use in conjunction with an existing surface.
bool | supports_mime_type (const std::string & mime_type)
| Checks whether mime_type is supported by the surface.
RefPtr< MappedImageSurface > | map_to_image (const RectangleInt & extents)
| Returns an image surface that is the most efficient mechanism for modifying the backing store of the target surface.
RefPtr< MappedImageSurface > | map_to_image ()
| Returns an image surface that is the most efficient mechanism for modifying the backing store of the target surface.
RefPtr< Device > | get_device ()
| This function returns the device for a surface.
cobject * | cobj ()
| Provides acces to the underlying C cairo surface.
const cobject * | cobj () const
| Provides acces to the underlying C cairo surface.

## Protected Attributes
cobject * | m_ctarget
| The C cairo surface which has been mapped to this image surface.
Protected Attributes inherited from Cairo::Surface
cobject * | m_cobject
| The underlying C cairo surface type that is wrapped by this Surface.

## Additional Inherited Members
Public Types inherited from Cairo::Surface
enum class | Type { IMAGE = CAIRO_SURFACE_TYPE_IMAGE , PDF = CAIRO_SURFACE_TYPE_PDF , PS = CAIRO_SURFACE_TYPE_PS , XLIB = CAIRO_SURFACE_TYPE_XLIB , XCB = CAIRO_SURFACE_TYPE_XCB , GLITZ = CAIRO_SURFACE_TYPE_GLITZ , QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ , WIN32 = CAIRO_SURFACE_TYPE_WIN32 , WIN32_SURFACE = CAIRO_SURFACE_TYPE_WIN32 , BEOS = CAIRO_SURFACE_TYPE_BEOS , DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB , SVG = CAIRO_SURFACE_TYPE_SVG , OS2 = CAIRO_SURFACE_TYPE_OS2 , WIN32_PRINTING = CAIRO_SURFACE_TYPE_WIN32_PRINTING , QUARTZ_IMAGE = CAIRO_SURFACE_TYPE_QUARTZ_IMAGE , SCRIPT = CAIRO_SURFACE_TYPE_SCRIPT , QT = CAIRO_SURFACE_TYPE_QT , RECORDING = CAIRO_SURFACE_TYPE_RECORDING , VG = CAIRO_SURFACE_TYPE_VG , GL = CAIRO_SURFACE_TYPE_GL , DRM = CAIRO_SURFACE_TYPE_DRM , TEE = CAIRO_SURFACE_TYPE_TEE , XML = CAIRO_SURFACE_TYPE_XML , SKIA = CAIRO_SURFACE_TYPE_SKIA , SUBSURFACE = CAIRO_SURFACE_TYPE_SUBSURFACE }
| Cairo::Surface::Type is used to describe the type of a given surface. More...
enum class | Format { ARGB32 = CAIRO_FORMAT_ARGB32 , RGB24 = CAIRO_FORMAT_RGB24 , A8 = CAIRO_FORMAT_A8 , A1 = CAIRO_FORMAT_A1 , RGB16_565 = CAIRO_FORMAT_RGB16_565 }
| Cairo::Surface::Format is used to identify the memory format of image data. More...
typedef sigc::slot< ErrorStatus(const unsigned char *, unsigned int)> | SlotWriteFunc
| For example: `ErrorStatus my_write_func(unsigned char* data, unsigned int length);` .
typedef sigc::slot< ErrorStatus(unsigned char *, unsigned int)> | SlotReadFunc
| This is the type of function which is called when a backend needs to read data from an input stream.
typedef sigc::slot< void()> | SlotDestroy
| For instance, void on_destroy();.
typedef cairo_surface_t | cobject
| The underlying C cairo surface type.
Static Public Member Functions inherited from Cairo::ImageSurface
static int | format_stride_for_width (Format format, int width)
| This function provides a stride value that will respect all alignment requirements of the accelerated image-rendering code within cairo.
static RefPtr< ImageSurface > | create (Format format, int width, int height)
| Creates an image surface of the specified format and dimensions.
static RefPtr< ImageSurface > | create (unsigned char *data, Format format, int width, int height, int stride)
| Creates an image surface for the provided pixel data.
static RefPtr< ImageSurface > | create_from_png (std::string filename)
| Creates a new image surface and initializes the contents to the given PNG file.
static RefPtr< ImageSurface > | create_from_png_stream (const SlotReadFunc & read_func)
| Creates a new image surface from PNG data read incrementally via the read_func function.
Static Public Member Functions inherited from Cairo::Surface
static RefPtr< Surface > | create (const RefPtr< Surface > other, Content content, int width, int height)
| Create a new surface that is as compatible as possible with an existing surface.
static RefPtr< Surface > | create (const RefPtr< Surface > & target, double x, double y, double width, double height)
| Create a new surface that is a rectangle within the target surface.

## Detailed Description

Image surface which is mapped to a target surface.

See also
  Surface::map_to_image()

Since cairomm 1.20

## Constructor & Destructor Documentation

## ◆ MappedImageSurface()

Cairo::MappedImageSurface::MappedImageSurface | ( | cairo_surface_t * | cobject,
|  | cairo_surface_t * | ctarget,
|  | bool | has_reference = false )

Create a C++ wrapper for the C instance.

This C++ instance should then be given to a RefPtr.

Parameters

  cobject | The C instance.
  ctarget | The surface that has been mapped to this image surface.
  has_reference | Whether we already have a reference. Otherwise, the constructor will take an extra reference.

Since cairomm 1.20

## ◆ ~MappedImageSurface()

Cairo::MappedImageSurface::~MappedImageSurface | ( |  | ) |
| override

Destructor.

Unmaps this image surface from the target surface that created it. The contents of the image will be uploaded to the target surface.

Since cairomm 1.20

## Member Data Documentation

## ◆ m_ctarget

cobject* Cairo::MappedImageSurface::m_ctarget
| protected

The C cairo surface which has been mapped to this image surface.

The documentation for this class was generated from the following file:

- cairomm/surface.h