#include #include #include #include #include "parse.h" int parse_size(char *val, int max) { int ret= 0; while (*val){ if (isdigit(*val)) ret= ret*10 + *val - '0'; else break; val++; } if (*val=='%' && max) ret= max*ret/100; return ret; } void frame_parse_align(Frame *f, Tag *tag) { TagOpt *opt; BlockStyleInfo *bsi = frame_get_blockstyleinfo(f); AlignMode align = bsi->text_align; for (opt = tag->opt; opt; opt=opt->next) { if (!opt->oi) continue; switch (opt->oi->id) { case OPT_align: { OptInfo *i = GetOptInfo(opt->val); if (i != NULL) { switch (i->id) { case OPT_left: align = ALIGN_LEFT; break; case OPT_right: align = ALIGN_RIGHT; break; case OPT_center: align = ALIGN_CENTER; break; default: break; } } } break; default: break; } } bsi->text_align = align; }