summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAidan MacDonald <amachronic@protonmail.com>2022-10-04 14:02:44 +0100
committerAidan MacDonald <amachronic@protonmail.com>2022-11-17 16:12:19 +0000
commit38687821b20dee54bc52718b49b851de5485351d (patch)
treee725ed25840a183febf958eb32f220f5ec429131
parent7de16eee26e7fe6012ff832c7c8d8fe654f64193 (diff)
downloadrockbox-38687821b20dee54bc52718b49b851de5485351d.tar.gz
rockbox-38687821b20dee54bc52718b49b851de5485351d.zip
skin engine: Remove playlistviewer viewport field
We already know the viewport at render time (I think... at least this seems to be the case for themes I tested) so there's no need to store a pointer to the viewport. Change-Id: I75fa2262e96c6f735e6b5da33cd4ca9ac68cd2ee
-rw-r--r--apps/gui/skin_engine/skin_parser.c1
-rw-r--r--apps/gui/skin_engine/skin_render.c4
-rw-r--r--apps/gui/skin_engine/wps_internals.h1
3 files changed, 2 insertions, 4 deletions
diff --git a/apps/gui/skin_engine/skin_parser.c b/apps/gui/skin_engine/skin_parser.c
index 6fb1b2a43c..e68d5e4d3c 100644
--- a/apps/gui/skin_engine/skin_parser.c
+++ b/apps/gui/skin_engine/skin_parser.c
@@ -494,7 +494,6 @@ static int parse_playlistview(struct skin_element *element,
494 struct playlistviewer *viewer = skin_buffer_alloc(sizeof(*viewer)); 494 struct playlistviewer *viewer = skin_buffer_alloc(sizeof(*viewer));
495 if (!viewer) 495 if (!viewer)
496 return WPS_ERROR_INVALID_PARAM; 496 return WPS_ERROR_INVALID_PARAM;
497 viewer->vp = PTRTOSKINOFFSET(skin_buffer, &curr_vp->vp);
498 viewer->show_icons = true; 497 viewer->show_icons = true;
499 viewer->start_offset = get_param(element, 0)->data.number; 498 viewer->start_offset = get_param(element, 0)->data.number;
500 viewer->line = PTRTOSKINOFFSET(skin_buffer, get_param_code(element, 1)); 499 viewer->line = PTRTOSKINOFFSET(skin_buffer, get_param_code(element, 1));
diff --git a/apps/gui/skin_engine/skin_render.c b/apps/gui/skin_engine/skin_render.c
index 8184ba8f66..e8f081e7f5 100644
--- a/apps/gui/skin_engine/skin_render.c
+++ b/apps/gui/skin_engine/skin_render.c
@@ -937,7 +937,7 @@ void skin_render_playlistviewer(struct playlistviewer* viewer,
937 struct align_pos * align = &info.align; 937 struct align_pos * align = &info.align;
938 bool needs_update; 938 bool needs_update;
939 int cur_pos, start_item, max; 939 int cur_pos, start_item, max;
940 int nb_lines = viewport_get_nb_lines(SKINOFFSETTOPTR(skin_buffer, viewer->vp)); 940 int nb_lines = viewport_get_nb_lines(&skin_viewport->vp);
941#if CONFIG_TUNER 941#if CONFIG_TUNER
942 if (get_current_activity() == ACTIVITY_FM) 942 if (get_current_activity() == ACTIVITY_FM)
943 { 943 {
@@ -983,7 +983,7 @@ void skin_render_playlistviewer(struct playlistviewer* viewer,
983 /* only update if the line needs to be, and there is something to write */ 983 /* only update if the line needs to be, and there is something to write */
984 if (refresh_type && needs_update) 984 if (refresh_type && needs_update)
985 { 985 {
986 struct viewport *vp = SKINOFFSETTOPTR(skin_buffer, viewer->vp); 986 struct viewport *vp = &skin_viewport->vp;
987 if (!info.force_redraw) 987 if (!info.force_redraw)
988 display->scroll_stop_viewport_rect(vp, 988 display->scroll_stop_viewport_rect(vp,
989 0, info.line_number*display->getcharheight(), 989 0, info.line_number*display->getcharheight(),
diff --git a/apps/gui/skin_engine/wps_internals.h b/apps/gui/skin_engine/wps_internals.h
index f3e4577cc2..87ccb9ad89 100644
--- a/apps/gui/skin_engine/wps_internals.h
+++ b/apps/gui/skin_engine/wps_internals.h
@@ -244,7 +244,6 @@ struct touchregion_lastpress {
244#endif 244#endif
245 245
246struct playlistviewer { 246struct playlistviewer {
247 OFFSETTYPE(struct viewport *) vp;
248 bool show_icons; 247 bool show_icons;
249 int start_offset; 248 int start_offset;
250 OFFSETTYPE(struct skin_element *) line; 249 OFFSETTYPE(struct skin_element *) line;