gtkmm
3.93.0
|
Functions | |
::Cairo::RefPtr< ::Cairo::Context > | wrap (cairo_t* cobject, bool has_reference=true) |
Creates a Cairo::RefPtr with a C++ wrapper for the C instance. More... | |
::Cairo::RefPtr< ::Cairo::Region > | wrap (cairo_region_t* cobject, bool has_reference=true) |
Creates a Cairo::RefPtr with a C++ wrapper for the C instance. More... | |
::Cairo::RefPtr< ::Cairo::Surface > | wrap (cairo_surface_t* cobject, bool has_reference=true) |
Creates a Cairo::RefPtr with a C++ wrapper for the C instance. More... | |
void | set_source_rgba (const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::RGBA& color) |
Sets the specified Gdk::RGBA as the source color of the Cairo context. More... | |
void | set_source_pixbuf (const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr< const Gdk::Pixbuf >& pixbuf, double pixbuf_x=0, double pixbuf_y=0) |
Sets the given pixbuf as the source pattern for the Cairo context. More... | |
void | add_rectangle_to_path (const ::Cairo::RefPtr< ::Cairo::Context >& context, const Gdk::Rectangle& rectangle) |
Adds the given rectangle to the current path of the context. More... | |
void | add_region_to_path (const ::Cairo::RefPtr< ::Cairo::Context >& context, const ::Cairo::RefPtr< ::Cairo::Region >& region) |
Adds the given region to the current path of the context. More... | |
bool | get_clip_rectangle (const ::Cairo::RefPtr< ::Cairo::Context >& context, Gdk::Rectangle& rectangle) |
This is a convenience function around Cairo::Context::get_clip_extents(). More... | |
bool | get_clip_rectangle (const ::Cairo::RefPtr< ::Cairo::Context >& context) |
This is a convenience function around Cairo::Context::get_clip_extents(). More... | |
::Cairo::RefPtr< ::Cairo::Region > | create_region_from_surface (const ::Cairo::RefPtr< ::Cairo::Surface >& surface) |
Creates a region that covers the area where the given surface is more than 50% opaque. More... | |
::Cairo::RefPtr< ::Cairo::Surface > | create_surface_from_pixbuf (const Glib::RefPtr< const Gdk::Pixbuf >& pixbuf, int scale, const Glib::RefPtr< Gdk::Window >& for_window={}) |
Creates an image surface with the same contents as the pixbuf. More... | |
void | draw_from_gl (const ::Cairo::RefPtr< ::Cairo::Context >& context, const Glib::RefPtr< Gdk::Window >& window, int source, int source_type, int buffer_scale, int x, int y, int width, int height) |
This is the main way to draw GL content in gtkmm. More... | |
void | upload_surface_to_gl (const ::Cairo::RefPtr< ::Cairo::Surface >& surface, int target, int width, int height, const Glib::RefPtr< GLContext >& context={}) |
Uploads the contents of a Cairo surface to a GL texture target. More... | |
void Gdk::Cairo::add_rectangle_to_path | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context, |
const Gdk::Rectangle& | rectangle | ||
) |
Adds the given rectangle to the current path of the context.
context | A cairo context. |
rectangle | A rectangle to add to the path of the context. |
void Gdk::Cairo::add_region_to_path | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context, |
const ::Cairo::RefPtr< ::Cairo::Region > & | region | ||
) |
Adds the given region to the current path of the context.
context | A cairo context. |
region | A region to add to the path of the context. |
::Cairo::RefPtr< ::Cairo::Region> Gdk::Cairo::create_region_from_surface | ( | const ::Cairo::RefPtr< ::Cairo::Surface > & | surface | ) |
Creates a region that covers the area where the given surface is more than 50% opaque.
This function takes into account device offsets that might be set with Cairo::Surface::set_device_offset().
surface | A cairo surface. |
::Cairo::RefPtr< ::Cairo::Surface> Gdk::Cairo::create_surface_from_pixbuf | ( | const Glib::RefPtr< const Gdk::Pixbuf >& | pixbuf, |
int | scale, | ||
const Glib::RefPtr< Gdk::Window >& | for_window = {} |
||
) |
Creates an image surface with the same contents as the pixbuf.
pixbuf | A Gdk::Pixbuf. |
scale | The scale of the new surface, or 0 to use same as for_window. |
for_window | The window this will be drawn to, or an empty Glib::RefPtr<Gdk::Window> if none. |
void Gdk::Cairo::draw_from_gl | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context, |
const Glib::RefPtr< Gdk::Window >& | window, | ||
int | source, | ||
int | source_type, | ||
int | buffer_scale, | ||
int | x, | ||
int | y, | ||
int | width, | ||
int | height | ||
) |
This is the main way to draw GL content in gtkmm.
It takes a render buffer ID (source_type == GL_RENDERBUFFER) or a texture id (source_type == GL_TEXTURE) and draws it onto context with an OVER operation, respecting the current clip. The top left corner of the rectangle specified by x, y, width and height will be drawn at the current (0,0) position of the cairo context.
This will work for all cairo contexts, as long as window is realized, but the fallback implementation that reads back the pixels from the buffer may be used in the general case. In the case of direct drawing to a window with no special effects applied to context it will however use a more efficient approach.
For GL_RENDERBUFFER the code will always fall back to software for buffers with alpha components, so make sure you use GL_TEXTURE if using alpha.
Calling this may change the current GL context.
context | A cairo context. |
window | The window we're rendering for (not necessarily into). |
source | The GL ID of the source buffer. |
source_type | The type of the source. |
buffer_scale | The scale-factor that the source buffer is allocated for. |
x | The source x position in source to start copying from in GL coordinates. |
y | The source y position in source to start copying from in GL coordinates. |
width | The width of the region to draw. |
height | The height of the region to draw. |
bool Gdk::Cairo::get_clip_rectangle | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context, |
Gdk::Rectangle& | rectangle | ||
) |
This is a convenience function around Cairo::Context::get_clip_extents().
It rounds the clip extents to integer coordinates and returns a boolean indicating if a clip area exists.
context | A cairo context. | |
[out] | rectangle | Return location for the clip rectangle. |
true
if a clip rectangle exists, false
if all of context is clipped and all drawing can be skipped.bool Gdk::Cairo::get_clip_rectangle | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context | ) |
This is a convenience function around Cairo::Context::get_clip_extents().
context | A cairo context. |
true
if a clip rectangle exists, false
if all of context is clipped and all drawing can be skipped.void Gdk::Cairo::set_source_pixbuf | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context, |
const Glib::RefPtr< const Gdk::Pixbuf >& | pixbuf, | ||
double | pixbuf_x = 0 , |
||
double | pixbuf_y = 0 |
||
) |
Sets the given pixbuf as the source pattern for the Cairo context.
The pattern has an extend mode of Cairo::Pattern::Extend::NONE and is aligned so that the origin of pixbuf is pixbuf_x, pixbuf_y.
context | The cairo context. |
pixbuf | A Gdk::Pixbuf |
pixbuf_x | X coordinate of location to place upper left corner of pixbuf. |
pixbuf_y | Y coordinate of location to place upper left corner of pixbuf. |
void Gdk::Cairo::set_source_rgba | ( | const ::Cairo::RefPtr< ::Cairo::Context > & | context, |
const Gdk::RGBA& | color | ||
) |
void Gdk::Cairo::upload_surface_to_gl | ( | const ::Cairo::RefPtr< ::Cairo::Surface > & | surface, |
int | target, | ||
int | width, | ||
int | height, | ||
const Glib::RefPtr< GLContext >& | context = {} |
||
) |
Uploads the contents of a Cairo surface to a GL texture target.
surface | A Cairo surface. |
target | A GL texture target. |
width | The width of the texture target. |
height | The height of the texture target. |
context | A Gdk::GLContext, or an empty Glib::RefPtr<Gdk::GLContext> to use the currently bound context. |
::Cairo::RefPtr< ::Cairo::Context> Gdk::Cairo::wrap | ( | cairo_t * | cobject, |
bool | has_reference = true |
||
) |
Creates a Cairo::RefPtr with a C++ wrapper for the C instance.
cobject | The C instance. |
has_reference | Whether we already have a reference. Otherwise, the function will take an extra reference. |
::Cairo::RefPtr< ::Cairo::Region> Gdk::Cairo::wrap | ( | cairo_region_t * | cobject, |
bool | has_reference = true |
||
) |
Creates a Cairo::RefPtr with a C++ wrapper for the C instance.
cobject | The C instance. |
has_reference | Whether we already have a reference. Otherwise, the function will take an extra reference. |
::Cairo::RefPtr< ::Cairo::Surface> Gdk::Cairo::wrap | ( | cairo_surface_t * | cobject, |
bool | has_reference = true |
||
) |
Creates a Cairo::RefPtr with a C++ wrapper for the C instance.
cobject | The C instance. |
has_reference | Whether we already have a reference. Otherwise, the function will take an extra reference. |