Top | ![]() |
![]() |
![]() |
![]() |
void | st_drawing_area_queue_repaint () |
cairo_t * | st_drawing_area_get_context () |
void | st_drawing_area_get_surface_size () |
StDrawingArea allows drawing via Cairo; the primary difference is that
it is dynamically sized. To use, connect to the “repaint”
signal, and inside the signal handler, call
st_drawing_area_get_context()
to get the Cairo context to draw to. The
“repaint” signal will be emitted by default when the area is
resized or the CSS style changes; you can use the
st_drawing_area_queue_repaint()
as well.
void
st_drawing_area_queue_repaint (StDrawingArea *area
);
Will cause the actor to emit a “repaint” signal before it is
next drawn to the scene. Useful if some parameters for the area being
drawn other than the size or style have changed. Note that
clutter_actor_queue_redraw()
will simply result in the same
contents being drawn to the scene again.
cairo_t *
st_drawing_area_get_context (StDrawingArea *area
);
Gets the Cairo context to paint to. This function must only be called from a signal handler or virtual function for the “repaint” signal.
JavaScript code must call the special dispose function before returning from the signal handler or virtual function to avoid leaking memory:
1 2 3 4 5 6 7 8 9 10 |
function onRepaint(area) { let cr = area.get_context(); // Draw to the context cr.$dispose(); } let area = new St.DrawingArea(); area.connect('repaint', onRepaint); |
void st_drawing_area_get_surface_size (StDrawingArea *area
,guint *width
,guint *height
);
Gets the size of the cairo surface being painted to, which is equal to the size of the content area of the widget. This function must only be called from a signal handler for the “repaint” signal.
area |
the StDrawingArea |
|
width |
location to store the width of the painted area. |
[out][optional] |
height |
location to store the height of the painted area. |
[out][optional] |