From fdba8404503af0448586615330a7b27f2ced531c Mon Sep 17 00:00:00 2001 From: Yoshihisa Uchida Date: Sat, 5 Jun 2010 10:30:08 +0000 Subject: reworks text viewer plugin. (FS#11209) new text viewer plugin: text_viewer.rock. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26571 a1c6a512-1295-4272-9138-f99709370657 --- apps/plugins/text_viewer/tv_preferences.h | 129 ++++++++++++++++++++++++++++++ 1 file changed, 129 insertions(+) create mode 100644 apps/plugins/text_viewer/tv_preferences.h (limited to 'apps/plugins/text_viewer/tv_preferences.h') diff --git a/apps/plugins/text_viewer/tv_preferences.h b/apps/plugins/text_viewer/tv_preferences.h new file mode 100644 index 0000000000..64ab0d102f --- /dev/null +++ b/apps/plugins/text_viewer/tv_preferences.h @@ -0,0 +1,129 @@ +/*************************************************************************** + * __________ __ ___. + * Open \______ \ ____ ____ | | _\_ |__ _______ ___ + * Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ / + * Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < < + * Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \ + * \/ \/ \/ \/ \/ + * $Id$ + * + * Copyright (C) 2002 Gilles Roux + * 2003 Garrett Derner + * 2010 Yoshihisa Uchida + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY + * KIND, either express or implied. + * + ****************************************************************************/ +#ifndef PLUGIN_TEXT_VIEWER_PREFERENCES_H +#define PLUGIN_TEXT_VIEWER_PREFERENCES_H + +struct tv_preferences { + enum { + WRAP = 0, + CHOP, + } word_mode; + + enum { + NORMAL = 0, + JOIN, + EXPAND, + REFLOW, + } line_mode; + + enum { + NARROW = 0, + WIDE, + } view_mode; + + enum { + LEFT = 0, + RIGHT, + } alignment; + + enum codepages encoding; + + enum { + SB_OFF = 0, + SB_ON, + } scrollbar_mode; + + enum { + NO_OVERLAP = 0, + OVERLAP, + } page_mode; + + enum { + HD_NONE = 0, + HD_PATH, + HD_SBAR, + HD_BOTH, + } header_mode; + + enum { + FT_NONE = 0, + FT_PAGE, + FT_SBAR, + FT_BOTH, + } footer_mode; + + enum { + PAGE=0, + LINE, + } scroll_mode; + + int autoscroll_speed; + + unsigned char font_name[MAX_PATH]; +#ifdef HAVE_LCD_BITMAP + struct font *font; +#endif + unsigned char file_name[MAX_PATH]; +}; + +/* + * return the preferences + * + * return + * the pointer the preferences + */ +const struct tv_preferences *tv_get_preferences(void); + +/* + * change the preferences + * + * [In] new_prefs + * new preferences + */ +void tv_set_preferences(const struct tv_preferences *new_prefs); + +/* + * copy the preferences + * + * [Out] copy_prefs + * the preferences in copy destination + */ +void tv_copy_preferences(struct tv_preferences *copy_prefs); + +/* + * set the default settings + * + * [Out] p + * the preferences which store the default settings + */ +void tv_set_default_preferences(struct tv_preferences *p); + +/* + * register the function to be executed when the current preferences is changed + * + * [In] listner + * the function to be executed when the current preferences is changed + */ +void tv_add_preferences_change_listner(void (*listner)(const struct tv_preferences *oldp)); + +#endif -- cgit v1.2.3