From c0f1c49178b4c205e1c990ea2fb25a417305528c Mon Sep 17 00:00:00 2001 From: Thomas Martitz Date: Sun, 13 Sep 2009 13:40:58 +0000 Subject: Get rid of some of the code duplication from checkwps, it still duplicates a lot though. git-svn-id: svn://svn.rockbox.org/rockbox/trunk@22695 a1c6a512-1295-4272-9138-f99709370657 --- apps/gui/viewport.c | 106 +++++++++++++++++++++++++++------------------------- apps/gui/viewport.h | 44 ++++++++++++---------- 2 files changed, 81 insertions(+), 69 deletions(-) (limited to 'apps/gui') diff --git a/apps/gui/viewport.c b/apps/gui/viewport.c index 06caa2379d..ff3a110936 100644 --- a/apps/gui/viewport.c +++ b/apps/gui/viewport.c @@ -24,18 +24,10 @@ #include "lcd.h" #include "lcd-remote.h" #include "font.h" -#include "sprintf.h" -#include "string.h" -#include "settings.h" -#include "kernel.h" -#include "system.h" -#include "misc.h" #include "viewport.h" -#include "statusbar.h" #include "screen_access.h" -#include "appevents.h" - - +#include "settings.h" +#include "misc.h" /*some short cuts for fg/bg/line selector handling */ #ifdef HAVE_LCD_COLOR @@ -54,6 +46,17 @@ #define BG_FALLBACK LCD_DEFAULT_BG #endif +/* all below isn't needed for pc tools (i.e. checkwps/wps editor) + * only viewport_parse_viewport() is */ +#ifndef __PCTOOL__ +#include "sprintf.h" +#include "string.h" +#include "kernel.h" +#include "system.h" +#include "statusbar.h" +#include "appevents.h" + + static int statusbar_enabled = 0; #ifdef HAVE_LCD_BITMAP @@ -295,12 +298,55 @@ bool viewport_ui_vp_get_state(enum screen_type screen) return ui_vp_info.active[screen]; } +/* + * (re)parse the UI vp from the settings + * - Returns + * 0 if no UI vp is used at all + * else the bit for the screen (1<= vp->x && x < (vp->x + vp->width)); + bool is_y = (y >= vp->y && y < (vp->y + vp->height)); + return (is_x && is_y); +} +#endif /* HAVE_TOUCHSCREEN */ +#endif /* HAVE_LCD_BITMAP */ +#endif /* __PCTOOL__ */ + #ifdef HAVE_LCD_COLOR #define ARG_STRING(_depth) ((_depth) == 2 ? "dddddgg":"dddddcc") #else #define ARG_STRING(_depth) "dddddgg" #endif +#ifdef HAVE_LCD_BITMAP const char* viewport_parse_viewport(struct viewport *vp, enum screen_type screen, const char *bufptr, @@ -386,44 +432,4 @@ const char* viewport_parse_viewport(struct viewport *vp, return ptr; } - -/* - * (re)parse the UI vp from the settings - * - Returns - * 0 if no UI vp is used at all - * else the bit for the screen (1<= vp->x && x < (vp->x + vp->width)); - bool is_y = (y >= vp->y && y < (vp->y + vp->height)); - return (is_x && is_y); -} -#endif /* HAVE_TOUCHSCREEN */ -#endif /* HAVE_LCD_BITMAP */ diff --git a/apps/gui/viewport.h b/apps/gui/viewport.h index d431766ab5..9cabc00468 100644 --- a/apps/gui/viewport.h +++ b/apps/gui/viewport.h @@ -66,6 +66,7 @@ void viewport_set_defaults(struct viewport *vp, enum screen_type screen); #define VP_SB_IGNORE_SETTING(screen) BIT_N(4+screen) #define VP_SB_ALLSCREENS (VP_SB_ONSCREEN(0)|VP_SB_ONSCREEN(1)) +#ifndef __PCTOOL__ /* * Initialize the viewportmanager, which in turns initializes the UI vp and * statusbar stuff @@ -85,25 +86,6 @@ void viewport_set_fullscreen(struct viewport *vp, enum screen_type screen); #ifdef HAVE_LCD_BITMAP -/* - * Parse a viewport definition (vp_def), which looks like: - * - * Screens with depth > 1: - * X|Y|width|height|font|foregorund color|background color - * Screens with depth = 1: - * X|Y|width|height|font - * - * | is a separator and can be specified via the parameter - * - * Returns the pointer to the char after the last character parsed - * if everything went OK or NULL if an error happened (some values - * not specified in the definition) - */ -const char* viewport_parse_viewport(struct viewport *vp, - enum screen_type screen, - const char *vp_def, - const char separator); - /* * Returns a pointer to the current viewport * - That could be the UI vp, or a viewport passed to do_menu() or the like @@ -129,4 +111,28 @@ bool viewport_point_within_vp(const struct viewport *vp, int x, int y); #define viewport_set_current_vp(a) #define viewport_get_current_vp() NULL #endif + +#endif /* __PCTOOL__ */ + +#ifdef HAVE_LCD_BITMAP + +/* + * Parse a viewport definition (vp_def), which looks like: + * + * Screens with depth > 1: + * X|Y|width|height|font|foregorund color|background color + * Screens with depth = 1: + * X|Y|width|height|font + * + * | is a separator and can be specified via the parameter + * + * Returns the pointer to the char after the last character parsed + * if everything went OK or NULL if an error happened (some values + * not specified in the definition) + */ +const char* viewport_parse_viewport(struct viewport *vp, + enum screen_type screen, + const char *vp_def, + const char separator); +#endif /* HAVE_LCD_BITMAP */ #endif /* __VIEWPORT_H__ */ -- cgit v1.2.3