Rev 2703 | Go to most recent revision | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2703 | Rev 9647 | ||
---|---|---|---|
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
1 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
2 | ; ; |
2 | ; ; |
3 | ; Color Slider Control Demonstration ; |
3 | ; Color Slider Control Demonstration ; |
4 | ; ; |
4 | ; ; |
5 | ; Compile with FASM for Menuet ; |
5 | ; Compile with FASM for Kolibri ; |
6 | ; ; |
6 | ; ; |
7 | ; Author: Jason Delozier ; |
7 | ; Author: Jason Delozier ; |
8 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
8 | ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
9 | 9 | ||
10 | use32 |
10 | use32 |
11 | 11 | ||
12 | org 0x0 |
12 | org 0x0 |
13 | 13 | ||
14 | db 'MENUET01' ; 8 byte id |
14 | db 'MENUET01' ; 8 byte id |
15 | dd 0x01 ; header version |
15 | dd 0x01 ; header version |
16 | dd START ; start of code |
16 | dd START ; start of code |
17 | dd I_END ; size of image |
17 | dd I_END ; size of image |
18 | dd 0x1000 ; memory for app |
18 | dd 0x1000 ; memory for app |
19 | dd 0x1000 ; esp |
19 | dd 0x1000 ; esp |
20 | dd 0x0 , 0x0 ; I_Param , I_Icon |
20 | dd 0x0 , 0x0 ; I_Param , I_Icon |
21 | 21 | ||
22 | include 'lang.inc' |
22 | include 'lang.inc' |
23 | include '..\..\..\macros.inc' |
23 | include '..\..\..\macros.inc' |
- | 24 | include '..\..\..\KOSfuncs.inc' |
|
24 | START: ; start of execution |
25 | START: ; start of execution |
25 | 26 | ||
26 | call draw_window ; at first, draw the window |
27 | call draw_window ; at first, draw the window |
27 | 28 | ||
28 | still: |
29 | still: |
29 | call mouse_info |
30 | call mouse_info |
30 | 31 | ||
31 | mcall 23, 2 |
32 | mcall SF_WAIT_EVENT_TIMEOUT, 2 |
32 | 33 | ||
33 | cmp eax,1 ; redraw request ? |
34 | cmp eax,1 ; redraw request ? |
34 | je red |
35 | je red |
35 | cmp eax,2 ; key in buffer ? |
36 | cmp eax,2 ; key in buffer ? |
36 | je key |
37 | je key |
37 | cmp eax,3 ; button in buffer ? |
38 | cmp eax,3 ; button in buffer ? |
38 | je button |
39 | je button |
39 | 40 | ||
40 | jmp still |
41 | jmp still |
41 | 42 | ||
42 | red: ; redraw |
43 | red: ; redraw |
43 | call draw_window |
44 | call draw_window |
44 | jmp still |
45 | jmp still |
45 | 46 | ||
46 | key: ; key |
47 | key: ; key |
47 | mcall 2 ; just read it and ignore |
48 | mcall SF_GET_KEY ; just read it and ignore |
48 | jmp still |
49 | jmp still |
49 | 50 | ||
50 | button: ; button |
51 | button: ; button |
51 | mcall 17 ; get id |
52 | mcall SF_GET_BUTTON ; get id |
52 | 53 | ||
53 | shr eax,8 |
54 | shr eax,8 |
54 | 55 | ||
55 | cmp eax,1 ; button id=1 ? |
56 | cmp eax,1 ; button id=1 ? |
56 | jne noclose |
57 | jne noclose |
57 | mcall -1 ; close this program |
58 | mcall SF_TERMINATE_PROCESS ; close this program |
58 | noclose: |
59 | noclose: |
59 | 60 | ||
60 | 61 | ||
61 | nofind: |
62 | nofind: |
62 | jmp still |
63 | jmp still |
63 | 64 | ||
64 | 65 | ||
65 | ; ********************************************* |
66 | ; ********************************************* |
66 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
67 | ; ******* WINDOW DEFINITIONS AND DRAW ******** |
67 | ; ********************************************* |
68 | ; ********************************************* |
68 | 69 | ||
69 | 70 | ||
70 | draw_window: |
71 | draw_window: |
71 | mcall 12, 1 ; 1, start of draw |
72 | mcall SF_REDRAW, SSF_BEGIN_DRAW |
72 | mcall 0, <100,200>, <100,200>, 0x14ffffff, , title ; DRAW WINDOW |
73 | mcall SF_CREATE_WINDOW, <100,200>, <100,200>, 0x14ffffff, , title |
73 | mcall 12,2 ; end WINDOW redraw |
74 | mcall SF_REDRAW, SSF_END_DRAW |
74 | 75 | ||
75 | call draw_slider_info |
76 | call draw_slider_info |
76 | 77 | ||
77 | xor ecx,ecx |
78 | xor ecx,ecx |
78 | Draw_Controls_Loop: |
79 | Draw_Controls_Loop: |
79 | mov ebp, [App_Controls+ecx] ;get controls data location |
80 | mov ebp, [App_Controls+ecx] ;get controls data location |
80 | or ebp,ebp |
81 | or ebp,ebp |
81 | jz Draw_Controls_Done |
82 | jz Draw_Controls_Done |
82 | call dword [App_Controls+ecx+4] ;call controls draw function |
83 | call dword [App_Controls+ecx+4] ;call controls draw function |
83 | add ecx, 12 |
84 | add ecx, 12 |
84 | jmp Draw_Controls_Loop |
85 | jmp Draw_Controls_Loop |
85 | Draw_Controls_Done: |
86 | Draw_Controls_Done: |
86 | 87 | ||
87 | ret |
88 | ret |
88 | 89 | ||
89 | 90 | ||
90 | ;*********************************************** |
91 | ;*********************************************** |
91 | ;* Mouse Stuff |
92 | ;* Mouse Stuff |
92 | ;*********************************************** |
93 | ;*********************************************** |
93 | mousey dw 0 |
94 | mousey dw 0 |
94 | mousex dw 0 |
95 | mousex dw 0 |
95 | mouseb dd 0 |
96 | mouseb dd 0 |
96 | 97 | ||
97 | mouse_info: |
98 | mouse_info: |
98 | mcall 37, 1 ;get mouse cordinates |
99 | mcall SF_MOUSE_GET, SSF_WINDOW_POSITION |
99 | mov ecx, eax ; |
100 | mov ecx, eax ; |
100 | push ecx ; |
101 | push ecx ; |
101 | mcall 37, 2 ;get mouse buttons |
102 | mcall SF_MOUSE_GET, SSF_BUTTON |
102 | cmp [mouseb], eax ;compare old mouse states to new states |
103 | cmp [mouseb], eax ;compare old mouse states to new states |
103 | jne redraw_mouse_info ; |
104 | jne redraw_mouse_info ; |
104 | cmp [mousey], cx ; |
105 | cmp [mousey], cx ; |
105 | jne redraw_mouse_info ; |
106 | jne redraw_mouse_info ; |
106 | shr ecx, 16 ; |
107 | shr ecx, 16 ; |
107 | cmp [mousex], cx ; |
108 | cmp [mousex], cx ; |
108 | jne redraw_mouse_info ; |
109 | jne redraw_mouse_info ; |
109 | pop ecx ; |
110 | pop ecx ; |
110 | ret ;return if no change in states |
111 | ret ;return if no change in states |
111 | 112 | ||
112 | 113 | ||
113 | redraw_mouse_info: |
114 | redraw_mouse_info: |
114 | pop ecx |
115 | pop ecx |
115 | mov [mouseb], eax ;save new mouse states |
116 | mov [mouseb], eax ;save new mouse states |
116 | mov dword [mousey], ecx |
117 | mov dword [mousey], ecx |
117 | 118 | ||
118 | xor ecx, ecx |
119 | xor ecx, ecx |
119 | Check_Mouse_Over_Controls_Loop: |
120 | Check_Mouse_Over_Controls_Loop: |
120 | mov ebp, [App_Controls+ecx] |
121 | mov ebp, [App_Controls+ecx] |
121 | or ebp,ebp |
122 | or ebp,ebp |
122 | jz Check_Mouse_Over_Controls_Loop_done |
123 | jz Check_Mouse_Over_Controls_Loop_done |
123 | movzx eax,word [ebp+2] |
124 | movzx eax,word [ebp+2] |
124 | cmp ax, [mousex] |
125 | cmp ax, [mousex] |
125 | ja mouse_not_on_control |
126 | ja mouse_not_on_control |
126 | movzx eax,word [ebp+6] |
127 | movzx eax,word [ebp+6] |
127 | cmp ax, [mousey] |
128 | cmp ax, [mousey] |
128 | ja mouse_not_on_control |
129 | ja mouse_not_on_control |
129 | movzx eax,word [ebp] |
130 | movzx eax,word [ebp] |
130 | add ax, [ebp+2] |
131 | add ax, [ebp+2] |
131 | cmp ax, [mousex] |
132 | cmp ax, [mousex] |
132 | jb mouse_not_on_control |
133 | jb mouse_not_on_control |
133 | movzx eax,word [ebp+4] |
134 | movzx eax,word [ebp+4] |
134 | add ax, [ebp+6] |
135 | add ax, [ebp+6] |
135 | cmp ax, [mousey] |
136 | cmp ax, [mousey] |
136 | jb mouse_not_on_control |
137 | jb mouse_not_on_control |
137 | call dword [App_Controls+ecx+8] |
138 | call dword [App_Controls+ecx+8] |
138 | mouse_not_on_control: |
139 | mouse_not_on_control: |
139 | add ecx, 12 |
140 | add ecx, 12 |
140 | jmp Check_Mouse_Over_Controls_Loop |
141 | jmp Check_Mouse_Over_Controls_Loop |
141 | Check_Mouse_Over_Controls_Loop_done: |
142 | Check_Mouse_Over_Controls_Loop_done: |
142 | 143 | ||
143 | ret |
144 | ret |
144 | 145 | ||
145 | 146 | ||
146 | 147 | ||
147 | 148 | ||
148 | ;*********************************************** |
149 | ;*********************************************** |
149 | 150 | ||
150 | 151 | ||
151 | draw_slider_info: |
152 | draw_slider_info: |
152 | ;Repaint value background |
153 | ;Repaint value background |
153 | mcall 13, 144*65536+36, 72*65536+9, 0x00ffffff |
154 | mcall SF_DRAW_RECT, 144*65536+36, 72*65536+9, 0x00ffffff |
154 | ;Draw Color Box |
155 | ;Draw Color Box |
155 | xor edx, edx |
156 | xor edx, edx |
156 | movzx ecx,word [slider_1+12] |
157 | movzx ecx,word [slider_1+12] |
157 | mov dh, cl |
158 | mov dh, cl |
158 | movzx ecx,word [slider_2+12] |
159 | movzx ecx,word [slider_2+12] |
159 | mov dl, cl |
160 | mov dl, cl |
160 | shl edx, 8 |
161 | shl edx, 8 |
161 | movzx ecx,word [slider_3+12] |
162 | movzx ecx,word [slider_3+12] |
162 | mov dl,cl |
163 | mov dl,cl |
163 | mov ebx, 0x00860035 |
164 | mov ebx, 0x00860035 |
164 | mov ecx, 0x00590040 |
165 | mov ecx, 0x00590040 |
165 | mov eax, 13 |
166 | mov eax, SF_DRAW_RECT |
166 | mcall |
167 | mcall |
167 | ;draw current value of slider |
168 | ;draw current value of slider |
168 | mov ecx, edx |
169 | mov ecx, edx |
169 | mov eax, 47 |
170 | mov eax, SF_DRAW_NUMBER |
170 | mov ebx, 0x00060100 |
171 | mov ebx, 0x00060100 |
171 | mov esi, 0 |
172 | mov esi, 0 |
172 | mov edx, 144*65536+72 |
173 | mov edx, 144*65536+72 |
173 | mcall |
174 | mcall |
174 | ret |
175 | ret |
175 | 176 | ||
176 | 177 | ||
177 | ;************************************** |
178 | ;************************************** |
178 | ;* |
179 | ;* |
179 | ;* App Controls |
180 | ;* App Controls |
180 | ;* |
181 | ;* |
181 | ;************************************** |
182 | ;************************************** |
182 | 183 | ||
183 | App_Controls: |
184 | App_Controls: |
184 | dd slider_1 , draw_slider, slider_mouse_over ; |
185 | dd slider_1 , draw_slider, slider_mouse_over ; |
185 | dd slider_2 , draw_slider, slider_mouse_over ; |
186 | dd slider_2 , draw_slider, slider_mouse_over ; |
186 | dd slider_3 , draw_slider, slider_mouse_over ; |
187 | dd slider_3 , draw_slider, slider_mouse_over ; |
187 | dd 0 , 0 ; denotes last control do not delete |
188 | dd 0 , 0 ; denotes last control do not delete |
188 | 189 | ||
189 | ;************************************** |
190 | ;************************************** |
190 | ;* |
191 | ;* |
191 | ;* Slider data |
192 | ;* Slider data |
192 | ;* |
193 | ;* |
193 | ;************************************** |
194 | ;************************************** |
194 | 195 | ||
195 | slider_1: |
196 | slider_1: |
196 | dw 25 ;width +0 |
197 | dw 25 ;width +0 |
197 | dw 10 ;x +2 |
198 | dw 10 ;x +2 |
198 | dw 150 ;height +4 |
199 | dw 150 ;height +4 |
199 | dw 30 ;y +6 |
200 | dw 30 ;y +6 |
200 | dw 0 ;min +8 |
201 | dw 0 ;min +8 |
201 | dw 255 ;max +10 |
202 | dw 255 ;max +10 |
202 | dw 128 ;current +12 |
203 | dw 128 ;current +12 |
203 | dw 1 ;small change +14 |
204 | dw 1 ;small change +14 |
204 | dw 5 ;big change +16 |
205 | dw 5 ;big change +16 |
205 | 206 | ||
206 | slider_2: |
207 | slider_2: |
207 | dw 25 ;width +0 |
208 | dw 25 ;width +0 |
208 | dw 55 ;x +2 |
209 | dw 55 ;x +2 |
209 | dw 150 ;height +4 |
210 | dw 150 ;height +4 |
210 | dw 30 ;y +6 |
211 | dw 30 ;y +6 |
211 | dw 0 ;min +8 |
212 | dw 0 ;min +8 |
212 | dw 255 ;max +10 |
213 | dw 255 ;max +10 |
213 | dw 128 ;current +12 |
214 | dw 128 ;current +12 |
214 | dw 1 ;small change +14 |
215 | dw 1 ;small change +14 |
215 | dw 5 ;big change +16 |
216 | dw 5 ;big change +16 |
216 | 217 | ||
217 | slider_3: |
218 | slider_3: |
218 | dw 25 ;width +0 |
219 | dw 25 ;width +0 |
219 | dw 100 ;x +2 |
220 | dw 100 ;x +2 |
220 | dw 150 ;height +4 |
221 | dw 150 ;height +4 |
221 | dw 30 ;y +6 |
222 | dw 30 ;y +6 |
222 | dw 0 ;min +8 |
223 | dw 0 ;min +8 |
223 | dw 255 ;max +10 |
224 | dw 255 ;max +10 |
224 | dw 128 ;current +12 |
225 | dw 128 ;current +12 |
225 | dw 1 ;small change +14 |
226 | dw 1 ;small change +14 |
226 | dw 5 ;big change +16 |
227 | dw 5 ;big change +16 |
227 | 228 | ||
228 | ;************************************** |
229 | ;************************************** |
229 | ;* |
230 | ;* |
230 | ;* Slider Code |
231 | ;* Slider Code |
231 | ;* |
232 | ;* |
232 | ;************************************** |
233 | ;************************************** |
233 | 234 | ||
234 | box_h dw 10 ;static slider box height |
235 | box_h dw 10 ;static slider box height |
235 | 236 | ||
236 | draw_slider: |
237 | draw_slider: |
237 | push eax |
- | |
238 | push ebx |
- | |
239 | push ecx |
- | |
240 | push edx |
238 | push eax ebx ecx edx |
241 | ;Draw slider background |
239 | ;Draw slider background |
242 | mov eax, 13 ;slider background |
240 | mov eax, SF_DRAW_RECT ;slider background |
243 | mov ebx, [ebp] ;x start/width |
241 | mov ebx, [ebp] ;x start/width |
244 | mov ecx, [ebp+4] ;y start/height |
242 | mov ecx, [ebp+4] ;y start/height |
245 | mov edx, 0x00EBEBEB ;color |
243 | mov edx, 0x00EBEBEB ;color |
246 | mcall ;draw bar |
244 | mcall ;draw bar |
247 | ;Draw line for slide rail |
245 | ;Draw line for slide rail |
248 | mov eax, 38 ;draw vertical slide line |
246 | mov eax, 38 ;draw vertical slide line |
249 | movzx ebx,word [ebp] ;x |
247 | movzx ebx,word [ebp] ;x |
250 | shr ebx, 1 ; |
248 | shr ebx, 1 ; |
251 | add bx,word [ebp+2]; |
249 | add bx,word [ebp+2]; |
252 | push bx ; |
250 | push bx ; |
253 | shl ebx, 16 ; |
251 | shl ebx, 16 ; |
254 | pop bx ; |
252 | pop bx ; |
255 | mov ecx, [ebp+4] ;y start / height |
253 | mov ecx, [ebp+4] ;y start / height |
256 | add ecx, 0x000A0000 ; |
254 | add ecx, 0x000A0000 ; |
257 | add ecx, [ebp+6] ;y start |
255 | add ecx, [ebp+6] ;y start |
258 | sub ecx, 10 ; |
256 | sub ecx, 10 ; |
259 | mov edx, 0x00 ;color |
257 | mov edx, 0x00 ;color |
260 | mcall ; |
258 | mcall ; |
261 | ;Draw slider box |
259 | ;Draw slider box |
262 | movzx eax,word [ebp+4] ;height |
260 | movzx eax,word [ebp+4] ;height |
263 | sub eax, 20 ; |
261 | sub eax, 20 ; |
264 | movzx ebx,word [ebp+10] ;max value |
262 | movzx ebx,word [ebp+10] ;max value |
265 | sub bx,word [ebp+8] ;min value |
263 | sub bx,word [ebp+8] ;min value |
266 | movzx ecx,word [ebp+12] ; |
264 | movzx ecx,word [ebp+12] ; |
267 | call slider_fpu_calc ;EAX = ((EAX/EBX)*ECX) |
265 | call slider_fpu_calc ;EAX = ((EAX/EBX)*ECX) |
268 | mov ebx, [ebp] ;x start / width |
266 | mov ebx, [ebp] ;x start / width |
269 | movzx ecx,word [ebp+4] ;height |
267 | movzx ecx,word [ebp+4] ;height |
270 | add cx, [ebp+6] ;y |
268 | add cx, [ebp+6] ;y |
271 | sub ecx, 10 ; |
269 | sub ecx, 10 ; |
272 | movzx edx, [box_h] ; |
270 | movzx edx, [box_h] ; |
273 | shr edx, 1 ; |
271 | shr edx, 1 ; |
274 | sub ecx, edx ; |
272 | sub ecx, edx ; |
275 | sub ecx, eax ;*slide box y position |
273 | sub ecx, eax ;*slide box y position |
276 | shl ecx, 16 ; |
274 | shl ecx, 16 ; |
277 | mov cx, [box_h] ;height |
275 | mov cx, [box_h] ;height |
278 | mov eax, 13 ;draw bar sys function |
276 | mov eax, SF_DRAW_RECT ;draw bar sys function |
279 | mov edx, 0x00 ;color |
277 | mov edx, 0x00 ;color |
280 | mcall ;draw slider box |
278 | mcall ;draw slider box |
281 | pop edx |
- | |
282 | pop ecx |
- | |
283 | pop ebx |
- | |
284 | pop eax |
279 | pop edx ecx ebx eax |
285 | ret |
280 | ret |
286 | 281 | ||
287 | slider_mouse_over: |
282 | slider_mouse_over: |
288 | push eax |
- | |
289 | push ebx |
- | |
290 | push ecx |
- | |
291 | push edx |
283 | push eax ebx ecx edx |
292 | cmp [mouseb], 1 |
284 | cmp [mouseb], 1 |
293 | jne slider_mouse_over_done |
285 | jne slider_mouse_over_done |
294 | movzx eax,word [ebp+4] |
286 | movzx eax,word [ebp+4] |
295 | add ax, [ebp+6] |
287 | add ax, [ebp+6] |
296 | sub eax, 10 |
288 | sub eax, 10 |
297 | cmp [mousey], ax |
289 | cmp [mousey], ax |
298 | ja slider_mouse_min |
290 | ja slider_mouse_min |
299 | movzx eax,word [ebp+6] |
291 | movzx eax,word [ebp+6] |
300 | add eax, 10 |
292 | add eax, 10 |
301 | cmp [mousey], ax |
293 | cmp [mousey], ax |
302 | jb slider_mouse_max |
294 | jb slider_mouse_max |
303 | ;determine new current value |
295 | ;determine new current value |
304 | movzx eax,word [ebp+10] ;slider max value |
296 | movzx eax,word [ebp+10] ;slider max value |
305 | sub ax,word [ebp+8] ;slider min value |
297 | sub ax,word [ebp+8] ;slider min value |
306 | movzx ebx,word [ebp+4] ;slider height |
298 | movzx ebx,word [ebp+4] ;slider height |
307 | sub ebx,20 ;rail size |
299 | sub ebx,20 ;rail size |
308 | movzx ecx,word [mousey] ;current mouse y pixel |
300 | movzx ecx,word [mousey] ;current mouse y pixel |
309 | sub cx,word [ebp+6] ;minus y start of slider |
301 | sub cx,word [ebp+6] ;minus y start of slider |
310 | sub ecx, 10 ;minus pixels to top of rail |
302 | sub ecx, 10 ;minus pixels to top of rail |
311 | call slider_fpu_calc ;EAX = ((EAX/EBX)*ECX) |
303 | call slider_fpu_calc ;EAX = ((EAX/EBX)*ECX) |
312 | movzx ebx,word [ebp+10] ;slider max |
304 | movzx ebx,word [ebp+10] ;slider max |
313 | sub ebx,eax ;*current calculated position |
305 | sub ebx,eax ;*current calculated position |
314 | jmp slider_mouse_change; |
306 | jmp slider_mouse_change; |
315 | slider_mouse_max: ; |
307 | slider_mouse_max: ; |
316 | movzx ebx,word [ebp+10] ;get maximum value |
308 | movzx ebx,word [ebp+10] ;get maximum value |
317 | jmp slider_mouse_change ; |
309 | jmp slider_mouse_change ; |
318 | slider_mouse_min: ; |
310 | slider_mouse_min: ; |
319 | movzx ebx,word [ebp+8] ;get minimum value |
311 | movzx ebx,word [ebp+8] ;get minimum value |
320 | slider_mouse_change: ; |
312 | slider_mouse_change: ; |
321 | mov [ebp+12],bx ;new slider current position |
313 | mov [ebp+12],bx ;new slider current position |
322 | call draw_slider ; |
314 | call draw_slider ; |
323 | call draw_slider_info ; |
315 | call draw_slider_info ; |
324 | slider_mouse_over_done: ; |
316 | slider_mouse_over_done: ; |
325 | pop edx |
- | |
326 | pop ecx |
- | |
327 | pop ebx |
- | |
328 | pop eax |
317 | pop edx ecx ebx eax |
329 | ret |
318 | ret |
330 | 319 | ||
331 | 320 | ||
332 | temp dd 0 ;temp varibles used in fpu computations |
321 | temp dd 0 ;temp varibles used in fpu computations |
333 | temp2 dd 0 |
322 | temp2 dd 0 |
334 | temp3 dd 0 |
323 | temp3 dd 0 |
335 | 324 | ||
336 | slider_fpu_calc: |
325 | slider_fpu_calc: |
337 | mov [temp], eax |
326 | mov [temp], eax |
338 | mov [temp2], ebx |
327 | mov [temp2], ebx |
339 | mov [temp3], ecx |
328 | mov [temp3], ecx |
340 | finit ;initilize FPU |
329 | finit ;initilize FPU |
341 | fld dword [temp] ;load value |
330 | fld dword [temp] ;load value |
342 | fdiv dword [temp2] ;divide |
331 | fdiv dword [temp2] ;divide |
343 | fmul dword [temp3] ;multiply |
332 | fmul dword [temp3] ;multiply |
344 | fst dword [temp] ;store computed value |
333 | fst dword [temp] ;store computed value |
345 | mov eax, [temp] |
334 | mov eax, [temp] |
346 | ret |
335 | ret |
347 | 336 | ||
348 | ;************************************************** |
337 | ;************************************************** |
349 | ;* End Slider Code |
338 | ;* End Slider Code |
350 | ;************************************************** |
339 | ;************************************************** |
351 | 340 | ||
352 | ; DATA AREA |
341 | ; DATA AREA |
353 | title db 'Color Slider',0 |
342 | title db 'Color Slider',0 |
354 | I_END:100,200>100,200> |
343 | I_END:100,200>100,200> |