Commit graph

34 commits

Author SHA1 Message Date
William Wilgus
3237ae4a4f LCD core move buf ptr and address look up function viewport struct
I'm currently running up against the limitations of the lcd_draw functions
I want these functions to be able to be used on any size buffer not
just buffers with a stride matching the underlying device

[DONE] allow the framebuffer to be decoupled from the device framebuffer
[DONE need examples] allow for some simple blit like transformations
[DONE] remove the device framebuffer from the plugin api
[DONE}ditto remote framebuffer
[DONE] remove _viewport_get_framebuffer you can call struct *vp = lcd_set_viewport(NULL) and vp->buffer->fb_ptr

while remote lcds may compile (and work in the sim) its not been tested on targets

[FIXED] backdrops need work to be screen agnostic

[FIXED] screen statusbar is not being combined into the main viewport correctly yet

[FIXED] screen elements are displayed incorrectly  after switch to void*

[FIXED] core didn't restore proper viewport on splash etc.

[NEEDS TESTING] remote lcd garbled data

[FIXED] osd lib garbled screen on bmp_part

[FIXED] grey_set_vp needs to return old viewport like lcd_set_viewport

[FIXED] Viewport update now handles viewports with differing buffers/strides by copying to the main buffer

[FIXED] splash on top of WPS leaves old framebuffer data (doesn't redraw)
[UPDATE] refined this a bit more to have clear_viewport set the clean bit and have skin_render do its own screen clear
scrolling viewports no longer trigger wps refresh
also fixed a bug where guisyncyesno was displaying and then disappearing

[ADDED!] New LCD macros that allow you to create properly size frame buffers in you desired size without wasting bytes
(LCD_ and LCD_REMOTE_)
LCD_STRIDE(w, h) same as STRIDE_MAIN
LCD_FBSTRIDE(w, h) returns target specific stride for a buffer W x H
LCD_NBELEMS(w, h) returns the number of fb_data sized elemenst needed for a buffer W x H
LCD_NATIVE_STRIDE(s) conversion between rockbox native vertical and lcd native stride (2bitH)
test_viewports.c has an example of usage

[FIXED!!] 2bit targets don't respect non-native strides
[FIXED] Few define snags

Change-Id: I0d04c3834e464eca84a5a715743a297a0cefd0af
2020-10-26 12:28:48 -04:00
William Wilgus
dd40c46d50 Fix menu warnings
change offending bool return to int

warning: cast between incompatible function types from
'_Bool (*)(void)' to 'int (*)(void)' [-Wcast-function-type]

forgot to remove -- typedef int (*menu_function)(void);

Change-Id: Ie4c8d3ddb0fb7843c4ec584203350d658d6bee3e
2018-10-18 00:06:31 +02:00
Björn Stenberg
0942e2a0f7 Changed the FOR_NB_SCREENS macro to always be a for loop that declares its own loop variable. This removes the need to declare this variable in the outer scope.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@30756 a1c6a512-1295-4272-9138-f99709370657
2011-10-15 19:35:02 +00:00
Rafaël Carré
8302c5fe17 Wakeup alarm screen is unusuable with large fonts or small screens
Split the description and the time on 2 lines

Flyspray: FS#11274
Authors: Clément Pit--Claudel (CFP) and myself

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26244 a1c6a512-1295-4272-9138-f99709370657
2010-05-22 00:28:10 +00:00
Thomas Martitz
50a6ca39ad Move c/h files implementing/defining standard library stuff into a new libc directory, also standard'ify some parts of the code base (almost entirely #include fixes).
This is to a) to cleanup firmware/common and firmware/include a bit, but also b) for Rockbox as an application which should use the host system's c library and headers, separating makes it easy to exclude our files from the build.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25850 a1c6a512-1295-4272-9138-f99709370657
2010-05-06 21:04:40 +00:00
Rafaël Carré
7a994c84c3 Only build alarm_menu.c if needed
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@25438 a1c6a512-1295-4272-9138-f99709370657
2010-04-02 17:35:29 +00:00
Nils Wallménius
f34a841b0c Revise r23225 a bit, removing the debug_printf function and implementing more generic lcd_(remote)_putsf function(s) instead and use those in more places
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23233 a1c6a512-1295-4272-9138-f99709370657
2009-10-17 18:02:48 +00:00
Bertrik Sikken
0023943439 Fix duplicate #includes
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20977 a1c6a512-1295-4272-9138-f99709370657
2009-05-17 14:50:19 +00:00
Bertrik Sikken
09085a30f6 Remove unneeded #include "backdrop.h"
Remove unneeded #include "statusbar.h"


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20891 a1c6a512-1295-4272-9138-f99709370657
2009-05-09 18:09:14 +00:00
Bertrik Sikken
d4d121538d Remove unnecessary #include "backlight.h"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@20790 a1c6a512-1295-4272-9138-f99709370657
2009-04-25 21:32:55 +00:00
Jonathan Gordon
e385ee18ce Decouple the statusbar drawing from the rest of the screen drawing. it is not drawn roughly 4x per second automatically.
viewport_Set_defaults() will setup the given viewport with the correct "full screen" dimensions (so start at 0,0 if statusbars are disabled or 0,8 if they are enabled.)
All screens should keep the statusbar enabled, but if you really want to ignore the user setting you can disbaled it with viewportmanager_set_statusbar(false).

