Rev 4232 | Go to most recent revision | Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4231 | eAndrew | 1 | use32 |
2 | org 0x0 |
||
3 | ;------------------------------------------------------------------------------- |
||
4 | db "MENUET01" |
||
5 | dd 1, @code, @data, @mem, @stack, 0, 0 |
||
6 | ;------------------------------------------------------------------------------- |
||
7 | include "../../macros.inc" |
||
8 | ;=============================================================================== |
||
9 | @code: |
||
10 | mcall 48, 3, color, 40 |
||
11 | ;------------------------------------------------------------------------------- |
||
12 | main_loop: |
||
13 | mcall 10 |
||
14 | cmp eax, EV_REDRAW |
||
15 | je event_redraw |
||
16 | cmp eax, EV_BUTTON |
||
17 | je event_button |
||
18 | |||
19 | jmp main_loop |
||
20 | ;------------------------------------------------------------------------------- |
||
21 | exit: |
||
22 | mcall -1 |
||
23 | ;------------------------------------------------------------------------------- |
||
24 | event_redraw: |
||
25 | call win.draw |
||
26 | jmp main_loop |
||
27 | ;------------------------------------------------------------------------------- |
||
28 | event_button: |
||
29 | mcall 17 |
||
30 | cmp ah, 0x01 |
||
31 | je exit |
||
32 | cmp ah, 0x10 |
||
33 | je .tabs.walls |
||
34 | cmp ah, 0x11 |
||
35 | je .tabs.skins |
||
36 | cmp ah, 0x12 |
||
37 | je .tabs.docky |
||
38 | cmp ah, 0x13 |
||
39 | je .tabs.panel |
||
40 | |||
41 | jmp main_loop |
||
42 | |||
43 | .tabs.walls: |
||
44 | mov [tabs.index], byte 0 |
||
45 | call win.draw |
||
46 | jmp main_loop |
||
47 | .tabs.skins: |
||
48 | mov [tabs.index], byte 1 |
||
49 | call win.draw |
||
50 | jmp main_loop |
||
51 | .tabs.docky: |
||
52 | mov [tabs.index], byte 2 |
||
53 | call win.draw |
||
54 | jmp main_loop |
||
55 | .tabs.panel: |
||
56 | mov [tabs.index], byte 3 |
||
57 | call win.draw |
||
58 | jmp main_loop |
||
59 | ;------------------------------------------------------------------------------- |
||
60 | win.draw: |
||
61 | mcall 12, 1 |
||
62 | |||
63 | mov edx, [color.work] |
||
64 | or edx, 0x34000000 |
||
65 | mcall 0, <128, 256>, <128, 360>, , , win.title |
||
66 | |||
67 | call tabs.draw |
||
68 | |||
69 | mcall 12, 2 |
||
70 | |||
71 | ret |
||
72 | ;------------------------------------------------------------------------------- |
||
73 | tabs.draw: |
||
74 | mcall 8, < 8, 57>, < 9, 25>, 0x40000010 |
||
75 | mcall , < 65, 57>, , 0x40000011 |
||
76 | mcall , <122, 57>, , 0x40000012 |
||
77 | mcall , <179, 58>, , 0x40000013 |
||
78 | |||
79 | mcall 13, < 9, 228>, , [color.work] |
||
80 | |||
81 | mcall , , < 9, 1>, [color.workE] |
||
82 | mcall , , <34, 1> |
||
83 | mcall , < 8, 1>, <10, 24> |
||
84 | mcall , < 65, 1> |
||
85 | mcall , <122, 1> |
||
86 | mcall , <179, 1> |
||
87 | mcall , <237, 1> |
||
88 | |||
89 | mov edx, [color.workE] |
||
90 | |||
91 | cmp [tabs.index], byte 0 |
||
92 | je .walls |
||
93 | cmp [tabs.index], byte 1 |
||
94 | je .skins |
||
95 | cmp [tabs.index], byte 2 |
||
96 | je .docky |
||
97 | jmp .panel |
||
98 | |||
99 | .walls: |
||
100 | mcall , < 9, 56> |
||
101 | |||
102 | mcall 4, < 22, 18>, [color.textE], tabs.walls_title, 5 |
||
103 | mcall , < 79, 18>, [color.text] , tabs.skins_title |
||
104 | mcall , <136, 18>, , tabs.docky_title |
||
105 | mcall , <193, 18>, , tabs.panel_title |
||
106 | |||
107 | call tabs.walls.draw |
||
108 | |||
109 | ret |
||
110 | .skins: |
||
111 | mcall , < 66, 56> |
||
112 | |||
113 | mcall 4, < 79, 18>, [color.textE], tabs.skins_title, 5 |
||
114 | mcall , < 22, 18>, [color.text] , tabs.walls_title |
||
115 | mcall , <136, 18>, , tabs.docky_title |
||
116 | mcall , <193, 18>, , tabs.panel_title |
||
117 | |||
118 | call tabs.skins.draw |
||
119 | |||
120 | ret |
||
121 | .docky: |
||
122 | mcall , <123, 56> |
||
123 | |||
124 | mcall 4, <136, 18>, [color.textE], tabs.docky_title, 5 |
||
125 | mcall , < 79, 18>, [color.text] , tabs.skins_title |
||
126 | mcall , < 22, 18>, , tabs.walls_title |
||
127 | mcall , <193, 18>, , tabs.panel_title |
||
128 | |||
129 | call tabs.docky.draw |
||
130 | |||
131 | ret |
||
132 | .panel: |
||
133 | mcall , <180, 57> |
||
134 | |||
135 | mcall 4, <193, 18>, [color.textE], tabs.panel_title, 5 |
||
136 | mcall , < 79, 18>, [color.text] , tabs.skins_title |
||
137 | mcall , <136, 18>, , tabs.docky_title |
||
138 | mcall , < 22, 18>, , tabs.walls_title |
||
139 | |||
140 | call tabs.panel.draw |
||
141 | |||
142 | ret |
||
143 | ;------------------------------------------------------------------------------- |
||
144 | tabs.walls.draw: |
||
145 | mcall 8, <20, 50>, < 50, 20>, 0x20, [color.workE] |
||
146 | ret |
||
147 | ;------------------------------------------------------------------------------- |
||
148 | tabs.skins.draw: |
||
149 | mcall 8, <40, 40>, < 60, 30>, 0x30, [color.workE] |
||
150 | mcall , , < 99, 30>, 0x31 |
||
151 | ret |
||
152 | ;------------------------------------------------------------------------------- |
||
153 | tabs.docky.draw: |
||
154 | mcall 8, <50, 10>, < 50, 10>, 0x40, [color.workE] |
||
155 | mcall , , < 70, 10>, 0x41 |
||
156 | mcall , , < 90, 10>, 0x42 |
||
157 | mcall , , <110, 10>, 0x43 |
||
158 | ret |
||
159 | ;------------------------------------------------------------------------------- |
||
160 | tabs.panel.draw: |
||
161 | mcall 8, <70, 20>, <70, 20>, 0x20, [color.workE] |
||
162 | mcall 4, <30, 50>, [color.text], tabs.panel_title |
||
163 | ret |
||
164 | ;=============================================================================== |
||
165 | win.title: |
||
166 | db "Desktop configuration", 0 |
||
167 | |||
168 | tabs.walls_title: |
||
169 | db "Walls" |
||
170 | tabs.skins_title: |
||
171 | db "Skins" |
||
172 | tabs.docky_title: |
||
173 | db "Docky" |
||
174 | tabs.panel_title: |
||
175 | db "Panel" |
||
176 | |||
177 | @data: |
||
178 | ;=============================================================================== |
||
179 | rb 2048 |
||
180 | @stack: |
||
181 | ;------------------------------------------------------------------------------- |
||
182 | tabs.index: |
||
183 | rb 1 |
||
184 | |||
185 | color: |
||
186 | .frame: |
||
187 | rd 5 |
||
188 | .work: |
||
189 | rd 1 |
||
190 | .workE: |
||
191 | rd 1 |
||
192 | .textE: |
||
193 | rd 1 |
||
194 | .text: |
||
195 | rd 2 |
||
196 | |||
197 | @mem:30,>70,>70,>110,>>>>50,>>>40,>>20,>>136,>>193,>180,>193,>>>136,>123,>193,>136,>>>>193,>136,>>>>237,>179,>122,>>10,>>34,>>>179,>122,>>>>128,>128,> |