Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

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

+2 -4
-1
apps/gui/skin_engine/skin_parser.c
··· 494 494 struct playlistviewer *viewer = skin_buffer_alloc(sizeof(*viewer)); 495 495 if (!viewer) 496 496 return WPS_ERROR_INVALID_PARAM; 497 - viewer->vp = PTRTOSKINOFFSET(skin_buffer, &curr_vp->vp); 498 497 viewer->show_icons = true; 499 498 viewer->start_offset = get_param(element, 0)->data.number; 500 499 viewer->line = PTRTOSKINOFFSET(skin_buffer, get_param_code(element, 1));
+2 -2
apps/gui/skin_engine/skin_render.c
··· 937 937 struct align_pos * align = &info.align; 938 938 bool needs_update; 939 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 941 #if CONFIG_TUNER 942 942 if (get_current_activity() == ACTIVITY_FM) 943 943 { ··· 983 983 /* only update if the line needs to be, and there is something to write */ 984 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 987 if (!info.force_redraw) 988 988 display->scroll_stop_viewport_rect(vp, 989 989 0, info.line_number*display->getcharheight(),
-1
apps/gui/skin_engine/wps_internals.h
··· 244 244 #endif 245 245 246 246 struct playlistviewer { 247 - OFFSETTYPE(struct viewport *) vp; 248 247 bool show_icons; 249 248 int start_offset; 250 249 OFFSETTYPE(struct skin_element *) line;