summaryrefslogtreecommitdiff
path: root/apps/plugins/test_viewports.lua
diff options
context:
space:
mode:
authorMaurus Cuelenaere <mcuelenaere@gmail.com>2009-05-25 14:21:17 +0000
committerMaurus Cuelenaere <mcuelenaere@gmail.com>2009-05-25 14:21:17 +0000
commit06ba3cceec94e8bed4ebd4bb52a949a2fbff50df (patch)
tree16e2eb8505e76aada0535e3ae70a33ea31a69b6b /apps/plugins/test_viewports.lua
parent88cf5b307a4124789a59a1ca1c7fb38e0213b935 (diff)
downloadrockbox-06ba3cceec94e8bed4ebd4bb52a949a2fbff50df.tar.gz
rockbox-06ba3cceec94e8bed4ebd4bb52a949a2fbff50df.zip
Lua: port viewports + add test_viewports.lua
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@21076 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/test_viewports.lua')
-rw-r--r--apps/plugins/test_viewports.lua116
1 files changed, 116 insertions, 0 deletions
diff --git a/apps/plugins/test_viewports.lua b/apps/plugins/test_viewports.lua
new file mode 100644
index 0000000000..5af1ef4fb9
--- /dev/null
+++ b/apps/plugins/test_viewports.lua
@@ -0,0 +1,116 @@
1--[[
2 __________ __ ___.
3 Open \______ \ ____ ____ | | _\_ |__ _______ ___
4 Source | _// _ \_/ ___\| |/ /| __ \ / _ \ \/ /
5 Jukebox | | ( <_> ) \___| < | \_\ ( <_> > < <
6 Firmware |____|_ /\____/ \___ >__|_ \|___ /\____/__/\_ \
7 \/ \/ \/ \/ \/
8 $Id$
9
10 Port of test_viewports.c to Lua
11
12 Copyright (C) 2009 by Maurus Cuelenaere
13
14 This program is free software; you can redistribute it and/or
15 modify it under the terms of the GNU General Public License
16 as published by the Free Software Foundation; either version 2
17 of the License, or (at your option) any later version.
18
19 This software is distributed on an "AS IS" basis, WITHOUT WARRANTY OF ANY
20 KIND, either express or implied.
21
22]]--
23
24-- TODO: outsource this
25rb.DRMODE_SOLID = 3
26rb.LCD_BLACK = rb.lcd_rgbpack(0, 0, 0)
27rb.LCD_WHITE = rb.lcd_rgbpack(255, 255, 255)
28rb.LCD_DEFAULT_FG = rb.LCD_WHITE
29rb.LCD_DEFAULT_BG = rb.LCD_BLACK
30
31BGCOLOR_1 = rb.lcd_rgbpack(255,255,0)
32BGCOLOR_2 = rb.lcd_rgbpack(0,255,0)
33FGCOLOR_1 = rb.lcd_rgbpack(0,0,255)
34
35local vp0 =
36{
37 x = 0,
38 y = 0,
39 width = rb.LCD_WIDTH,
40 height = 20,
41 font = rb.FONT_UI,
42 drawmode = rb.DRMODE_SOLID,
43 fg_pattern = rb.LCD_DEFAULT_FG,
44 bg_pattern = BGCOLOR_1
45}
46
47local vp1 =
48{
49 x = rb.LCD_WIDTH / 10,
50 y = 20,
51 width = rb.LCD_WIDTH / 3,
52 height = rb.LCD_HEIGHT / 2,
53 font = rb.FONT_SYSFIXED,
54 drawmode = rb.DRMODE_SOLID,
55 fg_pattern = rb.LCD_DEFAULT_FG,
56 bg_pattern = rb.LCD_DEFAULT_BG
57};
58
59local vp2 =
60{
61 x = rb.LCD_WIDTH / 2,
62 y = 40,
63 width = rb.LCD_WIDTH / 3,
64 height = (rb.LCD_HEIGHT / 2),
65 font = rb.FONT_UI,
66 drawmode = rb.DRMODE_SOLID,
67 fg_pattern = FGCOLOR_1,
68 bg_pattern = BGCOLOR_2
69};
70
71
72local vp3 =
73{
74 x = rb.LCD_WIDTH / 4,
75 y = (5 * rb.LCD_HEIGHT) / 8,
76 width = rb.LCD_WIDTH / 2,
77 height = (rb.LCD_HEIGHT / 4),
78 font = rb.FONT_SYSFIXED,
79 drawmode = rb.DRMODE_SOLID,
80 fg_pattern = rb.LCD_BLACK,
81 bg_pattern = rb.LCD_WHITE
82};
83
84rb.set_viewport(vp0)
85rb.clear_viewport()
86rb.lcd_puts_scroll(0,0,"Viewport testing plugin - this is a scrolling title")
87
88rb.set_viewport(vp1);
89rb.clear_viewport();
90
91for i = 0, 3 do
92 rb.lcd_puts_scroll(0,i,string.format("Left text, scrolling_line %d",i));
93end
94
95rb.set_viewport(vp2);
96rb.clear_viewport();
97for i = 0, 3 do
98 rb.lcd_puts_scroll(1,i,string.format("Right text, scrolling line %d",i));
99end
100
101local y = -10
102for i = -10, vp2.width + 10, 5 do
103 rb.lcd_drawline(i, y, i, vp2.height - y);
104end
105
106rb.set_viewport(vp3);
107rb.clear_viewport();
108for i = 1, 2 do
109 rb.lcd_puts_scroll(2,i,string.format("Bottom text, a scrolling line %d",i));
110end
111rb.lcd_puts_scroll(4,3,"Short line")
112rb.lcd_update()
113
114rb.button_get(true)
115
116rb.set_viewport() \ No newline at end of file