Commit graph

30 commits

Author SHA1 Message Date
Teruaki Kawashima
0ac61bffa7 avoid overflow in puts_scroll().
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26231 a1c6a512-1295-4272-9138-f99709370657
2010-05-21 13:30:21 +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
Teruaki Kawashima
d50c78c238 * surround member only used by charcells with #ifdef HAVE_LCD_CHARCELLS in struct scrollinfo in scroll_engine.h.
* remove function prototypes which are not actualy defined.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24693 a1c6a512-1295-4272-9138-f99709370657
2010-02-16 11:59:37 +00:00
Jonathan Gordon
7e6f124d4e revert r24478 and make the backdrop behaviour the same as it used to be (so when in the wps the sbs' backdrop will be fully disabled). Also changes the API back to having to manually set the current backdrop.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24565 a1c6a512-1295-4272-9138-f99709370657
2010-02-08 09:38:03 +00:00
Jonathan Gordon
0a16a99a69 fix a bug where the backdrop from the sbs is displayed on scrolling lines in the wps when the %wd tag is not used.
I'm not crazy about this commit and maybe a better solution would be to outright disable the sbs backdrop when in any skinned screen. This then means backdrops go back to needing special handling (i.e they arnt "free")



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24478 a1c6a512-1295-4272-9138-f99709370657
2010-02-03 07:03:48 +00:00
Teruaki Kawashima
3d53182cef draw selection bar even if str is empty string (e.g. in text_editor plugin).
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24204 a1c6a512-1295-4272-9138-f99709370657
2010-01-09 14:41:00 +00:00
Teruaki Kawashima
ebce81d23f Fix FS#10893.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@24203 a1c6a512-1295-4272-9138-f99709370657
2010-01-09 12:21:18 +00:00
Tomer Shalev
c2617dc4ed Diacritic display enhancements
- Use the fact that unicode code currently does not support chars above 0xffff
  (see utf8decode()), and change diacritic database's char code type to
  unsigned short from int. Also comment out database entries above unsupported
  range.

- Use const when possible.

- Iterate over buffer using the buffer's pointer, thus avoiding usage of some
  variables, and avoiding multiple access to the same array item.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23776 a1c6a512-1295-4272-9138-f99709370657
2009-11-28 17:07:57 +00:00
Tomer Shalev
39bfe3153a Fix diacritic and save some bin size
- Fix bug which cause wrong placement of characters in some specific conditions
- Fix multiple similar entries in cache
- Protect against negative x values passed to drawing function


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23765 a1c6a512-1295-4272-9138-f99709370657
2009-11-26 18:09:56 +00:00
Frank Gevaerts
75ce9606a1 Limit character width to 255 pixels
Use intermediate variable to fix yellow and red



git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23744 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 21:34:24 +00:00
Frank Gevaerts
a68ad9e521 make lcd_bitmap_char more space efficient. This doesn't seem to impact text drawing performance
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23743 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 21:18:26 +00:00
Tomer Shalev
7682cb5ca8 FS#10720 - Support for displaying diacritic characters
This commit corrects the display of diacritic characters, which exist in many
languages. Hopefully, it will make Rockbox much more usable for users of these
languages.

Diacritic information (which used to decide whether a given character is
diacritic or not) is taken from the Unicode Standard, Version 5.2.

This feature does not affect drawing performance much, as the diacritic
database is cached (simple MRU mechanism).

There may be room for further performance, footprint, and
code-reuse wise improvements, that could be worked on in the future.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23742 a1c6a512-1295-4272-9138-f99709370657
2009-11-24 20:41:42 +00:00
Teruaki Kawashima
1fe6f13b9c lcd-bitmap-common.c: Change calculation of the horizontal position in lcd_puts_style_offset() so that the position is independent from the string being printed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23705 a1c6a512-1295-4272-9138-f99709370657
2009-11-22 15:43:57 +00:00
Thomas Martitz
3ad3bec0ad Use strlcpy instead of a memset&strcpy combo. Guarantees \0-terminaltion and gives a 1-3% speed up.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23284 a1c6a512-1295-4272-9138-f99709370657
2009-10-20 00:09:16 +00:00
Thomas Martitz
137d27af42 Fix a scrolling bug with centered drawing and too long lines.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23282 a1c6a512-1295-4272-9138-f99709370657
2009-10-19 22:49:41 +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
Tomer Shalev
736ea79e63 Fix FS#10670 - The first letter of a scrolling line starts to appear at the end
of the line

Thanks to Teruaki Kawashima (teru) for providing this solution


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23132 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 16:31:44 +00:00
Tomer Shalev
461903d80e LCD scrolling - reduce one 'if' nesting level
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23125 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 04:29:47 +00:00
Tomer Shalev
aee6901953 LCD scrolling - fix a typo
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23124 a1c6a512-1295-4272-9138-f99709370657
2009-10-12 04:28:56 +00:00
Tomer Shalev
74d3671af2 Revert r23021, since it broke non-RTL scrolling. RTL scrolling still needs fixing
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23118 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 20:49:27 +00:00
Tomer Shalev
d5b076b64a RTL: Cosmetic changes, no functional change - Rename constants
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23117 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 20:15:22 +00:00
Thomas Martitz
a79dc87761 Add a center flag, next to the rtl flag, for viewports. That results in any text being drawn centered. It overrides the RTL flag if set.
Simplify splashes and time menu by using it.

git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23105 a1c6a512-1295-4272-9138-f99709370657
2009-10-11 12:21:27 +00:00
Mohamed Tarek
7220cbb890 Fix a bug in a bidirectional text scrolling; s->offset doesn't need to be set when backward scrolling starts. This fixes bidirectional scrolling in
RTL and for certain file-names in LTR.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23022 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 01:05:40 +00:00
Mohamed Tarek
2282607224 Handle text scrolling in RTL.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@23021 a1c6a512-1295-4272-9138-f99709370657
2009-10-09 00:56:37 +00:00
Tomer Shalev
eb4020134e Moved RTL handling in lcd driver deeper, from puts_style_offset() to putsxyofs()
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22986 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 16:56:13 +00:00
Tomer Shalev
a092b9ce92 Use macro to test viewport's RTL flag
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22978 a1c6a512-1295-4272-9138-f99709370657
2009-10-06 08:07:30 +00:00
Tomer Shalev
58221fc38d Implement RTL as a viewport's bit-field
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22968 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 20:22:02 +00:00
Tomer Shalev
e7183f95d0 Fix red - bootloaders don't link language support
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22949 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 12:19:41 +00:00
Tomer Shalev
6d80565b1b RTL support in menus
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22945 a1c6a512-1295-4272-9138-f99709370657
2009-10-05 11:43:38 +00:00
Andrew Mahone
e04f95eab9 LCD bitmap driver code consolidation from FS#4817:
Move text-drawing code into firmware-drivers/lcd-bitmap-common.c, included by the various driver files.
Add new static function LCDFN(putsxyofs_style) to draw styled text, and use it in both LCDFN(puts_style_offset) and LCDFN(scroll_fn).
Merge lcd_gradient_rect functions, with new function containing simplified code for drawing one line of a multi-line gradient.


git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22289 a1c6a512-1295-4272-9138-f99709370657
2009-08-13 08:02:29 +00:00