summaryrefslogtreecommitdiff
path: root/apps/plugins/lib/simple_viewer.c
diff options
context:
space:
mode:
Diffstat (limited to 'apps/plugins/lib/simple_viewer.c')
-rw-r--r--apps/plugins/lib/simple_viewer.c20
1 files changed, 0 insertions, 20 deletions
diff --git a/apps/plugins/lib/simple_viewer.c b/apps/plugins/lib/simple_viewer.c
index 4c05ee68c5..0b554e054d 100644
--- a/apps/plugins/lib/simple_viewer.c
+++ b/apps/plugins/lib/simple_viewer.c
@@ -27,10 +27,8 @@
27 27
28 28
29struct view_info { 29struct view_info {
30#ifdef HAVE_LCD_BITMAP
31 struct font* pf; 30 struct font* pf;
32 struct viewport scrollbar_vp; /* viewport for scrollbar */ 31 struct viewport scrollbar_vp; /* viewport for scrollbar */
33#endif
34 struct viewport vp; 32 struct viewport vp;
35 const char *title; 33 const char *title;
36 const char *text; /* displayed text */ 34 const char *text; /* displayed text */
@@ -89,15 +87,12 @@ static void calc_line_count(struct view_info *info)
89{ 87{
90 const char *ptr = info->text; 88 const char *ptr = info->text;
91 int i = 0; 89 int i = 0;
92#ifdef HAVE_LCD_BITMAP
93 bool scrollbar = false; 90 bool scrollbar = false;
94#endif
95 91
96 while (*ptr) 92 while (*ptr)
97 { 93 {
98 ptr = get_next_line(ptr, info); 94 ptr = get_next_line(ptr, info);
99 i++; 95 i++;
100#ifdef HAVE_LCD_BITMAP
101 if (!scrollbar && i > info->display_lines) 96 if (!scrollbar && i > info->display_lines)
102 { 97 {
103 ptr = info->text; 98 ptr = info->text;
@@ -111,7 +106,6 @@ static void calc_line_count(struct view_info *info)
111 info->scrollbar_vp.x = info->vp.width; 106 info->scrollbar_vp.x = info->vp.width;
112 scrollbar = true; 107 scrollbar = true;
113 } 108 }
114#endif
115 } 109 }
116 info->line_count = i; 110 info->line_count = i;
117} 111}
@@ -144,12 +138,8 @@ static int init_view(struct view_info *info,
144 const char *title, const char *text) 138 const char *title, const char *text)
145{ 139{
146 rb->viewport_set_defaults(&info->vp, SCREEN_MAIN); 140 rb->viewport_set_defaults(&info->vp, SCREEN_MAIN);
147#ifdef HAVE_LCD_BITMAP
148 info->pf = rb->font_get(FONT_UI); 141 info->pf = rb->font_get(FONT_UI);
149 info->display_lines = info->vp.height / info->pf->height; 142 info->display_lines = info->vp.height / info->pf->height;
150#else
151 info->display_lines = info->vp.height;
152#endif
153 143
154 info->title = title; 144 info->title = title;
155 info->text = text; 145 info->text = text;
@@ -157,7 +147,6 @@ static int init_view(struct view_info *info,
157 info->line = 0; 147 info->line = 0;
158 info->start = 0; 148 info->start = 0;
159 149
160#ifdef HAVE_LCD_BITMAP
161 /* no title for small screens. */ 150 /* no title for small screens. */
162 if (info->display_lines < 4) 151 if (info->display_lines < 4)
163 { 152 {
@@ -169,7 +158,6 @@ static int init_view(struct view_info *info,
169 info->vp.y += info->pf->height; 158 info->vp.y += info->pf->height;
170 info->vp.height -= info->pf->height; 159 info->vp.height -= info->pf->height;
171 } 160 }
172#endif
173 161
174 calc_line_count(info); 162 calc_line_count(info);
175 return 0; 163 return 0;
@@ -177,11 +165,7 @@ static int init_view(struct view_info *info,
177 165
178static void draw_text(struct view_info *info) 166static void draw_text(struct view_info *info)
179{ 167{
180#ifdef HAVE_LCD_BITMAP
181#define OUTPUT_SIZE LCD_WIDTH+1 168#define OUTPUT_SIZE LCD_WIDTH+1
182#else
183#define OUTPUT_SIZE LCD_WIDTH*3+1
184#endif
185 static char output[OUTPUT_SIZE]; 169 static char output[OUTPUT_SIZE];
186 const char *text, *ptr; 170 const char *text, *ptr;
187 int max_show, line; 171 int max_show, line;
@@ -190,14 +174,12 @@ static void draw_text(struct view_info *info)
190 /* clear screen */ 174 /* clear screen */
191 display->clear_display(); 175 display->clear_display();
192 176
193#ifdef HAVE_LCD_BITMAP
194 /* display title. */ 177 /* display title. */
195 if(info->title) 178 if(info->title)
196 { 179 {
197 display->set_viewport(NULL); 180 display->set_viewport(NULL);
198 display->puts(0, 0, info->title); 181 display->puts(0, 0, info->title);
199 } 182 }
200#endif
201 183
202 max_show = MIN(info->line_count - info->line, info->display_lines); 184 max_show = MIN(info->line_count - info->line, info->display_lines);
203 text = info->text + info->start; 185 text = info->text + info->start;
@@ -215,7 +197,6 @@ static void draw_text(struct view_info *info)
215 display->puts(0, line, output); 197 display->puts(0, line, output);
216 text = ptr; 198 text = ptr;
217 } 199 }
218#ifdef HAVE_LCD_BITMAP
219 if (info->line_count > info->display_lines) 200 if (info->line_count > info->display_lines)
220 { 201 {
221 display->set_viewport(&info->scrollbar_vp); 202 display->set_viewport(&info->scrollbar_vp);
@@ -224,7 +205,6 @@ static void draw_text(struct view_info *info)
224 info->line_count, info->line, info->line + max_show, 205 info->line_count, info->line, info->line + max_show,
225 VERTICAL); 206 VERTICAL);
226 } 207 }
227#endif
228 208
229 display->set_viewport(NULL); 209 display->set_viewport(NULL);
230 display->update(); 210 display->update();