• Status Closed
  • Percent Complete
  • Task Type Bugs
  • Category User Interface → Themes
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by BigBambi - 2010-02-05
Last edited by jdgordon - 2010-02-08

FS#10969 - WPS background not fully overwriting menu backdrop

Menu looks like menu.bmp, the time at the top and the section at the bottom are from the .sbs The UI viewport is in the black box. The wps background is wpsbackdrop.bmp which should draw over the backdrop when in the WPS

The WPS actually looks like wps-glitch.bmp. The complete theme is also attached. Hopefully this isn’t just an error in the theme! Tests performed with r24511

Closed by  jdgordon
2010-02-08 05:04
Reason for closing:  Not a Bug
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407

see my last comment

This is not a bug - it’s theme coding problems.

Where to start? Well, for one, you were trying to put the entire WPS inside that black-bordered box (including it’s backdrop). That’s why the now playing graphic was cut off (among other problems). You needed to make your UI Viewport setting take up the whole upper part of the screen, and not just that bordered box. Also, in your cfg you never put ‘statusbar: custom’ in it, so the old statusbar was loading up in the simulator.

In your wps: I put the progress bar in here (I don’t think that it works in the sbs), changed where your viewports were positioned, and removed more than half of the viewports that weren’t needed. The backdrop image should probably have the unfilled progress bar moved up so that when you are in the menus it is covered by the black-bordered box that is supposed to contain the menus.

In your sbs: I couldn’t get anything from it to load in the simulator. I tried commenting out almost everything and then adding in a single image or a single line of text, without any luck. It’s probably a positioning You’ll have to figure this one out. You’ll also have to figure out how to get the menus to be contained within the black-bordered box (if possible). I didn’t spend a lot of time on this tonight - I didn’t have that much free time to do so.

What you might want to do in the meantime is look at other peoples themes to see how they work, and to try getting images and text lines to work one at a time.

The UI viewport should be in the black box, if it is the entire display, then the menu, filelist etc. will not be bounded inside the black box. This is the point of the UI viewport. The WPS backdrop is loaded before any of the WPS viewports are defined. From the wiki: “For the WPS, all lines before the first viewport declaration are drawn in the default (full-screen) viewport, and lines after a viewport declaration are drawn within that viewport.”

Progress bar works just fine in the sbs, and has done for ages.

The missing custom statusbar from the theme.cfg is an error, yes. If you select the sbs through the menu it works just fine.

I’ll have a check of the others things. I’m not saying it isn’t a theme coding issue - in fact, it probably is. However, it isn’t for all the reasons that you have listed, so I’m going to wait until JdGordon tells me I’m a fool before I shut it :)

Yes, I was wrong about a few things there. And it does seem like this is a bug now that I’ve messed with it for a while.

The UI Viewport doesn’t work with the WPS properly it seems. I spent a few hours trying to figure out your theme this morning. I got it to “work,” but it’s kind of a hack. Not really the way that you intended it to work. The UI Viewport works fine with the SBS, just not with the backdrop of the WPS. It acts almost like a viewport background (not that there is such a thing yet…).

And I realized my mistake with the progress bar. I did manage to get that working, along with all of the other images, by shifting elements of the theme around the SBS and WPS.

So the “new” version works by disabling the SBS in the WPS and then reloading the statusbar images in the WPS. I also had to remove some viewports, add some other ones, and change their values. I still manage to get a little glitch in the WPS though where some part of the WPS will update and then it will cut off the top part of the AA. I think it’s somehow caused by the layout of the date/time elements (along with it’s viewport) interacting with the images that are loaded after it. But it’s in a mostly done state, just not quite the route that you were trying to go…

Sorry for jumping the gun on this yesterday. :P

teru commented on 2010-02-07 02:32

BlastTyrant: your changes of viewports file is not needed at all and cause redraw issue.
the reason of cut off of AA is due to the line such as “%?pv<%xdsa|%xdsb|%xdsc|%xdsd|%xdse|%xdsf|%xdsg|%xdsh|%xdsi|%xdsj>”.
this line contains nothing to show at line on wps where this line is located, but it “clears” the line on wps.
(sorry, probably i’m too ambiguous. to see what i said, append something like “aaa” to the line “%?pv<%xdsa|%xdsb|%xdsc|%xdsd|%xdse|%xdsf|%xdsg|%xdsh|%xdsi|%xdsj>”.
you can see that the line with aaa is “cleared” and aa is cut off.)
and bassicaly UI Viewport is not for the wps (only used if the wps dosen’t contain any viewport tag).

I agree to one point. the most reliable way to make wps work as expected is disabling the sbs in the WPS and duplicate code where it is needed.

I havn’t had a chance to look through this yet, but needing to duplicate the skin code should be absolutly not necessary. If that really is the problem then we should work to fix the underlying issue. (unless of course it’s that you are drawing inside the ui vopewrt in the sbs, or outside of it in the wps.

Alex, what you are doing is ignoring the %Vi (or assuming too much about it) in the wps. The ‘x’ viewports are all %Vl|z|0|192|240|16|1|FFFFFF|000000| but your %Vi is %Vi|12|20|216|222|-|-|-| which means the ‘x’ viewport in the wps is drawing outside of the %Vi viewport which means it is expected to break.

with these changes it all works correctly (and the same for the y viewports)

Is this a simple woops? or is there a misunderstanding in how viewports work together which needs to be addressed?


Available keyboard shortcuts


Task Details

Task Editing