Ideally, unit prefixes (K, M,...) should be calculated separately, but the largest resistance we can handle is 99 MOhm, which wouldn't fit in a 32 bit int (using our centiohm internal units) if we didn't cheat. (and technically we could go higher still. white-white-white would be 99 GOhm, but we don't do such high multipliers now)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28272 a1c6a512-1295-4272-9138-f99709370657
The parameter wasn't used yet and it's not clear whether it should be a absolute or relative viewport.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28242 a1c6a512-1295-4272-9138-f99709370657
They work as the drawrect/fillrect pendants but work on a viewport basis; pass NULL to draw the current viewport (the one set with set_viewport()).
In conjunction with action_get_touchscreen_press_in_vp() it should be less of a pain to draw buttons and get presses on them.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28239 a1c6a512-1295-4272-9138-f99709370657
it is confusing that same function expects different data type (fb_data or unsigned char) depending on the target.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28233 a1c6a512-1295-4272-9138-f99709370657
-remove 1px gap at the top and bottom of the screen to maximize the draw erea, especially for small screens.
-fix trashes on the vertical scrollbar when scrolled the column left/right.
-fix bug that vertical scrllbar sometimes goes up while scrolling down.
-don't chage displayed line after closing menu.
-use simplelist to select bookmark to make it work better.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28213 a1c6a512-1295-4272-9138-f99709370657
-fix calculation of track_list_y when the display area isn't filled with tracks.
-reset scroll position of album title text when the text is changed so that it doesn't jump.
-enables theme in the menu so that it is consistent to playback control item and
other plugins' menu, instead of solid color background from the theme.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28209 a1c6a512-1295-4272-9138-f99709370657
crop the smallest bitmap so it's usable for any small screen and nut just the c200
make the layout a bit more flexible
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28193 a1c6a512-1295-4272-9138-f99709370657
-use upper case for enum constants.
-rename variables to match it's use.
-remove tabs and fix indents.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28192 a1c6a512-1295-4272-9138-f99709370657
simple_resize_bitmap() can deal with greylib now but I missed
that it was compiled only for LCD_DEPTH > 1
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28187 a1c6a512-1295-4272-9138-f99709370657
For this it needs to look at the plugin header. Since lc_open() doesn't know
it's a plugin, the header needs to be changed slightly to include the new lc_header (which needs to be the first element in plugin_header so it can be casted savely).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28054 a1c6a512-1295-4272-9138-f99709370657
casts in const tables declaration seesm to confuse gcc into thinking the
initializers are not constant
Also merge struct declaration and typedef
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28020 a1c6a512-1295-4272-9138-f99709370657
some functions can be static -> static inline
some functions are external and can't be inlined -> remove inline
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@28019 a1c6a512-1295-4272-9138-f99709370657
Use host's functions for file i/o directly (open(), close() ,etc.), not the sim_* variants.
Some dir functions need to be wrapped still because we need to cache the parents dir's path (host's dirent doesn't let us know).
For the same reason (incompatibility) with host's dirent) detach some members from Rockbox' dirent struct and put it into an extra one,
the values can be retrieved via the new dir_get_info().
Get rid of the sim_ prefix for sleep as well and change the signature to unix sleep().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27968 a1c6a512-1295-4272-9138-f99709370657
Move to plugin_crt0.c, plugins don't need PLUGIN_IRAM_* macros anymore
IRAM is no longered zeroed before copying (as it is at the same address
than BSS) -> Fix FS#11581
Use cpucache_invalidate() (and not cpucache_flush), needed for self-modifying code on cached IRAM
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27948 a1c6a512-1295-4272-9138-f99709370657
Our printf format doesn't support "ll", restore the cast to long
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27931 a1c6a512-1295-4272-9138-f99709370657
no need to transmit it through function arguments, remove a warning on
charcell as a side effect
also, snprintf+splash -> splashf
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27930 a1c6a512-1295-4272-9138-f99709370657
use lcd_putsxyf()
rework a bit DEBUG_WORMLET to remove a buffer (doesn't compile anwyay)
also use a table to get worm state, instead of switch/case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27924 a1c6a512-1295-4272-9138-f99709370657
use lcd_putsf()
remove filesize2string, instead get the "logarithm" (rounded towards
zero) and use the this value to compute the size displayed and the
unit prefix (nothing/k/m/g)
also use struct initializer in dir_properties()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27923 a1c6a512-1295-4272-9138-f99709370657
- cosmetics: remove trailing white space
- mark all functions and variables as static
- merge struct definition and declaration when possible
- rename tuner_settings -> settings (because it's shorter)
- remove unused enums
- don't give pointer to settings struct as argument since there is only
one struct, same for the settings filename
- fix error cases in settings load:
reset settings when loading failed
close file when it hasn't the right size
- inline small load/save functions only used once
- remove unused print_char_xy
- inline print_str and print_int_xy, and use lcd_putsf (added to the
plugin API)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27918 a1c6a512-1295-4272-9138-f99709370657
It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports.
Apparently sh needs linker symbols prefixed with _ even if they're referenced without from C code.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27902 a1c6a512-1295-4272-9138-f99709370657
I don't understand the build error at all, plugin_bss_start is clearly defined in plugin.lds
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27901 a1c6a512-1295-4272-9138-f99709370657
It's a used by codec/plugin loading and vastly reduces code duplication. It's also a step forward in getting rid of libuisimulator in the application ports.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27900 a1c6a512-1295-4272-9138-f99709370657
Rather use the Makefile to specify which files must be built
Fix color builds with test plugins enabled (test_scanrate gave an empty
.o file)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27886 a1c6a512-1295-4272-9138-f99709370657
It handles exit() properly, calling the handler also when the plugin returns
normally (also make exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.
To work better together with callbacks passed to rb->default_event_handler_ex() introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases rb->default_event_handler_ex() was passed a callback which was manually called at all other return points. This can now be done via atexit().
In future plugin_crt0.c could also handle clearing bss, initializing iram and more.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27873 a1c6a512-1295-4272-9138-f99709370657
It's used by both, plugins and codecs, and sh/hwcodec doesn't compile codecs
so it doesn't fit into sources.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27869 a1c6a512-1295-4272-9138-f99709370657
It handles exit() properly, calling the handler also when the plugin returns
normally (also it makes exit() more standard compliant while at it).
It also holds PLUGIN_HEADER, so that it doesn't need to be in each plugin anymore.
To work better together with callbacks passed to rb->default_event_handler_ex introduce exit_on_usb() which will call the exit handler before showing the usb screen and exit() after it.
In most cases it was passed a callback which was manually called at all other return points. This can now be done via atexit().
In future plugin_crt0.c could also handle clearing bss, initializing iram and more.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27862 a1c6a512-1295-4272-9138-f99709370657
- some variables were defined as const but declared without const
- remove double declaration of mapnames* (already in .h)
- forceOldBsp is boolean, not int
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27660 a1c6a512-1295-4272-9138-f99709370657
* Slightly more saturated colours
* Yellow background for selected case
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27517 a1c6a512-1295-4272-9138-f99709370657
Remove four remaining uses of %z, three of which were in DEBUGF
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27479 a1c6a512-1295-4272-9138-f99709370657
viewportmanager_theme_enable() sets values to passed viewport by viewport_set_defaults(), so no need to call sb_skin_get_info_vp() or viewport_set_defaults().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27399 a1c6a512-1295-4272-9138-f99709370657
SIMVER was really only used to detect a simulator build. With APP_TYPE you can
now differentiate between simulator, application, checkwps and database builds.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27372 a1c6a512-1295-4272-9138-f99709370657
text viewer: use send_event() instead of sb_skin_update(). thanks to teru.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27348 a1c6a512-1295-4272-9138-f99709370657
Print current rockbox uptime when the plugin was started
Make some lines start with '#' so they are not plotted by gnuplot
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27339 a1c6a512-1295-4272-9138-f99709370657
- the statusbar of the preferences is not correct when the settings file loads.
- overlaps the statusbar of the skin and default one. (FS#11455)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27334 a1c6a512-1295-4272-9138-f99709370657
* fix possible infinite loop in save_changes(). hopefully fix FS#11457.
* use .lrc file instead of .lrc8 file when saveing changes to the lyrics read from id3 tag.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27305 a1c6a512-1295-4272-9138-f99709370657
- if the file fits on one screen, there is no horizontal scrollbar.
- the callback function in tv_reader doesn't do useless processing when the preferences changes.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27212 a1c6a512-1295-4272-9138-f99709370657
* displays a scrollbar if there is more text than currently displayed.
* enables to scroll text by scrollwheel.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27175 a1c6a512-1295-4272-9138-f99709370657
And the text viewer quits when the problem occurs by callback functions.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27172 a1c6a512-1295-4272-9138-f99709370657
And display functions change the following.
- some functions change to static functions.
- fix the problem that font_changing flag is invalid value.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27165 a1c6a512-1295-4272-9138-f99709370657
- font functions move to tv_display.
- modify tv_init_display() and add tv_finalize_display().
- viewport functions are changed from global to static.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27154 a1c6a512-1295-4272-9138-f99709370657
- layout: hader, footer and horizontal_scrollbar add padding.
- add member 'statusbar' in tv_preferences.
- delete HD_SBAR/HD_BOTH/FT_SBAR/FT_BOTH.
- deletes the function to check header_mode/footer_mode.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27142 a1c6a512-1295-4272-9138-f99709370657
- screen access logics separte from tv_window. (new tv_display.[ch])
- using multi screen api.
- (bug fix) the head of the each line is not normally displayed when the alignment is RIGHT.
- (bug fix) unnecessary blank line is not displayed. (a part of FS#11400).
- (bug fix) the order by which callback functions were called was not correct. (FIFO->FILO)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27138 a1c6a512-1295-4272-9138-f99709370657
Restore the old behaviour:
- preferences must be read-write for tv_preferences.c , read-only for
all other modules -> use pointer to const struct
- init functions must get the plugin buffer + its size as arguments for
easily adding new functions -> use pointer to buffer pointer and size
to make allocation easier
- preferences meaning is private to each file and must not be known by
tv_preferences.c -> move tv_check_header_and_footer() back in
tv_window.c; also avoid chaining 3 times the callbacks by calling
tv_set_preferences() only once if more than one preference needs
changing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27089 a1c6a512-1295-4272-9138-f99709370657
It'll build on targets with small plugin buffer, the buffer for each of
them will be a little smaller than 32kB. "should be enough"
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27050 a1c6a512-1295-4272-9138-f99709370657
The simulator defines PLATFORM_HOSTED, as RaaA will do (RaaA will not define SIMULATOR).
The new define is to (de-)select code to compile on hosted platforms generally.
Should be no functional change to targets or the simulator.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@27019 a1c6a512-1295-4272-9138-f99709370657
cleanup:
- don't use enum in struct / return values
- don't use a getter for preferences but a global pointer
- explicitely make enums start at 0
- use static tables for header/footer settings
- remove unneeded memset before strlcpy
- use static buffer allocation, not dynamic
- check header/footer preferences before using the callbacks
- don't include font filename in archos player preferences (break
file format)
bugfix:
- statically allocate old preferences in tv_set_preferences()
Sometimes I can read a file on Clipv2, but it still aborts quite often
refs: FS#11399
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26998 a1c6a512-1295-4272-9138-f99709370657
dont make out of array accesses to the minefield
dont flag positions already known
avoid using the same name for local & global variables
don't use modulo but only 1 conditional add/sub
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26956 a1c6a512-1295-4272-9138-f99709370657
mkdir and rmdir are now in this module and not in the rockbox API
implements the 'dir' iterator to browse directories
Based on LuaFileSystem : http://www.keplerproject.org/luafilesystem
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26913 a1c6a512-1295-4272-9138-f99709370657
Modify HIGH_REGS macro to store/load only one range of registers
When the range isn't contigous (in MC_put_x_8*), shift registers to make
it contigous (r4 and r5 are now unused by these functions)
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26759 a1c6a512-1295-4272-9138-f99709370657
We can't pop into pc on ARMv4t when using thumb: the T bit won't be
modified if we are returning to a thumb function
Code running on ARMv4t should use the new ldrpc / ldmpc macros instead
of ldr pc, [sp], #4 and ldm(cond) sp!, {regs, pc}
No modification on pure ARM builds and ARMv5+
Note: USE_THUMB is currently never defined, no targets can currently be
built with -mthumb, see FS#6734
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26756 a1c6a512-1295-4272-9138-f99709370657
now dict can scroll the description. it might not show full description if it is too long or memory is not enough.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26687 a1c6a512-1295-4272-9138-f99709370657
reason: text file is read by the sort plugin instead of the text viewer plugin.
then, text file is broken.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26686 a1c6a512-1295-4272-9138-f99709370657
* don't load font if it's not needed.
- loading 16-GNU-Unifont seems to take some time.
* restore font to settings on exit plugin.
* don't allocate buffer on stack for name of fonts in select font menu.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26657 a1c6a512-1295-4272-9138-f99709370657
extended regular expressions (e.g., using | or +) can't be used with posix sed.
We can use them with awk though
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26583 a1c6a512-1295-4272-9138-f99709370657