Changeset 110


Ignore:
Timestamp:
04/14/07 12:16:37 (7 years ago)
Author:
GrAnd
Message:

+ Autoscroll for text reader

Location:
branches/grand
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • branches/grand/core/conf.c

    r109 r110  
    100100    CONF_INFO( 41, conf.show_clock,             CONF_DEF_VALUE, i:0, NULL), 
    101101    CONF_INFO( 42, conf.clock_pos,              CONF_DEF_PTR,   ptr:&def_clock_pos , NULL), 
     102    CONF_INFO( 43, conf.reader_autoscroll,      CONF_DEF_VALUE, i:0, NULL), 
     103    CONF_INFO( 44, conf.reader_autoscroll_delay, CONF_DEF_VALUE, i:5, NULL), 
    102104}; 
    103105#define CONF_NUM (sizeof(conf_info)/sizeof(conf_info[0])) 
  • branches/grand/core/gui.c

    r109 r110  
    4545static void gui_load_script(int arg); 
    4646static void gui_draw_read(int arg); 
     47static void gui_draw_read_last(int arg); 
    4748static void gui_draw_calendar(int arg); 
    4849static void gui_menuproc_mkbootdisk(int arg); 
     
    9293static CMenu games_submenu = { "Games", NULL, games_submenu_items }; 
    9394 
     95 
     96static CMenuItem reader_submenu_items[] = { 
     97    {"Open new file...",            MENUITEM_PROC,    (int*)gui_draw_read }, 
     98    {"Open last opened file",       MENUITEM_PROC,    (int*)gui_draw_read_last }, 
     99    {"Enable autoscroll",           MENUITEM_BOOL,    &conf.reader_autoscroll }, 
     100    {"Autoscroll delay (sec)",      MENUITEM_INT|MENUITEM_F_UNSIGNED|MENUITEM_F_MINMAX, &conf.reader_autoscroll_delay, MENU_MINMAX(0, 60) }, 
     101    {"<- Back",                     MENUITEM_UP }, 
     102    {0} 
     103}; 
     104static CMenu reader_submenu = { "Text file reader", NULL, reader_submenu_items }; 
     105 
     106 
    94107static CMenuItem misc_submenu_items[] = { 
     108    {"File browser",                MENUITEM_PROC,    (int*)gui_draw_fselect }, 
     109    {"Calendar",                    MENUITEM_PROC,    (int*)gui_draw_calendar }, 
     110    {"Text file reader ->",         MENUITEM_SUBMENU, (int*)&reader_submenu }, 
     111    {"Games ->",                    MENUITEM_SUBMENU, (int*)&games_submenu }, 
     112    {"Flash-light",                 MENUITEM_BOOL,    &conf.flashlight }, 
     113    {"Draw palette",                MENUITEM_PROC,    (int*)gui_draw_palette }, 
    95114    {"Show build info",             MENUITEM_PROC,    (int*)gui_show_build_info }, 
    96115    {"Show memory info",            MENUITEM_PROC,    (int*)gui_show_memory_info }, 
    97     {"File browser",                MENUITEM_PROC,    (int*)gui_draw_fselect }, 
    98     {"Draw palette",                MENUITEM_PROC,    (int*)gui_draw_palette }, 
    99     {"Text file reader",            MENUITEM_PROC,    (int*)gui_draw_read }, 
    100     {"Calendar",                    MENUITEM_PROC,    (int*)gui_draw_calendar }, 
    101     {"Flash-light",                 MENUITEM_BOOL,    &conf.flashlight }, 
    102     {"Games ->",                    MENUITEM_SUBMENU, (int*)&games_submenu }, 
    103116    {"<- Back",                     MENUITEM_UP }, 
    104117    {0} 
     
    850863 
    851864//------------------------------------------------------------------- 
     865void gui_draw_read_last(int arg) { 
     866    int fd; 
     867     
     868    fd = open(conf.reader_file, O_RDONLY, 0777); 
     869    if (fd >= 0) { 
     870        close(fd); 
     871        gui_draw_read_selected(conf.reader_file); 
     872    } else { 
     873        gui_draw_read(arg); 
     874    } 
     875} 
     876 
     877//------------------------------------------------------------------- 
    852878void gui_menuproc_mkbootdisk(int arg) { 
    853879    mark_filesystem_bootable(); 
  • branches/grand/core/gui_read.c

    r109 r110  
    1717#define READ_BUFFER_SIZE        (45*15) 
    1818static char buffer[READ_BUFFER_SIZE+45]; 
     19static long last_time; 
    1920 
    2021//------------------------------------------------------------------- 
     
    3738    h=(screen_height-y*FONT_HEIGHT)/FONT_HEIGHT; 
    3839    s=w*h; 
     40    last_time = get_tick_count(); 
    3941     
    4042    return (read_file >= 0); 
     
    4345//------------------------------------------------------------------- 
    4446void gui_read_draw() { 
     47    if (conf.reader_autoscroll && get_tick_count()-last_time >= conf.reader_autoscroll_delay*1000 && (conf.reader_pos+read_on_screen)<read_file_size) { 
     48        conf.reader_pos += read_on_screen; 
     49        read_to_draw = 1; 
     50    } 
    4551    if (read_to_draw) { 
    4652        int i, j; 
     
    112118 
    113119            read_to_draw = 0; 
     120            last_time = get_tick_count(); 
    114121        } 
    115122    } 
  • branches/grand/include/conf.h

    r103 r110  
    5757    char reader_file[100]; 
    5858    int reader_pos; 
     59    int reader_autoscroll; 
     60    int reader_autoscroll_delay; 
    5961 
    6062    int sokoban_level; 
Note: See TracChangeset for help on using the changeset viewer.