dev builds
themes manual
device status forums
mailing lists
IRC bugs
dev guide

Rockbox mail archive

Subject: Re: brain dump/plan re simplifying viewport/theme support in screens

Re: brain dump/plan re simplifying viewport/theme support in screens

From: Thomas Martitz <>
Date: Tue, 24 Nov 2009 03:05:29 +0100

Am 24.11.2009 02:35, schrieb Jonathan Gordon:

> So this is what I'm planning...
> Basically, a screen has exactly 2 choices for their display, either
> the "theme" (which means sbs if loaded, and uivp), or fullscreen.
> Screens should always try to fit in the themes ui area, so they should
> all just assume that viewport_configure(struct *viewport) [or
> whatever its called] will give them what they want. Now, if it turns
> out its too small the screen would then call
> viewportmanager_theme_enable(bool) and then call viewport_configure()
> again which will then use the full display. These 2 steps could be
> merged maybe)...

Why combining two well-defined functions to an obscure one? It could
just call _set_fullscreen() and know what it gets if it's too small.

> Now, when that screen exits it would simply call
> viewportmanager_theme_undo(void) which would put it back to however it
> was (it would work with a stack so screens could enable and disable as
> they please without annoying other screens).

The stack that needs a bogus panicf() if it's exceeded? What's wrong
with the caller saving the state?

> actually... back onto viewport_configure() thing.. it could be done
> even simpler... viewport_configure(struct *viewport, int min_width,
> int min_height) would fix up the viewport so it guarentees to fit (it
> min is smaller than lcd of course), and then we can use
> viewport_undo(*viewport) again to undo anything if it was changed by
> storing the pointer :) as long as the viweport isnt static that should
> work.

I don't think that will work in practice. Passing a min_width/height is
quite demanding for screens that are of the sort "just gimme the damn
defaults, I'll cope with it", which doesn't even know how much it needs
at minimum.

> Jonathan

The rest sounds ok.

Best regards
Received on 2009-11-24

Page template was last modified "Tue Sep 7 00:00:02 2021" The Rockbox Crew -- Privacy Policy