/** * hb_draw_funcs_create: * * Creates a new draw callbacks object. * * Return value: (transfer full): * A newly allocated #hb_draw_funcs_t with a reference count of 1. The initial * reference count should be released with hb_draw_funcs_destroy when you are * done using the #hb_draw_funcs_t. This function never returns %NULL. If * memory cannot be allocated, a special singleton #hb_draw_funcs_t object will * be returned. * * Since: 4.0.0
**/
hb_draw_funcs_t *
hb_draw_funcs_create ()
{
hb_draw_funcs_t *dfuncs; if (unlikely (!(dfuncs = hb_object_create<hb_draw_funcs_t> ()))) returnconst_cast<hb_draw_funcs_t *> (&Null (hb_draw_funcs_t));
/** * hb_draw_funcs_reference: (skip) * @dfuncs: draw functions * * Increases the reference count on @dfuncs by one. This prevents @buffer from * being destroyed until a matching call to hb_draw_funcs_destroy() is made. * * Return value: (transfer full): * The referenced #hb_draw_funcs_t. * * Since: 4.0.0
**/
hb_draw_funcs_t *
hb_draw_funcs_reference (hb_draw_funcs_t *dfuncs)
{ return hb_object_reference (dfuncs);
}
/** * hb_draw_funcs_destroy: (skip) * @dfuncs: draw functions * * Deallocate the @dfuncs. * Decreases the reference count on @dfuncs by one. If the result is zero, then * @dfuncs and all associated resources are freed. See hb_draw_funcs_reference(). * * Since: 4.0.0
**/ void
hb_draw_funcs_destroy (hb_draw_funcs_t *dfuncs)
{ if (!hb_object_destroy (dfuncs)) return;
if (dfuncs->destroy)
{ #define HB_DRAW_FUNC_IMPLEMENT(name) \ if (dfuncs->destroy->name) dfuncs->destroy->name (!dfuncs->user_data ? nullptr : dfuncs->user_data->name);
HB_DRAW_FUNCS_IMPLEMENT_CALLBACKS #undef HB_DRAW_FUNC_IMPLEMENT
}
/** * hb_draw_move_to: * @dfuncs: draw functions * @draw_data: associated draw data passed by the caller * @st: current draw state * @to_x: X component of target point * @to_y: Y component of target point * * Perform a "move-to" draw operation. * * Since: 4.0.0
**/ void
hb_draw_move_to (hb_draw_funcs_t *dfuncs, void *draw_data,
hb_draw_state_t *st, float to_x, float to_y)
{
dfuncs->move_to (draw_data, *st,
to_x, to_y);
}
/** * hb_draw_line_to: * @dfuncs: draw functions * @draw_data: associated draw data passed by the caller * @st: current draw state * @to_x: X component of target point * @to_y: Y component of target point * * Perform a "line-to" draw operation. * * Since: 4.0.0
**/ void
hb_draw_line_to (hb_draw_funcs_t *dfuncs, void *draw_data,
hb_draw_state_t *st, float to_x, float to_y)
{
dfuncs->line_to (draw_data, *st,
to_x, to_y);
}
/** * hb_draw_quadratic_to: * @dfuncs: draw functions * @draw_data: associated draw data passed by the caller * @st: current draw state * @control_x: X component of control point * @control_y: Y component of control point * @to_x: X component of target point * @to_y: Y component of target point * * Perform a "quadratic-to" draw operation. * * Since: 4.0.0
**/ void
hb_draw_quadratic_to (hb_draw_funcs_t *dfuncs, void *draw_data,
hb_draw_state_t *st, float control_x, float control_y, float to_x, float to_y)
{
dfuncs->quadratic_to (draw_data, *st,
control_x, control_y,
to_x, to_y);
}
/** * hb_draw_cubic_to: * @dfuncs: draw functions * @draw_data: associated draw data passed by the caller * @st: current draw state * @control1_x: X component of first control point * @control1_y: Y component of first control point * @control2_x: X component of second control point * @control2_y: Y component of second control point * @to_x: X component of target point * @to_y: Y component of target point * * Perform a "cubic-to" draw operation. * * Since: 4.0.0
**/ void
hb_draw_cubic_to (hb_draw_funcs_t *dfuncs, void *draw_data,
hb_draw_state_t *st, float control1_x, float control1_y, float control2_x, float control2_y, float to_x, float to_y)
{
dfuncs->cubic_to (draw_data, *st,
control1_x, control1_y,
control2_x, control2_y,
to_x, to_y);
}
/** * hb_draw_close_path: * @dfuncs: draw functions * @draw_data: associated draw data passed by the caller * @st: current draw state * * Perform a "close-path" draw operation. * * Since: 4.0.0
**/ void
hb_draw_close_path (hb_draw_funcs_t *dfuncs, void *draw_data,
hb_draw_state_t *st)
{
dfuncs->close_path (draw_data, *st);
}
#endif
Messung V0.5
¤ Dauer der Verarbeitung: 0.16 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.