summaryrefslogtreecommitdiff
path: root/apps/gui/skin_engine/skin_display.c
diff options
context:
space:
mode:
authorJonathan Gordon <rockbox@jdgordon.info>2010-10-04 13:20:37 +0000
committerJonathan Gordon <rockbox@jdgordon.info>2010-10-04 13:20:37 +0000
commitdd6b1dc5d247fdd8c7da50bf8de623a48aef529d (patch)
tree09f154cbddc3930c777208a82938466d9d0a9950 /apps/gui/skin_engine/skin_display.c
parentefbcece07b3a91f4b475559997f892e24751f0e6 (diff)
downloadrockbox-dd6b1dc5d247fdd8c7da50bf8de623a48aef529d.tar.gz
rockbox-dd6b1dc5d247fdd8c7da50bf8de623a48aef529d.zip
Fix FS#11651 - slider wasnt being drawn correctly with inverted (and vertical) bars
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28207 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/gui/skin_engine/skin_display.c')
-rw-r--r--apps/gui/skin_engine/skin_display.c24
1 files changed, 19 insertions, 5 deletions
diff --git a/apps/gui/skin_engine/skin_display.c b/apps/gui/skin_engine/skin_display.c
index 91e8bbfafc..a4588bb861 100644
--- a/apps/gui/skin_engine/skin_display.c
+++ b/apps/gui/skin_engine/skin_display.c
@@ -181,7 +181,7 @@ void draw_progressbar(struct gui_wps *gwps, int line, struct progressbar *pb)
181 if (!pb->horizontal) 181 if (!pb->horizontal)
182 { 182 {
183 /* we want to fill upwards which is technically inverted. */ 183 /* we want to fill upwards which is technically inverted. */
184 flags = VERTICAL|INVERTFILL; 184 flags = INVERTFILL;
185 } 185 }
186 186
187 if (pb->invert_fill_direction) 187 if (pb->invert_fill_direction)
@@ -209,15 +209,29 @@ void draw_progressbar(struct gui_wps *gwps, int line, struct progressbar *pb)
209 int height = pb->height; 209 int height = pb->height;
210 struct gui_img *img = pb->slider; 210 struct gui_img *img = pb->slider;
211 211
212 if (flags&VERTICAL) 212 if ((flags&HORIZONTAL) == 0)
213 { 213 {
214 y += pb->height*end/length;
215 height = img->bm.height; 214 height = img->bm.height;
215 if (flags&INVERTFILL)
216 y += pb->height - pb->height*end/length;
217 else
218 y += pb->height*end/length;
219#if 0 /* maybe add this in later, make the slider bmp overlap abit */
220 if ((flags&INNER_NOFILL) == 0)
221 y -= img->bm.height/2;
222#endif
216 } 223 }
217 else 224 else
218 { 225 {
219 x += pb->width*end/length; 226 width = img->bm.width;
220 width = img->bm.width; 227 if (flags&INVERTFILL)
228 x += pb->width - pb->width*end/length;
229 else
230 x += pb->width*end/length;
231#if 0 /* maybe add this in later, make the slider bmp overlap abit */
232 if ((flags&INNER_NOFILL) == 0)
233 x -= img->bm.width/2;
234#endif
221 } 235 }
222#if LCD_DEPTH > 1 236#if LCD_DEPTH > 1
223 if(img->bm.format == FORMAT_MONO) { 237 if(img->bm.format == FORMAT_MONO) {