cairomm
1.16.1
|
A GlitzSurface provides a way to render to the X Window System using Glitz. More...
#include <cairomm/surface.h>
Public Member Functions | |
GlitzSurface (cairo_surface_t*cobject, bool has_reference=false) | |
Create a C++ wrapper for the C instance. More... | |
~GlitzSurface () override | |
![]() | |
Surface (cairo_surface_t*cobject, bool has_reference=false) | |
Create a C++ wrapper for the C instance. More... | |
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. 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... | |
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. 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... | |
RefPtr< Device > | get_device () |
This function returns the device for a surface. More... | |
cobject* | cobj () |
Provides acces to the underlying C cairo surface. More... | |
const cobject* | cobj () const |
Provides acces to the underlying C cairo surface. More... | |
Static Public Member Functions | |
static RefPtr< GlitzSurface > | create (glitz_surface_t* surface) |
Creates a new GlitzSurface. More... | |
![]() | |
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. More... | |
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. More... | |
Additional Inherited Members | |
![]() | |
enum | Type { Type::IMAGE = CAIRO_SURFACE_TYPE_IMAGE, Type::PDF = CAIRO_SURFACE_TYPE_PDF, Type::PS = CAIRO_SURFACE_TYPE_PS, Type::XLIB = CAIRO_SURFACE_TYPE_XLIB, Type::XCB = CAIRO_SURFACE_TYPE_XCB, Type::GLITZ = CAIRO_SURFACE_TYPE_GLITZ, Type::QUARTZ = CAIRO_SURFACE_TYPE_QUARTZ, Type::WIN32 = CAIRO_SURFACE_TYPE_WIN32, Type::WIN32_SURFACE = CAIRO_SURFACE_TYPE_WIN32, Type::BEOS = CAIRO_SURFACE_TYPE_BEOS, Type::DIRECTFB = CAIRO_SURFACE_TYPE_DIRECTFB, Type::SVG = CAIRO_SURFACE_TYPE_SVG, Type::OS2 = CAIRO_SURFACE_TYPE_OS2, Type::WIN32_PRINTING = CAIRO_SURFACE_TYPE_WIN32_PRINTING, Type::QUARTZ_IMAGE = CAIRO_SURFACE_TYPE_QUARTZ_IMAGE, Type::SCRIPT = CAIRO_SURFACE_TYPE_SCRIPT, Type::QT = CAIRO_SURFACE_TYPE_QT, Type::RECORDING = CAIRO_SURFACE_TYPE_RECORDING, Type::VG = CAIRO_SURFACE_TYPE_VG, Type::GL = CAIRO_SURFACE_TYPE_GL, Type::DRM = CAIRO_SURFACE_TYPE_DRM, Type::TEE = CAIRO_SURFACE_TYPE_TEE, Type::XML = CAIRO_SURFACE_TYPE_XML, Type::SKIA = CAIRO_SURFACE_TYPE_SKIA, Type::SUBSURFACE = CAIRO_SURFACE_TYPE_SUBSURFACE } |
Cairo::Surface::Type is used to describe the type of a given surface. More... | |
enum | Format { Format::ARGB32 = CAIRO_FORMAT_ARGB32, Format::RGB24 = CAIRO_FORMAT_RGB24, Format::A8 = CAIRO_FORMAT_A8, Format::A1 = CAIRO_FORMAT_A1, Format::RGB16_565 = CAIRO_FORMAT_RGB16_565 } |
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); More... | |
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. More... | |
typedef sigc::slot< void()> | SlotDestroy |
For instance, void on_destroy();. More... | |
typedef cairo_surface_t | cobject |
The underlying C cairo surface type. More... | |
![]() | |
cobject* | m_cobject |
The underlying C cairo surface type that is wrapped by this Surface. More... | |
A GlitzSurface provides a way to render to the X Window System using Glitz.
This provides a way to use OpenGL-accelerated graphics from cairo. If you want to use hardware-accelerated graphics within the X Window system, you should use this Surface type.
|
explicit |
Create a C++ wrapper for the C instance.
This C++ instance should then be given to a RefPtr.
cobject | The C instance. |
has_reference | whether we already have a reference. Otherwise, the constructor will take an extra reference. |
|
override |
|
static |
Creates a new GlitzSurface.
surface | a glitz surface type |