1
0
Fork 0
forked from len0rd/rockbox
foxbox/apps/plugins/text_viewer
Marcin Bukat 180cef835b xDuoo X3II and X20 port
Provided by Roman Stolyarov
Integration, Refactoring, and Upstreaming by Solomon Peachy

X3II confirmed working by forum tester, X20 is nearly identical.

This includes bootloader, main firmware, and the flash image patcher.

Eventual Todo:

 * Further refactor AGPTek Rocker & xduoo hiby bootloaders
 * Further refactor AGPTek Rocker & xduoo hosted platform code

Change-Id: I34a674051d368efcc75d1d18c725971fe46c3eee
2020-04-06 18:15:41 +02:00
..
readme.txt text viewer: can select the indent spaces when the line mode is reflow. 2010-06-11 11:13:02 +00:00
SOURCES text viewer: reworks screen access logics and some bugs fix. 2010-06-26 09:14:53 +00:00
text_viewer.c YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
text_viewer.make
tv_action.c Boost CPU before loading operations in textviewer 2014-04-01 02:37:32 +02: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 Boost CPU before loading operations in textviewer 2014-04-01 02:37:32 +02: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 xDuoo X3II and X20 port 2020-04-06 18:15:41 +02:00
tv_display.c Textviewer night mode 2018-07-04 06:25:45 +02:00
tv_display.h Textviewer night mode 2018-07-04 06:25:45 +02:00
tv_menu.c Textviewer night mode 2018-07-04 06:25:45 +02: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 text viewer: 2010-10-06 12:35:37 +00:00
tv_pager.h FS#11399 by me: fix r26998 for text_viewer 2010-06-23 13:56:08 +00:00
tv_preferences.c Textviewer night mode 2018-07-04 06:25:45 +02:00
tv_preferences.h Textviewer night mode 2018-07-04 06:25:45 +02: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 Textviewer night mode 2018-07-04 06:25:45 +02: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 text_viewer plugin: Fix two out-of-bounds buffer accesses 2014-12-20 12:55:20 +01: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 the target which PLUGIN_BUFFER_SIZE < 0x13000 (i.e., archos series),
    can only be read up to 999 pages.


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).

    [wod 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).
           - supports the player which does not define HAVE_LCD_BITMAP.

    [alignment]
           - the right alignment supports the player which does not define HAVE_LCD_BITMAP.

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


TODO list
  - for the target which PLUGIN_BUFFER_SIZE < 0x13000 (i.e., archos series),   
    supports 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.)