diff options
author | Dave Chapman <dave@dchapman.com> | 2008-03-22 00:31:22 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2008-03-22 00:31:22 +0000 |
commit | 45b2d8802d1e8fcc47fd1148adb7b1173ad5b311 (patch) | |
tree | 849eea4153daaf7dfafd571ca6b93b6f985b1ff9 /apps/gui/wps_debug.c | |
parent | 7ee63e22c58f4a7017136871e7b55dd702c5f460 (diff) | |
download | rockbox-45b2d8802d1e8fcc47fd1148adb7b1173ad5b311.tar.gz rockbox-45b2d8802d1e8fcc47fd1148adb7b1173ad5b311.zip |
Reduce the shocking amount of RAM my viewports implementation was using. The first version stored an array of lines for each of the 16 possible viewports (MAX_VIEWPORTS * the number of lines on the LCD with a 5-pixel high font). This version reverts back to a single global array of lines, with each viewport specifying the first and last lines as indexes into that array. This also turns out to be simpler, reducing binsize a little as well.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@16735 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/wps_debug.c')
-rw-r--r-- | apps/gui/wps_debug.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/apps/gui/wps_debug.c b/apps/gui/wps_debug.c index 0c13fd2c22..9bff1d23ae 100644 --- a/apps/gui/wps_debug.c +++ b/apps/gui/wps_debug.c | |||
@@ -502,7 +502,8 @@ static void print_line_info(struct wps_data *data) | |||
502 | DEBUGF("Number of viewports : %d\n", data->num_viewports); | 502 | DEBUGF("Number of viewports : %d\n", data->num_viewports); |
503 | for (v = 0; v < data->num_viewports; v++) | 503 | for (v = 0; v < data->num_viewports; v++) |
504 | { | 504 | { |
505 | DEBUGF("vp %d: Number of lines: %d\n", v, data->viewports[v].num_lines); | 505 | DEBUGF("vp %d: First line: %d\n", v, data->viewports[v].first_line); |
506 | DEBUGF("vp %d: Last line: %d\n", v, data->viewports[v].last_line); | ||
506 | } | 507 | } |
507 | DEBUGF("Number of sublines : %d\n", data->num_sublines); | 508 | DEBUGF("Number of sublines : %d\n", data->num_sublines); |
508 | DEBUGF("Number of tokens : %d\n", data->num_tokens); | 509 | DEBUGF("Number of tokens : %d\n", data->num_tokens); |
@@ -517,7 +518,7 @@ static void print_line_info(struct wps_data *data) | |||
517 | data->viewports[v].vp.y, | 518 | data->viewports[v].vp.y, |
518 | data->viewports[v].vp.width, | 519 | data->viewports[v].vp.width, |
519 | data->viewports[v].vp.height); | 520 | data->viewports[v].vp.height); |
520 | for (i = 0, line = data->viewports[v].lines; i < data->viewports[v].num_lines; i++,line++) | 521 | for (i = data->viewports[v].first_line, line = &data->lines[data->viewports[v].first_line]; i <= data->viewports[v].last_line; i++,line++) |
521 | { | 522 | { |
522 | DEBUGF("Line %2d (num_sublines=%d, first_subline=%d)\n", | 523 | DEBUGF("Line %2d (num_sublines=%d, first_subline=%d)\n", |
523 | i, line->num_sublines, line->first_subline_idx); | 524 | i, line->num_sublines, line->first_subline_idx); |
@@ -527,7 +528,7 @@ static void print_line_info(struct wps_data *data) | |||
527 | { | 528 | { |
528 | DEBUGF(" Subline %d: first_token=%3d, last_token=%3d", | 529 | DEBUGF(" Subline %d: first_token=%3d, last_token=%3d", |
529 | j, subline->first_token_idx, | 530 | j, subline->first_token_idx, |
530 | wps_last_token_index(data, v, i, j)); | 531 | wps_last_token_index(data, i, j)); |
531 | 532 | ||
532 | if (subline->line_type & WPS_REFRESH_SCROLL) | 533 | if (subline->line_type & WPS_REFRESH_SCROLL) |
533 | DEBUGF(", scrolled"); | 534 | DEBUGF(", scrolled"); |