15 #if !defined VG_PATH_H
18 #if defined __cplusplus
24 #ifdef VG_FEATURE_PATH
37 #if defined(VG_FEATURE_PATH_DUAL_ARRAY) && (VG_FEATURE_PATH == VG_FEATURE_PATH_DUAL_ARRAY)
42 typedef uint8_t VG_path_command_t;
47 typedef float VG_path_param_t;
55 #if defined(VG_FEATURE_PATH_SINGLE_ARRAY) && (VG_FEATURE_PATH == VG_FEATURE_PATH_SINGLE_ARRAY)
82 uint8_t VG_PATH_get_path_encoder_format(
void);
91 uint32_t VG_PATH_convert_path_command(jint command);
102 void VG_PATH_initialize(
void);
111 uint32_t VG_PATH_get_path_header_size(
void);
123 uint32_t VG_PATH_get_path_command_size(jint command, uint32_t nbParams);
140 uint32_t VG_PATH_append_path_command0(jbyte *path, jint array_length, jint cmd);
155 uint32_t VG_PATH_append_path_command1(jbyte *path, jint array_length, jint cmd, jfloat x, jfloat y);
172 uint32_t VG_PATH_append_path_command2(jbyte *path, jint array_length, jint cmd, jfloat x1, jfloat y1, jfloat x2,
192 uint32_t VG_PATH_append_path_command3(jbyte *path, jint array_length, jint cmd, jfloat x1, jfloat y1, jfloat x2,
194 jfloat x3, jfloat y3);
203 uint32_t VG_PATH_get_command_parameter_number(jint command);
205 #if defined(VG_FEATURE_PATH_DUAL_ARRAY) && (VG_FEATURE_PATH == VG_FEATURE_PATH_DUAL_ARRAY)
213 static inline VG_path_param_t * VG_PATH_get_path_param_begin(
VG_PATH_HEADER_t *path) {
214 return (VG_path_param_t *)(((uint8_t *)path) + VG_PATH_get_path_header_size());
223 static inline VG_path_param_t * VG_PATH_get_path_param_end(
VG_PATH_HEADER_t *path) {
224 return (VG_PATH_get_path_param_begin(path)) + path->param_length;
233 static inline VG_path_command_t * VG_PATH_get_path_command_begin(
VG_PATH_HEADER_t *path) {
234 return ((uint8_t *)VG_PATH_get_path_param_begin(path)) + path->cmd_offset;
243 static inline VG_path_command_t * VG_PATH_get_path_command_end(
VG_PATH_HEADER_t *path) {
244 return (VG_PATH_get_path_command_begin(path)) + path->cmd_length;
MicroEJ MicroVG library low level API: enable some features according to the hardware capacities.