summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2009-09-11 06:03:24 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2009-09-11 06:03:24 +0000
commit8761d9e2405f2c665b6044defa5d32b4488d7bbd (patch)
treef2b3f190427956b3af6351ff1c9b78b4d42fe493
parentd2645566f74dfdccce8f30489bd8494244629aef (diff)
downloadrockbox-8761d9e2405f2c665b6044defa5d32b4488d7bbd.tar.gz
rockbox-8761d9e2405f2c665b6044defa5d32b4488d7bbd.zip
Hopefully make the wps debug info more understandable... display tokens the same way they are displayed... i.e viewports->lines->sublines->tokens
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22672 a1c6a512-1295-4272-9138-f99709370657
-rw-r--r--apps/gui/skin_engine/wps_debug.c131
1 files changed, 50 insertions, 81 deletions
diff --git a/apps/gui/skin_engine/wps_debug.c b/apps/gui/skin_engine/wps_debug.c
index 56cb98020e..e27d276302 100644
--- a/apps/gui/skin_engine/wps_debug.c
+++ b/apps/gui/skin_engine/wps_debug.c
@@ -466,100 +466,70 @@ static char *get_token_desc(struct wps_token *token, char *buf,
466} 466}
467 467
468#if defined(SIMULATOR) || defined(__PCTOOL__) 468#if defined(SIMULATOR) || defined(__PCTOOL__)
469static void dump_wps_tokens(struct wps_data *data) 469static void dump_skin(struct wps_data *data)
470{ 470{
471 struct wps_token *token;
472 int i, j;
473 int indent = 0; 471 int indent = 0;
474 char buf[64]; 472 char buf[64];
475 473 int i, j;
476 /* Dump parsed WPS */ 474
477 for (i = 0, token = data->tokens; i < data->num_tokens; i++, token++) 475 struct skin_token_list *viewport_list;
476 for (viewport_list = data->viewports;
477 viewport_list; viewport_list = viewport_list->next)
478 { 478 {
479 get_token_desc(token, buf, sizeof(buf), data); 479 struct skin_viewport *skin_viewport =
480 480 (struct skin_viewport *)viewport_list->token->value.data;
481 switch(token->type) 481 indent = 0;
482 DEBUGF("Viewport: '%c'\n", skin_viewport->label);
483 struct skin_line *line;
484 for (line = skin_viewport->lines; line; line = line->next)
482 { 485 {
486 struct skin_subline *subline;
487 indent = 1;
488 for(subline = &line->sublines; subline; subline = subline->next)
489 {
490 DEBUGF(" Subline: tokens %d => %d",
491 subline->first_token_idx,subline->last_token_idx);
492 if (subline->line_type & WPS_REFRESH_SCROLL)
493 DEBUGF(", scrolled");
494 else if (subline->line_type & WPS_REFRESH_PLAYER_PROGRESS)
495 DEBUGF(", progressbar");
496 else if (subline->line_type & WPS_REFRESH_PEAK_METER)
497 DEBUGF(", peakmeter");
498 DEBUGF("\n");
499
500 for (i = subline->first_token_idx; i <= subline->last_token_idx; i++)
501 {
502 struct wps_token *token = &data->tokens[i];
503 get_token_desc(token, buf, sizeof(buf), data);
483 504
484 case WPS_TOKEN_CONDITIONAL_START: 505 switch(token->type)
485 indent++; 506 {
486 break;
487 507
488 case WPS_TOKEN_CONDITIONAL_END: 508 case WPS_TOKEN_CONDITIONAL_START:
489 indent--; 509 indent++;
490 break; 510 break;
491 511
492 default: 512 case WPS_TOKEN_CONDITIONAL_END:
493 break; 513 indent--;
494 } 514 break;
495 515
496 if (wps_verbose_level > 2) 516 default:
497 { 517 break;
498 for(j = 0; j < indent; j++) { 518 }
499 DEBUGF("\t");
500 }
501 519
502 DEBUGF("[%3d] = (%2d) %s\n", i, token->type, buf); 520 if (wps_verbose_level > 2)
503 } 521 {
504 } 522 for(j = 0; j < indent; j++) {
505} 523 DEBUGF("\t");
524 }
506 525
507static void print_line_info(struct wps_data *data) 526 DEBUGF("[%3d] = (%2d) %s\n", i, token->type, buf);
508{ 527 }
509 struct skin_line *line;
510 struct skin_subline *subline;
511 if (wps_verbose_level > 0)
512 {
513 struct skin_token_list *viewport_list;
514 for (viewport_list = data->viewports;
515 viewport_list; viewport_list = viewport_list->next)
516 {
517 struct skin_viewport *v =
518 (struct skin_viewport *)viewport_list->token->value.data;
519 DEBUGF("vp Label:'%c' Hidden flags:%x\n", v->label, v->hidden_flags);
520 }
521 DEBUGF("Number of tokens : %d\n", data->num_tokens);
522 DEBUGF("\n");
523 }
524
525 if (wps_verbose_level > 1)
526 {
527 int line_number = 0;
528 struct skin_token_list *viewport_list;
529 for (viewport_list = data->viewports;
530 viewport_list; viewport_list = viewport_list->next)
531 {
532 struct skin_viewport *v =
533 (struct skin_viewport *)viewport_list->token->value.data;
534 DEBUGF("Viewport '%c' - +%d+%d (%dx%d)\n",v->label, v->vp.x, v->vp.y,
535 v->vp.width, v->vp.height);
536 for (line = v->lines; line; line = line->next, line_number++)
537 {
538 DEBUGF("Line %2d\n", line_number);
539 int subline_number = 0;
540 subline = &line->sublines;
541 while (subline)
542 {
543 DEBUGF(" Subline %d: first_token=%3d, last_token=%3d",
544 subline_number, subline->first_token_idx,subline->last_token_idx);
545
546 if (subline->line_type & WPS_REFRESH_SCROLL)
547 DEBUGF(", scrolled");
548 else if (subline->line_type & WPS_REFRESH_PLAYER_PROGRESS)
549 DEBUGF(", progressbar");
550 else if (subline->line_type & WPS_REFRESH_PEAK_METER)
551 DEBUGF(", peakmeter");
552
553 DEBUGF("\n");
554 subline = subline->next;
555 subline_number++;
556 } 528 }
557 } 529 }
558 } 530 }
559
560 DEBUGF("\n");
561 } 531 }
562} 532}
563#endif 533#endif
564 534
565void print_debug_info(struct wps_data *data, enum wps_parse_error fail, int line) 535void print_debug_info(struct wps_data *data, enum wps_parse_error fail, int line)
@@ -567,8 +537,7 @@ void print_debug_info(struct wps_data *data, enum wps_parse_error fail, int line
567#if defined(SIMULATOR) || defined(__PCTOOL__) 537#if defined(SIMULATOR) || defined(__PCTOOL__)
568 if (debug_wps && wps_verbose_level) 538 if (debug_wps && wps_verbose_level)
569 { 539 {
570 dump_wps_tokens(data); 540 dump_skin(data);
571 print_line_info(data);
572 } 541 }
573#endif /* SIMULATOR */ 542#endif /* SIMULATOR */
574 543