rockbox/apps/plugins/text_viewer
Hairo R. Carela 48392bab94 New port: Anbernic RG Nano
A bit of context, this device is a clone of the FunKey-S with a different form factor, hardware is mostly identical, the relevant difference is it has audio out (via usb-c, adapter to 3.5mm is included), this is the reason why the FunKey-SDK is needed for bulding.

This port is based on the old SDL 1.2 code because the device doesn't have SDL2 support. Alongside what was supported in the SDL 1.2 builds this port supports battery level, charging status and backlight control.

Change-Id: I7fcb85be62748644b667c0efebabf59d6e9c5ade
2025-07-29 21:01:53 -04:00
..
readme.txt Remove some SWCODEC artifacts 2020-11-14 19:20:33 -05:00
SOURCES text viewer: reworks screen access logics and some bugs fix. 2010-06-26 09:14:53 +00:00
text_viewer.c FS#13434: Partially internationalize the textviewer plugin 2024-06-11 09:53:40 -04:00
text_viewer.make
tv_action.c FS#13434: Partially internationalize the textviewer plugin 2024-06-11 09:53:40 -04:00
tv_action.h Second try: Introduce plugin_crt0.c that every plugin links. 2010-08-24 14:30:46 +00:00
tv_bookmark.c FS#13434: Partially internationalize the textviewer plugin 2024-06-11 09:53:40 -04:00
tv_bookmark.h Commit FS#11799 by Alexander Meshcheryakov. Improves the text viewer plugin to write to the disk less often, and correct several minor bugs. 2010-12-14 21:33:45 +00:00
tv_button.h New port: Anbernic RG Nano 2025-07-29 21:01:53 -04:00
tv_display.c FS#13434: Partially internationalize the textviewer plugin 2024-06-11 09:53:40 -04:00
tv_display.h Textviewer night mode 2018-07-04 06:25:45 +02:00
tv_menu.c mikmod: Settings names should _NOT_ be i18n'd. 2024-06-11 10:13:40 -04:00
tv_menu.h text_viewer: callback functions are changed to the function that returns int value. 2010-06-29 11:05:36 +00:00
tv_pager.c fix warnings on some systems / format specifier mismatch 2024-12-07 11:07:44 -05:00
tv_pager.h FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00
tv_preferences.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
tv_preferences.h [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
tv_reader.c text viewer: 2010-10-06 12:35:37 +00:00
tv_reader.h FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00
tv_screen_pos.c
tv_screen_pos.h
tv_settings.c Fix typos and wording 2020-11-04 12:57:15 +00:00
tv_settings.h Commit FS#11799 by Alexander Meshcheryakov. Improves the text viewer plugin to write to the disk less often, and correct several minor bugs. 2010-12-14 21:33:45 +00:00
tv_text_processor.c [4/4] Remove HAVE_LCD_BITMAP, as it's now the only choice. 2020-07-24 21:20:13 +00:00
tv_text_processor.h FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00
tv_text_reader.c FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00
tv_text_reader.h FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00
tv_window.c text viewer: 2010-07-01 11:31:28 +00:00
tv_window.h FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00

About the text viewer plugin.

Limitation
    for targets where PLUGIN_BUFFER_SIZE < 0x13000,
    Only 999 pages can be read.
    


Difference between viewer.rock
    [settings file]
       - the global setting, 'tv_global.dat' is stored.
       - Settings and bookmarks for each file, 'tv_file.dat' is stored.

      Note: when viewer.dat(viewer_file.dat) exists, tv_global.dat(tv_file.dat) is created by
            using viewer.dat(viewer_file.dat).

    [word wrap]
          - add the following characters which can be split the line.
                '!', ',', '.', ':', ';', '?', 
                U+00b7, U+2010, U+3000, U+3001, U+3002, U+30fb, U+30fc, 
                U+ff01, U+ff0c, U+ff0d, U+ff0e, U+ff1a, U+ff1b, U+ff1f.

          - when the line split, if the line length is short ( < 0.75 * display width), 
            split the line in display width. (thus, maybe split a word)

    [line mode]
       [join]
           - break line condition has changed.
               - If the next line is a blank line or spaces only line, this line breaks.

       [reflow]
           - indent changes is two spaces (changable in the settings).

    [bookmark]
           - increased the number of bookmarks that can be registered to 16.


TODO list
  - for the target which PLUGIN_BUFFER_SIZE < 0x13000,   
    support more than 999 pages of text.

  - add History feature.

  - draw images that are linked to the text. (<img src="...">)

  - play audios that are linked to the text. (<audio src="...">)

  - more treatments of line breaking, word wrappings.
    (for example, period does not appear the top of line.)