This commit also includes some menu/list viewport cleanups from kugel in FS#9603


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19622 a1c6a512-1295-4272-9138-f99709370657
2008-12-31 05:59:26 +00:00
Nils Wallménius
01729e7a18 FS#9281 Rename of splash functions.
* Remove gui_splash()
* Rename gui_syncsplash() to splashf() and remove its voice 
capabilities.
* Rename the internal splash() to splash_internal() and introduce an 
externally visible splash() that handles simple splashing  without 
printf functionality e.g. splash(HZ, ID2P(LANG_FOO)); or splash(HZ, 
"foo"); if a LANG_* id is passed it will be voiced.
* Adjust all places that called gui_syncsplash() to use the correct 
variant from above.
* Export both new functions to plugins and adjust places calling 
rb->splash() to use the correct variant so that we now have naming 
consistency between the core and plugins.
* Fix one latent bug that would cause my sim to crash with the above 
changes and correct P2STR and P2ID macros, thanks to pondlife.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@18282 a1c6a512-1295-4272-9138-f99709370657
2008-08-15 08:27:39 +00:00
Daniel Stenberg
2acc0ac542 Updated our source code header to explicitly mention that we are GPL v2 or
later. We still need to hunt down snippets used that are not. 1324 modified
files...
http://www.rockbox.org/mail/archive/rockbox-dev-archive-2008-06/0060.shtml


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17847 a1c6a512-1295-4272-9138-f99709370657
2008-06-28 18:10:04 +00:00
Jonathan Gordon
d0ed3712c7 more gui_textarea removal.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@17650 a1c6a512-1295-4272-9138-f99709370657
2008-05-29 08:20:07 +00:00
Steve Bavin
32a9575130 FS#7994 - Rename talk.c API, make talk_disable() affect all talking (not just menus), hopefully save some space.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@15206 a1c6a512-1295-4272-9138-f99709370657
2007-10-19 15:31:42 +00:00
Linus Nielsen Feltzing
b0a373681b FS#7682 by Daniel Dalton - Enable voice in the wakeup alarm screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@14977 a1c6a512-1295-4272-9138-f99709370657
2007-10-04 08:56:49 +00:00
Jonathan Gordon
f7675a244b remove the need for action_signalscreenchange().
Fixes problems with targets where the ACTION_STD_CANCEL event is a combo


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13956 a1c6a512-1295-4272-9138-f99709370657
2007-07-22 06:05:53 +00:00
Nils Wallménius
86ecc9588b Remove unused header
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12820 a1c6a512-1295-4272-9138-f99709370657
2007-03-17 11:57:53 +00:00
Jens Arnold
4d6374c923 Get rid of the 'center' parameter for splashes. There were only 2 of almost 500 splashes which were not centered.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12807 a1c6a512-1295-4272-9138-f99709370657
2007-03-16 21:56:08 +00:00
Thom Johansen
8fd6d658a1 Add wake on alarm support for Ipods. Rename HAVE_ALARM_MOD to HAVE_ALARM_RTC since it's not always a mod. Make Ipod PCF driver keep other flags in OOCC1 that have been set instead of overwriting them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12522 a1c6a512-1295-4272-9138-f99709370657
2007-02-28 21:55:11 +00:00
Linus Nielsen Feltzing
c187f18d5d Fix the left margin in the alarm menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@12413 a1c6a512-1295-4272-9138-f99709370657
2007-02-20 12:47:00 +00:00
Linus Nielsen Feltzing
d723e6e66d Wrong action code in the alarm menu
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10584 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 12:49:22 +00:00
Linus Nielsen Feltzing
224c0a13eb Finally, the new button action system is here, thanks to Jonathan Gordon. Some button mappings have changed and other things may break. Comments should go to the forum, http://forums.rockbox.org/index.php?topic=5829.0 or the mailing list.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10582 a1c6a512-1295-4272-9138-f99709370657
2006-08-15 12:27:07 +00:00
Kevin Ferrare
1a1abf25f4 removed old statusbar and buttonbar code
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@8004 a1c6a512-1295-4272-9138-f99709370657
2005-11-20 01:02:14 +00:00
Kevin Ferrare
e991beed6d replaced all the splash calls by gui_sync_splash, added some missing remote key in the playlist viewer
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7909 a1c6a512-1295-4272-9138-f99709370657
2005-11-16 15:12:15 +00:00
Linus Nielsen Feltzing
5e9f52f6d1 Some interface updates and code policing in the alarm setting screen, take 2
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7038 a1c6a512-1295-4272-9138-f99709370657
2005-07-06 08:30:55 +00:00
Linus Nielsen Feltzing
50d9e3fba9 Some interface updates and code policing in the alarm setting screen
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7037 a1c6a512-1295-4272-9138-f99709370657
2005-07-06 08:24:24 +00:00
Christi Scarborough
be7894509f (1) Patch 1231281: Alignment tags for the WPS by Per Holmaeng. Use %al for left align, %ac for centre, %ar for right. It is currently not possible to use more than one %a? tag per WPS line. (2) Lots of tabs removed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@7034 a1c6a512-1295-4272-9138-f99709370657
2005-07-05 22:27:54 +00:00
Christi Scarborough
a83ffb208f A proper alarm clock for the V2/FM (and v1 with mod)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5818 a1c6a512-1295-4272-9138-f99709370657
2005-02-06 17:21:42 +00:00
Jörg Hohensohn
593cc00447 a hell of a commit: changed several HAVE_xx configuration flags into multiple choice values (keypad, tuner, CPU, h/w codec)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5126 a1c6a512-1295-4272-9138-f99709370657
2004-09-28 22:13:26 +00:00
Linus Nielsen Feltzing
ba2c197f2f Font problems with the alarm setting
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@4054 a1c6a512-1295-4272-9138-f99709370657
2003-11-20 01:43:09 +00:00
Uwe Freese
5bfa9b7548 avoid min+hour to be out of range after changing the batteries
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3375 a1c6a512-1295-4272-9138-f99709370657
2003-03-03 14:23:39 +00:00
Daniel Stenberg
dd4f1fa760 my compiler warned on a missing newline on the last line!
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3155 a1c6a512-1295-4272-9138-f99709370657
2003-01-23 19:54:01 +00:00
Uwe Freese
86352ccc3f Code for alarm mod. Enable with adding -DHAVE_ALARM_MOD in Makefile (EXTRA_DEFINES).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@3150 a1c6a512-1295-4272-9138-f99709370657
2003-01-22 12:50:34 +00:00