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

Rockbox mail archive

Subject: Trimming the lcd api

Trimming the lcd api

From: Björn Stenberg <>
Date: Tue, 11 Oct 2011 21:22:16 +0200

During my current adventures into android screen scaling, I have been looking into our lcd api. It was a while since I dug into it last, and I was quite intrigued to find that we now have no less than 14 lcd_puts function calls:


One of the reasons for the growth is that the api started out with line-oriented positioning and has then been expanded with pixel-oriented (xy) alternatives. I would like to stop using line oriented positioning and convert all code to pixel positions. Jonathan Gordon has already written a patch that does much of that, which I have used in my effort so far.

Going pixel-only removes some of the api proliferation, but we still have puts functions for nearly all combinations of scroll, offset and style.

I would like to condense all of our puts variants into one single function:

 void lcd_puts(int x, int y, int xcrop, int style,
               bool scrolled, const char* fmt, ...)

As far as I can tell, this works on the charcell Player too. It simply has two possible y positions: 0 or 1.

If you believe this change is unsuitable, I would very much appreciate hearing what I have missed or what would require special consideration.

As for time frame, this is clearly a post-3.10 change.

Received on 2011-10-11

Page was last modified "Jan 10 2012" The Rockbox Crew