summaryrefslogtreecommitdiff
path: root/apps/gui/viewport.h
diff options
context:
space:
mode:
Diffstat (limited to 'apps/gui/viewport.h')
-rw-r--r--apps/gui/viewport.h48
1 files changed, 9 insertions, 39 deletions
diff --git a/apps/gui/viewport.h b/apps/gui/viewport.h
index 54424339ca..6cb8d1f574 100644
--- a/apps/gui/viewport.h
+++ b/apps/gui/viewport.h
@@ -31,60 +31,30 @@
31/* return the number of text lines in the vp viewport */ 31/* return the number of text lines in the vp viewport */
32int viewport_get_nb_lines(const struct viewport *vp); 32int viewport_get_nb_lines(const struct viewport *vp);
33 33
34void viewport_set_defaults(struct viewport *vp,
35 const enum screen_type screen);
36
37/* Used to specify which screens the statusbar (SB) should be displayed on.
38 *
39 * The parameter is a bit OR'ed combination of the following (screen is
40 * SCREEN_MAIN or SCREEN_REMOTE from screen_access.h):
41 *
42 * VP_SB_HIDE_ALL means "hide the SB on all screens"
43 * VP_SB_ONSCREEN(screen) means "display the SB on the given screen
44 * as specified by the SB setting for that screen"
45 * VP_SB_IGNORE_SETTING(screen) means "ignore the SB setting for that screen"
46 * VP_SB_ALLSCREENS means "VP_SB_ONSCREEN for all screens"
47 *
48 * In most cases, VP_SB_ALLSCREENS should be used which means display the SB
49 * as specified by the settings.
50 * For the WPS (and other possible exceptions) use VP_SB_IGNORE_SETTING() to
51 * FORCE the statusbar on for the given screen (i.e it will show regardless
52 * of the setting)
53 *
54 * Returns the status before the call. This value can be used to restore the
55 * SB "displaying rules".
56 */
57
58
59#define THEME_STATUSBAR (BIT_N(0)) 34#define THEME_STATUSBAR (BIT_N(0))
60#define THEME_UI_VIEWPORT (BIT_N(1)) 35#define THEME_UI_VIEWPORT (BIT_N(1))
61#define THEME_BUTTONBAR (BIT_N(2)) 36#define THEME_BUTTONBAR (BIT_N(2))
62#define THEME_LANGUAGE (BIT_N(3)) 37#define THEME_LANGUAGE (BIT_N(3))
63#define THEME_ALL (~(0u)) 38#define THEME_ALL (~(0u))
64 39
65#define VP_SB_HIDE_ALL 0
66#define VP_SB_ONSCREEN(screen) BIT_N(screen)
67#define VP_SB_IGNORE_SETTING(screen) BIT_N(4+screen)
68#define VP_SB_ALLSCREENS (VP_SB_ONSCREEN(0)|VP_SB_ONSCREEN(1))
69
70#ifndef __PCTOOL__ 40#ifndef __PCTOOL__
71/* 41/*
72 * Initialize the viewportmanager, which in turns initializes the UI vp and 42 * Initialize the viewportmanager, which in turns initializes the UI vp and
73 * statusbar stuff 43 * statusbar stuff
74 */ 44 */
75void viewportmanager_init(void); 45void viewportmanager_init(void);
76int viewportmanager_get_statusbar(void);
77int viewportmanager_set_statusbar(const int enabled);
78 46
79 47
80/* 48void viewport_set_defaults(struct viewport *vp,
81 * Initializes the given viewport with maximum dimensions minus status- and 49 const enum screen_type screen);
82 * buttonbar
83 */
84void viewport_set_fullscreen(struct viewport *vp, 50void viewport_set_fullscreen(struct viewport *vp,
85 const enum screen_type screen); 51 const enum screen_type screen);
86 52
87#ifdef HAVE_LCD_BITMAP 53#ifdef HAVE_LCD_BITMAP
54void viewportmanager_theme_enable(enum screen_type screen, bool enable,
55 struct viewport *viewport);
56
57void viewportmanager_theme_undo(enum screen_type screen);
88 58
89/* call this when a theme changed */ 59/* call this when a theme changed */
90void viewportmanager_theme_changed(const int); 60void viewportmanager_theme_changed(const int);
@@ -95,9 +65,9 @@ bool viewport_point_within_vp(const struct viewport *vp,
95#endif 65#endif
96 66
97#else /* HAVE_LCD_CHARCELL */ 67#else /* HAVE_LCD_CHARCELL */
98#define viewport_set_current_vp(a)
99#define viewport_get_current_vp() NULL
100#define viewportmanager_theme_changed(a) 68#define viewportmanager_theme_changed(a)
69#define viewportmanager_theme_enable(...)
70#define viewportmanager_theme_undo(...)
101#endif 71#endif
102 72
103#endif /* __PCTOOL__ */ 73#endif /* __PCTOOL__ */