Top |
hb_draw_funcs_t * | hb_draw_funcs_create () |
void | hb_draw_funcs_destroy () |
hb_draw_funcs_t * | hb_draw_funcs_reference () |
hb_bool_t | hb_draw_funcs_is_immutable () |
void | hb_draw_funcs_make_immutable () |
void | (*hb_draw_move_to_func_t) () |
void | hb_draw_funcs_set_move_to_func () |
void | (*hb_draw_line_to_func_t) () |
void | hb_draw_funcs_set_line_to_func () |
void | (*hb_draw_quadratic_to_func_t) () |
void | hb_draw_funcs_set_quadratic_to_func () |
void | (*hb_draw_cubic_to_func_t) () |
void | hb_draw_funcs_set_cubic_to_func () |
void | (*hb_draw_close_path_func_t) () |
void | hb_draw_funcs_set_close_path_func () |
void | hb_draw_move_to () |
void | hb_draw_line_to () |
void | hb_draw_quadratic_to () |
void | hb_draw_cubic_to () |
void | hb_draw_close_path () |
hb_draw_funcs_t *
hb_draw_funcs_create (void
);
Creates a new draw callbacks object.
[Xconstructor]
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.
[transfer full]
Since: 4.0.0
void
hb_draw_funcs_destroy (hb_draw_funcs_t *dfuncs
);
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()
.
[skip]
Since: 4.0.0
hb_draw_funcs_t *
hb_draw_funcs_reference (hb_draw_funcs_t *dfuncs
);
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.
[skip]
Since: 4.0.0
hb_bool_t
hb_draw_funcs_is_immutable (hb_draw_funcs_t *dfuncs
);
Checks whether dfuncs
is immutable.
Since: 4.0.0
void
hb_draw_funcs_make_immutable (hb_draw_funcs_t *dfuncs
);
Makes dfuncs
object immutable.
Since: 4.0.0
void (*hb_draw_move_to_func_t) (hb_draw_funcs_t *dfuncs
,void *draw_data
,hb_draw_state_t *st
,float to_x
,float to_y
,void *user_data
);
A virtual method for the hb_draw_funcs_t to perform a "move-to" draw operation.
dfuncs |
draw functions object |
|
draw_data |
The data accompanying the draw functions |
|
st |
current draw state |
|
to_x |
X component of target point |
|
to_y |
Y component of target point |
|
user_data |
User data pointer passed by the caller |
Since: 4.0.0
void hb_draw_funcs_set_move_to_func (hb_draw_funcs_t *dfuncs
,hb_draw_move_to_func_t func
,void *user_data
,hb_destroy_func_t destroy
);
Sets move-to callback to the draw functions object.
dfuncs |
draw functions object |
|
func |
move-to callback. |
[closure user_data][destroy destroy][scope notified] |
user_data |
Data to pass to |
|
destroy |
The function to call when |
[nullable] |
Since: 4.0.0
void (*hb_draw_line_to_func_t) (hb_draw_funcs_t *dfuncs
,void *draw_data
,hb_draw_state_t *st
,float to_x
,float to_y
,void *user_data
);
A virtual method for the hb_draw_funcs_t to perform a "line-to" draw operation.
dfuncs |
draw functions object |
|
draw_data |
The data accompanying the draw functions |
|
st |
current draw state |
|
to_x |
X component of target point |
|
to_y |
Y component of target point |
|
user_data |
User data pointer passed by the caller |
Since: 4.0.0
void hb_draw_funcs_set_line_to_func (hb_draw_funcs_t *dfuncs
,hb_draw_line_to_func_t func
,void *user_data
,hb_destroy_func_t destroy
);
Sets line-to callback to the draw functions object.
dfuncs |
draw functions object |
|
func |
line-to callback. |
[closure user_data][destroy destroy][scope notified] |
user_data |
Data to pass to |
|
destroy |
The function to call when |
[nullable] |
Since: 4.0.0
void (*hb_draw_quadratic_to_func_t) (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
,void *user_data
);
A virtual method for the hb_draw_funcs_t to perform a "quadratic-to" draw operation.
dfuncs |
draw functions object |
|
draw_data |
The data accompanying the draw functions |
|
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 |
|
user_data |
User data pointer passed by the caller |
Since: 4.0.0
void hb_draw_funcs_set_quadratic_to_func (hb_draw_funcs_t *dfuncs
,hb_draw_quadratic_to_func_t func
,void *user_data
,hb_destroy_func_t destroy
);
Sets quadratic-to callback to the draw functions object.
dfuncs |
draw functions object |
|
func |
quadratic-to callback. |
[closure user_data][destroy destroy][scope notified] |
user_data |
Data to pass to |
|
destroy |
The function to call when |
[nullable] |
Since: 4.0.0
void (*hb_draw_cubic_to_func_t) (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
,void *user_data
);
A virtual method for the hb_draw_funcs_t to perform a "cubic-to" draw operation.
dfuncs |
draw functions object |
|
draw_data |
The data accompanying the draw functions |
|
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 |
|
user_data |
User data pointer passed by the caller |
Since: 4.0.0
void hb_draw_funcs_set_cubic_to_func (hb_draw_funcs_t *dfuncs
,hb_draw_cubic_to_func_t func
,void *user_data
,hb_destroy_func_t destroy
);
Sets cubic-to callback to the draw functions object.
dfuncs |
draw functions |
|
func |
cubic-to callback. |
[closure user_data][destroy destroy][scope notified] |
user_data |
Data to pass to |
|
destroy |
The function to call when |
[nullable] |
Since: 4.0.0
void (*hb_draw_close_path_func_t) (hb_draw_funcs_t *dfuncs
,void *draw_data
,hb_draw_state_t *st
,void *user_data
);
A virtual method for the hb_draw_funcs_t to perform a "close-path" draw operation.
dfuncs |
draw functions object |
|
draw_data |
The data accompanying the draw functions |
|
st |
current draw state |
|
user_data |
User data pointer passed by the caller |
Since: 4.0.0
void hb_draw_funcs_set_close_path_func (hb_draw_funcs_t *dfuncs
,hb_draw_close_path_func_t func
,void *user_data
,hb_destroy_func_t destroy
);
Sets close-path callback to the draw functions object.
dfuncs |
draw functions object |
|
func |
close-path callback. |
[closure user_data][destroy destroy][scope notified] |
user_data |
Data to pass to |
|
destroy |
The function to call when |
[nullable] |
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
);
Perform a "move-to" draw operation.
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 |
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
);
Perform a "line-to" draw operation.
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 |
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
);
Perform a "quadratic-to" draw operation.
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 |
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
);
Perform a "cubic-to" draw operation.
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 |
Since: 4.0.0
void hb_draw_close_path (hb_draw_funcs_t *dfuncs
,void *draw_data
,hb_draw_state_t *st
);
Perform a "close-path" draw operation.
dfuncs |
draw functions |
|
draw_data |
associated draw data passed by the caller |
|
st |
current draw state |
Since: 4.0.0
typedef struct hb_draw_funcs_t hb_draw_funcs_t;
Glyph draw callbacks.
hb_draw_move_to_func_t, hb_draw_line_to_func_t and hb_draw_cubic_to_func_t calls are necessary to be defined but we translate hb_draw_quadratic_to_func_t calls to hb_draw_cubic_to_func_t if the callback isn't defined.
Since: 4.0.0
typedef struct { hb_bool_t path_open; float path_start_x; float path_start_y; float current_x; float current_y; } hb_draw_state_t;
Current drawing state.
hb_bool_t |
Whether there is an open path |
|
X component of the start of current path |
||
Y component of the start of current path |
||
X component of current point |
||
Y component of current point |
Since: 4.0.0
#define HB_DRAW_STATE_DEFAULT {0, 0.f, 0.f, 0.f, 0.f, {0.}, {0.}, {0.}}
The default hb_draw_state_t at the start of glyph drawing.