rockbox/apps/plugins/text_viewer
Sebastian Leonhardt a507bb2837 YH8xx,YH9xx: Keymap improvement
The main "innovation" in this patch are two "virtual buttons"
for the record switch on YH92x targets. When the switch state
changes, a single BUTTON_REC_SW_ON or .._OFF button event will
be generated. Thus keymap code can react on switching, but
not on the actual state of the switch.

Wherever sensible, the following user scheme is applied:
- use PLAY as confirm button
- use REW button or Long REW to exit
- use REC (YH820) or FFWD (YH92X) as modifier key for button combos

Change-Id: Ic8d1db9cc6869daed8dda98990dfdf7f6fd5d5a1
2015-11-15 23:46:39 +01: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 YH8xx,YH9xx: Keymap improvement 2015-11-15 23:46:39 +01:00
tv_display.c Text viewer plugin: Fix info viewport font not being set to user selected font 2011-11-30 03:06:41 +00:00
tv_display.h text viewer: move and delete #include. 2010-06-29 11:37:58 +00:00
tv_menu.c FS#11822: use rockbox_browse() in plugins to select file. 2011-01-17 12:40:21 +00: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 FS#12273 - use buflib for font storage. thanks to the testers :) 2011-09-24 13:19:34 +00:00
tv_preferences.h FS#12273 - use buflib for font storage. thanks to the testers :) 2011-09-24 13:19:34 +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 reworks text viewer plugin. (FS#11209) 2010-06-05 10:30:08 +00:00
tv_screen_pos.h reworks text viewer plugin. (FS#11209) 2010-06-05 10:30:08 +00:00
tv_settings.c FS#12273 - use buflib for font storage. thanks to the testers :) 2011-09-24 13:19:34 +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 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.)