Lines Matching refs:parser

341 static bool _process_end_tag(_lv_svg_parser_t * parser, lv_svg_tag_t tag, const _lv_svg_token_t * t…  in _process_end_tag()  argument
343 if(parser->state == LV_SVG_PARSER_IGNORE) { in _process_end_tag()
345 if((parser->ignore_len == len) && strncmp(parser->ignore_name, token->start, len) == 0) { in _process_end_tag()
346 parser->state = LV_SVG_PARSER_PROCESS; in _process_end_tag()
347 lv_free(parser->ignore_name); in _process_end_tag()
348 parser->ignore_name = NULL; in _process_end_tag()
349 parser->ignore_len = 0; in _process_end_tag()
354 if(parser->cur_node->type != tag) { in _process_end_tag()
359 if(parser->cur_node != parser->doc_root) { in _process_end_tag()
360 parser->cur_node = (lv_svg_node_t *)LV_TREE_NODE(parser->cur_node)->parent; in _process_end_tag()
2016 static void _process_attrs_tag(_lv_svg_parser_t * parser, lv_svg_node_t * node, const _lv_svg_token… in _process_attrs_tag() argument
2063 … _process_length_value(node, type, tok_attr->value_start, tok_attr->value_end, parser->dpi); in _process_attrs_tag()
2112 … _process_font_attrs(node, type, tok_attr->value_start, tok_attr->value_end, parser->dpi); in _process_attrs_tag()
2136 … _process_anim_attr_values(node, type, tok_attr->value_start, tok_attr->value_end, parser->dpi); in _process_attrs_tag()
2160 static bool _process_begin_tag(_lv_svg_parser_t * parser, lv_svg_tag_t tag, const _lv_svg_token_t *… in _process_begin_tag() argument
2162 if(parser->state == LV_SVG_PARSER_IGNORE) { in _process_begin_tag()
2173 lv_svg_node_t * node = lv_svg_node_create(parser->cur_node); in _process_begin_tag()
2182 parser->state = LV_SVG_PARSER_IGNORE; in _process_begin_tag()
2184 parser->ignore_name = lv_malloc(len + 1); in _process_begin_tag()
2185 LV_ASSERT_MALLOC(parser->ignore_name); in _process_begin_tag()
2186 parser->ignore_len = len; in _process_begin_tag()
2187 lv_memcpy(parser->ignore_name, token->start, len); in _process_begin_tag()
2188 parser->ignore_name[len] = '\0'; in _process_begin_tag()
2194 lv_svg_node_t * node = lv_svg_node_create(parser->cur_node); in _process_begin_tag()
2196 _process_attrs_tag(parser, node, token); in _process_begin_tag()
2198 if(!parser->doc_root) { // root node in _process_begin_tag()
2199 parser->doc_root = node; in _process_begin_tag()
2202 parser->cur_node = node; in _process_begin_tag()
2210 void _lv_svg_parser_init(_lv_svg_parser_t * parser) in _lv_svg_parser_init() argument
2212 LV_ASSERT_NULL(parser); in _lv_svg_parser_init()
2213 lv_memzero(parser, sizeof(_lv_svg_parser_t)); in _lv_svg_parser_init()
2214 parser->state = LV_SVG_PARSER_PROCESS; in _lv_svg_parser_init()
2215 parser->ignore_name = NULL; in _lv_svg_parser_init()
2216 parser->ignore_len = 0; in _lv_svg_parser_init()
2217 parser->dpi = 96; // FIXME: Is it right ? in _lv_svg_parser_init()
2218 parser->doc_root = NULL; in _lv_svg_parser_init()
2219 parser->cur_node = NULL; in _lv_svg_parser_init()
2222 void _lv_svg_parser_deinit(_lv_svg_parser_t * parser) in _lv_svg_parser_deinit() argument
2224 LV_ASSERT_NULL(parser); in _lv_svg_parser_deinit()
2225 if(parser->ignore_name) { in _lv_svg_parser_deinit()
2226 lv_free(parser->ignore_name); in _lv_svg_parser_deinit()
2227 parser->ignore_name = NULL; in _lv_svg_parser_deinit()
2228 parser->ignore_len = 0; in _lv_svg_parser_deinit()
2231 if(parser->doc_root) { in _lv_svg_parser_deinit()
2232 lv_svg_node_delete(parser->doc_root); in _lv_svg_parser_deinit()
2234 parser->doc_root = parser->cur_node = NULL; in _lv_svg_parser_deinit()
2237 bool _lv_svg_parser_is_finish(_lv_svg_parser_t * parser) in _lv_svg_parser_is_finish() argument
2239 LV_ASSERT_NULL(parser); in _lv_svg_parser_is_finish()
2240 return (parser->doc_root != NULL) in _lv_svg_parser_is_finish()
2241 && (parser->cur_node == parser->doc_root) in _lv_svg_parser_is_finish()
2242 && (parser->state != LV_SVG_PARSER_IGNORE); in _lv_svg_parser_is_finish()
2245 bool _lv_svg_parser_token(_lv_svg_parser_t * parser, const _lv_svg_token_t * token) in _lv_svg_parser_token() argument
2247 LV_ASSERT_NULL(parser); in _lv_svg_parser_token()
2251 if(parser->doc_root == NULL) { in _lv_svg_parser_token()
2259 return _process_end_tag(parser, tag, token); in _lv_svg_parser_token()
2262 return _process_begin_tag(parser, tag, token); in _lv_svg_parser_token()