diff options
Diffstat (limited to 'apps/plugins/lib/grey_scroll.c')
-rw-r--r-- | apps/plugins/lib/grey_scroll.c | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/apps/plugins/lib/grey_scroll.c b/apps/plugins/lib/grey_scroll.c index 35f73b70c4..78e5725d05 100644 --- a/apps/plugins/lib/grey_scroll.c +++ b/apps/plugins/lib/grey_scroll.c | |||
@@ -28,11 +28,14 @@ | |||
28 | #include "plugin.h" | 28 | #include "plugin.h" |
29 | #include "grey.h" | 29 | #include "grey.h" |
30 | 30 | ||
31 | extern struct viewport _grey_default_vp; | ||
32 | |||
31 | /*** Scrolling ***/ | 33 | /*** Scrolling ***/ |
32 | 34 | ||
33 | /* Scroll left */ | 35 | /* Scroll left */ |
34 | void grey_scroll_left(int count) | 36 | void grey_scroll_left(int count) |
35 | { | 37 | { |
38 | struct viewport *vp = &_grey_default_vp; | ||
36 | unsigned char *data, *data_end; | 39 | unsigned char *data, *data_end; |
37 | int length, blank; | 40 | int length, blank; |
38 | 41 | ||
@@ -45,8 +48,8 @@ void grey_scroll_left(int count) | |||
45 | data = _grey_info.buffer; | 48 | data = _grey_info.buffer; |
46 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); | 49 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); |
47 | length = _grey_info.width - count; | 50 | length = _grey_info.width - count; |
48 | blank = (_grey_info.drawmode & DRMODE_INVERSEVID) ? | 51 | blank = (vp->drawmode & DRMODE_INVERSEVID) ? |
49 | _grey_info.fg_brightness : _grey_info.bg_brightness; | 52 | _GREY_FG_BRIGHTNESS(vp) : _GREY_BG_BRIGHTNESS(vp); |
50 | 53 | ||
51 | do | 54 | do |
52 | { | 55 | { |
@@ -61,6 +64,7 @@ void grey_scroll_left(int count) | |||
61 | /* Scroll right */ | 64 | /* Scroll right */ |
62 | void grey_scroll_right(int count) | 65 | void grey_scroll_right(int count) |
63 | { | 66 | { |
67 | struct viewport *vp = &_grey_default_vp; | ||
64 | unsigned char *data, *data_end; | 68 | unsigned char *data, *data_end; |
65 | int length, blank; | 69 | int length, blank; |
66 | 70 | ||
@@ -73,8 +77,8 @@ void grey_scroll_right(int count) | |||
73 | data = _grey_info.buffer; | 77 | data = _grey_info.buffer; |
74 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); | 78 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); |
75 | length = _grey_info.width - count; | 79 | length = _grey_info.width - count; |
76 | blank = (_grey_info.drawmode & DRMODE_INVERSEVID) ? | 80 | blank = (vp->drawmode & DRMODE_INVERSEVID) ? |
77 | _grey_info.fg_brightness : _grey_info.bg_brightness; | 81 | _GREY_FG_BRIGHTNESS(vp) : _GREY_BG_BRIGHTNESS(vp); |
78 | 82 | ||
79 | do | 83 | do |
80 | { | 84 | { |
@@ -88,6 +92,7 @@ void grey_scroll_right(int count) | |||
88 | /* Scroll up */ | 92 | /* Scroll up */ |
89 | void grey_scroll_up(int count) | 93 | void grey_scroll_up(int count) |
90 | { | 94 | { |
95 | struct viewport *vp = &_grey_default_vp; | ||
91 | long shift, length; | 96 | long shift, length; |
92 | int blank; | 97 | int blank; |
93 | 98 | ||
@@ -99,8 +104,8 @@ void grey_scroll_up(int count) | |||
99 | 104 | ||
100 | shift = _GREY_MULUQ(_grey_info.width, count); | 105 | shift = _GREY_MULUQ(_grey_info.width, count); |
101 | length = _GREY_MULUQ(_grey_info.width, _grey_info.height - count); | 106 | length = _GREY_MULUQ(_grey_info.width, _grey_info.height - count); |
102 | blank = (_grey_info.drawmode & DRMODE_INVERSEVID) ? | 107 | blank = (vp->drawmode & DRMODE_INVERSEVID) ? |
103 | _grey_info.fg_brightness : _grey_info.bg_brightness; | 108 | _GREY_FG_BRIGHTNESS(vp) : _GREY_BG_BRIGHTNESS(vp); |
104 | 109 | ||
105 | rb->memmove(_grey_info.buffer, _grey_info.buffer + shift, | 110 | rb->memmove(_grey_info.buffer, _grey_info.buffer + shift, |
106 | length); | 111 | length); |
@@ -110,6 +115,7 @@ void grey_scroll_up(int count) | |||
110 | /* Scroll down */ | 115 | /* Scroll down */ |
111 | void grey_scroll_down(int count) | 116 | void grey_scroll_down(int count) |
112 | { | 117 | { |
118 | struct viewport *vp = &_grey_default_vp; | ||
113 | long shift, length; | 119 | long shift, length; |
114 | int blank; | 120 | int blank; |
115 | 121 | ||
@@ -121,8 +127,8 @@ void grey_scroll_down(int count) | |||
121 | 127 | ||
122 | shift = _GREY_MULUQ(_grey_info.width, count); | 128 | shift = _GREY_MULUQ(_grey_info.width, count); |
123 | length = _GREY_MULUQ(_grey_info.width, _grey_info.height - count); | 129 | length = _GREY_MULUQ(_grey_info.width, _grey_info.height - count); |
124 | blank = (_grey_info.drawmode & DRMODE_INVERSEVID) ? | 130 | blank = (vp->drawmode & DRMODE_INVERSEVID) ? |
125 | _grey_info.fg_brightness : _grey_info.bg_brightness; | 131 | _GREY_FG_BRIGHTNESS(vp) : _GREY_BG_BRIGHTNESS(vp); |
126 | 132 | ||
127 | rb->memmove(_grey_info.buffer + shift, _grey_info.buffer, | 133 | rb->memmove(_grey_info.buffer + shift, _grey_info.buffer, |
128 | length); | 134 | length); |
@@ -134,6 +140,7 @@ void grey_scroll_down(int count) | |||
134 | /* Scroll left */ | 140 | /* Scroll left */ |
135 | void grey_ub_scroll_left(int count) | 141 | void grey_ub_scroll_left(int count) |
136 | { | 142 | { |
143 | struct viewport *vp = &_grey_default_vp; | ||
137 | unsigned char *data, *data_end; | 144 | unsigned char *data, *data_end; |
138 | int blank, length; | 145 | int blank, length; |
139 | 146 | ||
@@ -147,9 +154,9 @@ void grey_ub_scroll_left(int count) | |||
147 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); | 154 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); |
148 | length = (_grey_info.width - count) << _GREY_BSHIFT; | 155 | length = (_grey_info.width - count) << _GREY_BSHIFT; |
149 | count <<= _GREY_BSHIFT; | 156 | count <<= _GREY_BSHIFT; |
150 | blank = _grey_info.gvalue[(_grey_info.drawmode & DRMODE_INVERSEVID) ? | 157 | blank = _grey_info.gvalue[(vp->drawmode & DRMODE_INVERSEVID) ? |
151 | _grey_info.fg_brightness : | 158 | _GREY_FG_BRIGHTNESS(vp) : |
152 | _grey_info.bg_brightness]; | 159 | _GREY_BG_BRIGHTNESS(vp)]; |
153 | do | 160 | do |
154 | { | 161 | { |
155 | rb->memmove(data, data + count, length); | 162 | rb->memmove(data, data + count, length); |
@@ -167,6 +174,7 @@ void grey_ub_scroll_left(int count) | |||
167 | /* Scroll right */ | 174 | /* Scroll right */ |
168 | void grey_ub_scroll_right(int count) | 175 | void grey_ub_scroll_right(int count) |
169 | { | 176 | { |
177 | struct viewport *vp = &_grey_default_vp; | ||
170 | unsigned char *data, *data_end; | 178 | unsigned char *data, *data_end; |
171 | int blank, length; | 179 | int blank, length; |
172 | 180 | ||
@@ -180,9 +188,9 @@ void grey_ub_scroll_right(int count) | |||
180 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); | 188 | data_end = data + _GREY_MULUQ(_grey_info.width, _grey_info.height); |
181 | length = (_grey_info.width - count) << _GREY_BSHIFT; | 189 | length = (_grey_info.width - count) << _GREY_BSHIFT; |
182 | count <<= _GREY_BSHIFT; | 190 | count <<= _GREY_BSHIFT; |
183 | blank = _grey_info.gvalue[(_grey_info.drawmode & DRMODE_INVERSEVID) ? | 191 | blank = _grey_info.gvalue[(vp->drawmode & DRMODE_INVERSEVID) ? |
184 | _grey_info.fg_brightness : | 192 | _GREY_FG_BRIGHTNESS(vp) : |
185 | _grey_info.bg_brightness]; | 193 | _GREY_BG_BRIGHTNESS(vp)]; |
186 | do | 194 | do |
187 | { | 195 | { |
188 | rb->memmove(data + count, data, length); | 196 | rb->memmove(data + count, data, length); |
@@ -199,6 +207,7 @@ void grey_ub_scroll_right(int count) | |||
199 | /* Scroll up */ | 207 | /* Scroll up */ |
200 | void grey_ub_scroll_up(int count) | 208 | void grey_ub_scroll_up(int count) |
201 | { | 209 | { |
210 | struct viewport *vp = &_grey_default_vp; | ||
202 | unsigned char *dst, *end, *src; | 211 | unsigned char *dst, *end, *src; |
203 | int blank; | 212 | int blank; |
204 | 213 | ||
@@ -210,9 +219,9 @@ void grey_ub_scroll_up(int count) | |||
210 | 219 | ||
211 | dst = _grey_info.values; | 220 | dst = _grey_info.values; |
212 | end = dst + _GREY_MULUQ(_grey_info.height, _grey_info.width); | 221 | end = dst + _GREY_MULUQ(_grey_info.height, _grey_info.width); |
213 | blank = _grey_info.gvalue[(_grey_info.drawmode & DRMODE_INVERSEVID) ? | 222 | blank = _grey_info.gvalue[(vp->drawmode & DRMODE_INVERSEVID) ? |
214 | _grey_info.fg_brightness : | 223 | _GREY_FG_BRIGHTNESS(vp) : |
215 | _grey_info.bg_brightness]; | 224 | _GREY_BG_BRIGHTNESS(vp)]; |
216 | 225 | ||
217 | #if (LCD_PIXELFORMAT == VERTICAL_PACKING) \ | 226 | #if (LCD_PIXELFORMAT == VERTICAL_PACKING) \ |
218 | || (LCD_PIXELFORMAT == VERTICAL_INTERLEAVED) | 227 | || (LCD_PIXELFORMAT == VERTICAL_INTERLEAVED) |
@@ -274,6 +283,7 @@ void grey_ub_scroll_up(int count) | |||
274 | /* Scroll down */ | 283 | /* Scroll down */ |
275 | void grey_ub_scroll_down(int count) | 284 | void grey_ub_scroll_down(int count) |
276 | { | 285 | { |
286 | struct viewport *vp = &_grey_default_vp; | ||
277 | unsigned char *start, *dst; | 287 | unsigned char *start, *dst; |
278 | int blank; | 288 | int blank; |
279 | 289 | ||
@@ -285,9 +295,9 @@ void grey_ub_scroll_down(int count) | |||
285 | 295 | ||
286 | start = _grey_info.values; | 296 | start = _grey_info.values; |
287 | dst = start + _GREY_MULUQ(_grey_info.height, _grey_info.width); | 297 | dst = start + _GREY_MULUQ(_grey_info.height, _grey_info.width); |
288 | blank = _grey_info.gvalue[(_grey_info.drawmode & DRMODE_INVERSEVID) ? | 298 | blank = _grey_info.gvalue[(vp->drawmode & DRMODE_INVERSEVID) ? |
289 | _grey_info.fg_brightness : | 299 | _GREY_FG_BRIGHTNESS(vp) : |
290 | _grey_info.bg_brightness]; | 300 | _GREY_BG_BRIGHTNESS(vp)]; |
291 | 301 | ||
292 | #if (LCD_PIXELFORMAT == VERTICAL_PACKING) \ | 302 | #if (LCD_PIXELFORMAT == VERTICAL_PACKING) \ |
293 | || (LCD_PIXELFORMAT == VERTICAL_INTERLEAVED) | 303 | || (LCD_PIXELFORMAT == VERTICAL_INTERLEAVED) |