Rev 3026 | Rev 3091 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3026 | Rev 3088 | ||
---|---|---|---|
Line 1... | Line 1... | ||
1 | ;#___________________________________________________________________________________________________ |
1 | ;#___________________________________________________________________________________________________ |
2 | ;****************************************************************************************************| |
2 | ;****************************************************************************************************| |
3 | ; Program Palitra (c) Sergei Steshin (Akyltist) | |
3 | ; Program Palitra (c) Sergei Steshin (Akyltist) | |
4 | ;----------------------------------------------------------------------------------------------------| |
4 | ;----------------------------------------------------------------------------------------------------| |
- | 5 | ;; Charset:WIN-1251 Font:Courier New Size:9pt | |
|
- | 6 | ;..................................................................................................... |
|
5 | ;; compiler: FASM 1.69.31 | |
7 | ;; compiler: FASM 1.69.31 | |
6 | ;; version: 0.3.0 | |
8 | ;; version: 0.3.0 | |
7 | ;; last update: 08/11/2012 | |
9 | ;; last update: 08/11/2012 | |
8 | ;; e-mail: dr.steshin@gmail.com | |
10 | ;; e-mail: dr.steshin@gmail.com | |
9 | ;..................................................................................................... |
11 | ;..................................................................................................... |
Line 15... | Line 17... | ||
15 | ;; - Ìåëêàÿ êîñìåòèêà. | |
17 | ;; - Ìåëêàÿ êîñìåòèêà. | |
16 | ;; 0.3.0 - Äîáàâëåíî ïåðåêëþ÷åíèå âèäîâ öâåòîâûõ ñõåì (êíîïêà NEXT) | |
18 | ;; 0.3.0 - Äîáàâëåíî ïåðåêëþ÷åíèå âèäîâ öâåòîâûõ ñõåì (êíîïêà NEXT) | |
17 | ;; - Óëó÷øåíû ïîëçóíêè, ïðîèçâîäèòñÿ îáðàáîòêà íàæàòèÿ ðÿäîì ñ ïîëçóíêîì. | |
19 | ;; - Óëó÷øåíû ïîëçóíêè, ïðîèçâîäèòñÿ îáðàáîòêà íàæàòèÿ ðÿäîì ñ ïîëçóíêîì. | |
18 | ;; - ×èñëî ñåòîê â öâåòîâîé ñõåìå óìåíüøåíî ñ 6 äî 4 (êðàòíîñòü 256, èíà÷å äóáëèðîâàíèå öâåòà).| |
20 | ;; - ×èñëî ñåòîê â öâåòîâîé ñõåìå óìåíüøåíî ñ 6 äî 4 (êðàòíîñòü 256, èíà÷å äóáëèðîâàíèå öâåòà).| |
19 | ;; - Ìåëêàÿ êîñìåòèêà. | |
21 | ;; - Ìåëêàÿ êîñìåòèêà. | |
- | 22 | ;; 0.4.0 - Äîáàâëåíî ïåðåêëþ÷åíèå ìåæäó äâóìÿ öâåòàìè | |
|
- | 23 | ;; - Äîáàâëåí ïîëçóíîê ðåãóëèðîâàíèÿ ïðîçðà÷íîñòè (áåç âèçóàëèçàöèè). | |
|
- | 24 | ;; - Äîáàâëåíî âûðàâíèâàíèå çíà÷åíèé rgba ïî öåíòðó, â çàâèñèìîñòè îò äëèííû. | |
|
- | 25 | ;; - Êîñìåòè÷åñêèå ïðàâêè. | |
|
- | 26 | ;; - Íåáîëüøàÿ îïòèìèçàöèÿ. | |
|
20 | ;..................................................................................................... |
27 | ;..................................................................................................... |
21 | ;; All rights reserved. | |
28 | ;; All rights reserved. | |
22 | ;; | |
29 | ;; | |
23 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
30 | ;; Redistribution and use in source and binary forms, with or without modification, are permitted | |
24 | ;; provided that the following conditions are met: | |
31 | ;; provided that the following conditions are met: | |
Line 57... | Line 64... | ||
57 | dd 0x1000 |
64 | dd 0x1000 |
58 | dd 0x0 |
65 | dd 0x0 |
59 | dd 0x0 |
66 | dd 0x0 |
Line 60... | Line 67... | ||
60 | 67 | ||
61 | include '../../../macros.inc' |
- | |
- | 68 | include '../../../macros.inc' |
|
- | 69 | WIN_W equ 271 ; øèðèíà îêíà |
|
- | 70 | WIN_H equ 192 ; âûñîòà îêíà |
|
- | 71 | WIN_X equ 250 ; êîîðäèíàòà õ îêíà |
|
Line 62... | Line 72... | ||
62 | 72 | WIN_Y equ 190 ; êîîðäèíàòà ó îêíà |
|
63 | 73 | ||
64 | START: |
74 | START: |
65 | ;#___________________________________________________________________________________________________ |
75 | ;#___________________________________________________________________________________________________ |
Line 88... | Line 98... | ||
88 | button: |
98 | button: |
89 | mcall 17 ; 17 - ïîëó÷èòü èäåíòèôèêàòîð íàæàòîé êíîïêè |
99 | mcall 17 ; 17 - ïîëó÷èòü èäåíòèôèêàòîð íàæàòîé êíîïêè |
90 | cmp ah, 1 ; åñëè íàæàòà êíîïêà ñ íîìåðîì 1, |
100 | cmp ah, 1 ; åñëè íàæàòà êíîïêà ñ íîìåðîì 1, |
91 | jz bexit ; âûõîäèì |
101 | jz bexit ; âûõîäèì |
92 | ;îáðàáîòêà êíîïêè Next |
102 | ;îáðàáîòêà êíîïêè Next |
93 | cmp ah, 11 ; åñëè íàæàòà êíîïêà NEXT |
103 | cmp ah, 12 ; åñëè íàæàòà êíîïêà NEXT |
94 | jne next_bg ; âûõîäèì |
104 | jne set_bg ; âûõîäèì |
95 | inc [pnext] ; óâåëè÷èâàåì ïðè íàæàòèè íîìåð ïàëèòðû |
105 | inc [pnext] ; óâåëè÷èâàåì ïðè íàæàòèè íîìåð ïàëèòðû |
96 | mov eax,[pnext] |
106 | mov eax,[pnext] ; çàíîñèì çíà÷åíèå â åàõ |
97 | cmp al,6 |
107 | cmp al,6 ; ñðàâíèâàåì ñ çàÿâëåííûì êîëè÷åñòâîì ïàëèòð |
98 | jne next_redraw |
108 | jne next_redraw ; åñëè íå áîëüøå ìàêñèìóìà òî íà âûçîâ îòðèñîâêè |
99 | xor eax,eax |
109 | xor eax,eax ; èíà÷å çàíóëÿåì ïàëèòðó íà default |
100 | mov [pnext],eax |
110 | mov [pnext],eax ; è çàïîìèíàåì ÷òî ñáðîñèëè ïàëèòðó íà default |
101 | next_redraw: |
111 | next_redraw: |
102 | call draw_palitra ; ÐÈÑÓÅÌ ÏÀËÈÒÐÓ |
112 | call draw_palitra ; ÐÈÑÓÅÌ ÏÀËÈÒÐÓ |
103 | ;call draw_result ; ÐÈÑÓÅÌ ÐÅÇÓËÜÒÀÒ |
113 | jmp still ; Óõîäèì íà îæèäàíèå äðóãîãî ñîáûòèÿ |
104 | jmp still |
- | |
105 | - | ||
106 | next_bg: |
114 | set_bg: |
107 | cmp ah, 12 ; åñëè íàæàòà êíîïêà BACKGROUND |
115 | cmp ah, 14 ; åñëè íàæàòà êíîïêà BACKGROUND |
108 | jne next_end ; âûõîäèì |
116 | jne next_end ; âûõîäèì |
109 | mcall 15,4,1 |
117 | mcall 15,4,1 |
110 | mcall 15,1,1,1 |
118 | mcall 15,1,1,1 |
111 | mcall 15,5,color,0,3*1*1 |
119 | mcall 15,5,color,0,3*1*1 |
112 | mcall 15,3 |
120 | mcall 15,3 |
113 | jne next_redraw |
- | |
114 | next_end: |
- | |
115 | cmp ah, 7 |
- | |
116 | jne color_button |
- | |
117 | call mouse_get |
- | |
118 | jmp still |
- | |
119 | color_button: |
- | |
120 | push eax |
- | |
121 | call mouse_local ; ïîëó÷èë ëîêàëüíûå êîîðäèíàòû |
- | |
122 | mov ebx,129 |
- | |
123 | mov ecx,[mouse_y] |
- | |
124 | sub ebx,ecx |
- | |
125 | mov ecx,3 |
- | |
126 | imul ecx,ebx |
- | |
127 | - | ||
128 | ;push ecx |
- | |
129 | - | ||
130 | - | ||
131 | pop eax |
- | |
132 | red_button: |
- | |
133 | cmp ah, 8 |
- | |
134 | jne green_button |
- | |
135 | mov [cred],cl |
- | |
136 | call set_spectr |
- | |
137 | jmp still |
121 | jmp still |
- | 122 | next_end: |
|
- | 123 | cmp ah,13 ; COLOR SWAP |
|
- | 124 | jne color_swap_end |
|
- | 125 | push [color2] |
|
- | 126 | push [color] |
|
- | 127 | pop [color2] |
|
- | 128 | pop [color] |
|
- | 129 | call draw_result |
|
- | 130 | color_swap_end: |
|
- | 131 | cmp ah, 7 ; Ïðîâåðÿåì íàæàòà êíîïêà ñ ID=7 |
|
- | 132 | jne color_button ; Åñëè íå íàæàòà, òî èä¸ì äàëüøå |
|
- | 133 | call mouse_get ; Èíà÷å âêëþ÷àåì îáðàáîò÷èê ìûøè, ÷òîáû ñ÷èòàòü çíà÷åíèå öâåòà ñ ïàëèòðû |
|
- | 134 | jmp still ; È óõîäèì íà îæèäàíèå äðóãîãî ñîáûòèÿ |
|
- | 135 | color_button: ; ÐÀÑ×¨Ò êîîðäèíàò äëÿ ïîëçóíêîâ RGBA |
|
- | 136 | push eax ; çàïîìèíàåì åàõ |
|
- | 137 | call mouse_local ; ïîëó÷àåì ëîêàëüíûå êîîðäèíàòû |
|
- | 138 | mov ebx,137 ; íèæíÿÿ ãðàíèöà ïîëçóíêà ïî Ó |
|
- | 139 | mov ecx,[mouse_y] ; çàíèñèì â åñõ çíà÷åíèå êóðñîðà ïî Ó |
|
- | 140 | sub ebx,ecx ; íàõîäèì ðàçíîñòü (ò.å. êóäà ñìåùàåòñÿ ïîëçóíîê) |
|
- | 141 | mov ecx,3 ; çàíîñèì â åñõ öèôðó 3 (256/3=85, ãäå 85-âûñîòà ïîëçóíêîâ) |
|
- | 142 | imul ecx,ebx ; íàõîäèì èñòèííûé ïàðàìåòð öâåòà ñ ó÷¸òîì ìàñøòàáà ïîëçóíêà---+ |
|
- | 143 | pop eax ; âîññòàíàâëèâàåì åàõ : |
|
- | 144 | ;red_button: ; Êðàñíûé Òðåêáàð : |
|
- | 145 | cmp ah, 8 ; ID=8 : |
|
- | 146 | jne green_button ; åñëè íåò, òî ïðîâåðÿåì çåë¸íûé òðåêáàð : |
|
- | 147 | mov [cred],cl ; èíà÷å ïðèñâàèâàåì çíà÷åíèå, êðàñíîìó öâåòó ñïåêòðà <------+ |
|
- | 148 | call set_spectr ; óñòàíàâëèâàåì ñïåêòð |
|
- | 149 | jmp still ; Óõîäèì íà îæèäàíèå äðóãîãî ñîáûòèÿ |
|
138 | green_button: |
150 | green_button: |
139 | cmp ah, 9 |
151 | cmp ah, 9 |
140 | jne blue_button |
152 | jne blue_button |
141 | mov [cgreen],cl |
153 | mov [cgreen],cl |
142 | call set_spectr |
154 | call set_spectr |
143 | jmp still |
155 | jmp still ; Óõîäèì íà îæèäàíèå äðóãîãî ñîáûòèÿ |
144 | blue_button: |
156 | blue_button: |
145 | cmp ah, 10 |
157 | cmp ah, 10 |
146 | jne still |
158 | jne alpha_button |
147 | mov [cblue],cl |
159 | mov [cblue],cl |
148 | call set_spectr |
160 | call set_spectr |
- | 161 | jmp still ; Óõîäèì íà îæèäàíèå äðóãîãî ñîáûòèÿ |
|
- | 162 | alpha_button: |
|
- | 163 | cmp ah, 11 |
|
149 | jmp still |
164 | jne still |
- | 165 | mov [calpha],cl |
|
- | 166 | call set_spectr |
|
- | 167 | jmp still ; Óõîäèì íà îæèäàíèå äðóãîãî ñîáûòèÿ |
|
150 | bexit: |
168 | bexit: |
151 | mcall -1 ; èíà÷å êîíåö ïðîãðàììû |
169 | mcall -1 ; èíà÷å êîíåö ïðîãðàììû |
152 | ;end_button |
170 | ;end_button |
Line 153... | Line 171... | ||
153 | 171 | ||
Line 170... | Line 188... | ||
170 | mov ebx,4 ; Ïîäôóíêöèÿ 4 - âîçâðàùàåò eax = âûñîòà ñêèíà. |
188 | mov ebx,4 ; Ïîäôóíêöèÿ 4 - âîçâðàùàåò eax = âûñîòà ñêèíà. |
171 | int 0x40 ; Ïðåðûâàíèå |
189 | int 0x40 ; Ïðåðûâàíèå |
172 | mov ecx,eax ; Çàïîìèíàåì âûñîòó ñêèíà |
190 | mov ecx,eax ; Çàïîìèíàåì âûñîòó ñêèíà |
Line 173... | Line 191... | ||
173 | 191 | ||
174 | xor eax,eax ; Î÷èùàåì eax (mov eax,0) (Ôóíêöèÿ 0) |
192 | xor eax,eax ; Î÷èùàåì eax (mov eax,0) (Ôóíêöèÿ 0) |
175 | mov ebx,200 shl 16+250 ; [êîîðäèíàòà ïî îñè x]*65536 + [ðàçìåð ïî îñè x] |
193 | mov ebx,WIN_X shl 16+WIN_W ; [êîîðäèíàòà ïî îñè x]*65536 + [ðàçìåð ïî îñè x] |
176 | add ecx,200 shl 16+195 ; Âûñîòà ñêèíà + [êîîðäèíàòà ïî y]*65536 + [ðàçìåð ïî y] (168 äëÿ âåðñèè 0.2) |
194 | add ecx,WIN_Y shl 16+WIN_H ; Âûñîòà ñêèíà + [êîîðäèíàòà ïî y]*65536 + [ðàçìåð ïî y] (168 äëÿ âåðñèè 0.2) |
177 | mov edx,[sc.work] ; Âèäèìî ñòèëü îêíà ïî äåôîëòó |
195 | mov edx,[sc.work] ; Âèäèìî ñòèëü îêíà ïî äåôîëòó |
178 | or edx,0x34000000 ; Èëè îêíî ñî ñêèíîì ôèêñèðîâàííûõ ðàçìåðîâ |
196 | or edx,0x34000000 ; Èëè îêíî ñî ñêèíîì ôèêñèðîâàííûõ ðàçìåðîâ |
179 | mov edi,title ; Çàãîëîâîê îêíà |
197 | mov edi,title ; Çàãîëîâîê îêíà |
Line 180... | Line 198... | ||
180 | int 0x40 ; Ïðåðûâàíèå |
198 | int 0x40 ; Ïðåðûâàíèå |
181 | 199 | ||
Line 182... | Line 200... | ||
182 | call draw_palitra ; ÐÈÑÓÅÌ ÏÀËÈÒÐÓ |
200 | call draw_palitra ; ÐÈÑÓÅÌ ÏÀËÈÒÐÓ |
183 | call draw_result ; ÐÈÑÓÅÌ ÐÅÇÓËÜÒÀÒ |
201 | call draw_result ; ÐÈÑÓÅÌ ÐÅÇÓËÜÒÀÒ |
184 | 202 | ||
185 | mov eax,8 ; Ôóíêöèÿ 8 - îïðåäåëèòü/óäàëèòü êíîïêó |
203 | mov eax,8 ; Ôóíêöèÿ 8 - îïðåäåëèòü/óäàëèòü êíîïêó |
186 | mov ebx,89 shl 16+147 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
204 | mov ebx,110 shl 16+147 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
Line 187... | Line 205... | ||
187 | mov ecx,9 shl 16+147 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
205 | mov ecx,9 shl 16+147 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
188 | mov edx,0x60000007 ; Íà÷àëüíîå ID êíîïîê - 0xXYnnnnnn |
206 | mov edx,0x60000007 ; Íà÷àëüíîå ID êíîïîê - 0xXYnnnnnn |
189 | int 0x40 |
207 | int 0x40 |
190 | 208 | ||
191 | mov ebx,9 shl 16+12 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
209 | mov ebx,13 shl 16+12 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
192 | mov edx,0x60000008 ; ID = 8 |
210 | mov edx,0x60000008 ; ID = 8 |
193 | mov ecx,45 shl 16+85 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
211 | mov ecx,51 shl 16+85 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
194 | int 0x40 ; Ðèñóåì íåâèäèìóþ êíîïêó ïîä ñëàéäåðîì red |
212 | int 0x40 ; Ðèñóåì íåâèäèìóþ êíîïêó ïîä ñëàéäåðîì red |
195 | add ebx,26 shl 16 ; Äîáàâëÿåì |
213 | add ebx,23 shl 16 ; Äîáàâëÿåì |
196 | inc edx ; ID = 9 |
214 | inc edx ; ID = 9 |
- | 215 | int 0x40 ; Ðèñóåì íåâèäèìóþ êíîïêó ïîä ñëàéäåðîì green |
|
- | 216 | add ebx,23 shl 16 ; Äîáàâëÿåì |
|
- | 217 | inc edx ; ID = 10 |
|
- | 218 | int 0x40 ; Ðèñóåì íåâèäèìóþ êíîïêó ïîä ñëàéäåðîì blue |
|
- | 219 | add ebx,23 shl 16 ; Äîáàâëÿåì |
|
- | 220 | inc edx ; ID = 11 |
|
- | 221 | int 0x40 ; Ðèñóåì íåâèäèìóþ êíîïêó ïîä ñëàéäåðîì alpha |
|
- | 222 | ||
- | 223 | mov eax,8 ; Ôóíêöèÿ 8 - îïðåäåëèòü/óäàëèòü êíîïêó (ÑÌÅÍÀ ÖÂÅÒÀ) |
|
Line 197... | Line 224... | ||
197 | int 0x40 ; Ðèñóåì íåâèäèìóþ êíîïêó ïîä ñëàéäåðîì green |
224 | mov ebx,11 shl 16+20 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
198 | add ebx,26 shl 16 ; Äîáàâëÿåì |
225 | mov ecx,12 shl 16+20 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
199 | inc edx ; ID = 10 |
226 | mov edx,0x6000000D ; ID = 13 |
Line 207... | Line 234... | ||
207 | ; Îòðèñîâêà íèæíåé ïàíåëè |
234 | ; Îòðèñîâêà íèæíåé ïàíåëè |
208 | ;................................................................................................. |
235 | ;................................................................................................. |
209 | mov eax,8 ; Ôóíêöèÿ 8 - îïðåäåëèòü/óäàëèòü êíîïêó |
236 | mov eax,8 ; Ôóíêöèÿ 8 - îïðåäåëèòü/óäàëèòü êíîïêó |
210 | mov ebx,4 shl 16+64 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
237 | mov ebx,4 shl 16+64 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
211 | mov ecx,169 shl 16+16 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
238 | mov ecx,169 shl 16+16 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
212 | mov edx,11 ; ID = 11 |
239 | mov edx,12 ; ID = 12 |
213 | mov esi,[sc.work_button] ; öâåò |
240 | mov esi,[sc.work_button] ; öâåò |
214 | int 0x40 |
241 | int 0x40 |
Line 215... | Line 242... | ||
215 | 242 | ||
216 | mov ebx,80 shl 16+102 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
243 | mov ebx,80 shl 16+102 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
217 | mov edx,12 ; ID = 11 |
244 | mov edx,14 ; BACKGROUND button |
Line 218... | Line 245... | ||
218 | int 0x40 |
245 | int 0x40 |
219 | 246 | ||
Line 228... | Line 255... | ||
228 | ;mov ebx,247 shl 16+64 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
255 | ;mov ebx,247 shl 16+64 ; Íà÷àëüíûå êîîðäèíàòû ïî õ [ê-òà x]*65536 + [ðàçìåð] |
229 | ;mov edx,12 ; ID = 12 |
256 | ;mov edx,12 ; ID = 12 |
230 | ;int 0x40 |
257 | ;int 0x40 |
Line 231... | Line 258... | ||
231 | 258 | ||
232 | mov eax,38 ; Ôóíêöèÿ 38 - íàðèñîâàòü îòðåçîê. |
259 | mov eax,38 ; Ôóíêöèÿ 38 - íàðèñîâàòü îòðåçîê. |
233 | mov ebx,4 shl 16+236 ;[êîîðäèíàòà íà÷àëà ïî îñè x]*65536 + [êîîðäèíàòà êîíöà ïî îñè x] |
260 | mov ebx,4 shl 16+257 ;[êîîðäèíàòà íà÷àëà ïî îñè x]*65536 + [êîîðäèíàòà êîíöà ïî îñè x] |
234 | mov ecx,163 shl 16+163 ;[êîîðäèíàòà íà÷àëà ïî îñè y]*65536 + [êîîðäèíàòà êîíöà ïî îñè y] |
261 | mov ecx,163 shl 16+163 ;[êîîðäèíàòà íà÷àëà ïî îñè y]*65536 + [êîîðäèíàòà êîíöà ïî îñè y] |
235 | mov edx,0x00666666 ;0x00RRGGBB - öâåò |
262 | mov edx,0x00666666 ;0x00RRGGBB - öâåò |
Line 236... | Line 263... | ||
236 | int 0x40 |
263 | int 0x40 |
Line 333... | Line 360... | ||
333 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
360 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
334 | mov edx,0x222222 ; öâåò |
361 | mov edx,0x222222 ; öâåò |
335 | mov ecx,9 shl 16+73 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
362 | mov ecx,9 shl 16+73 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
336 | mov esi,2 ; Ñ÷åò÷èê ëèíèé ïîäëîæåê |
363 | mov esi,2 ; Ñ÷åò÷èê ëèíèé ïîäëîæåê |
337 | re_draw: |
364 | re_draw: |
338 | mov ebx,89 shl 16+73 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
365 | mov ebx,110 shl 16+73 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
339 | mov edi,2 ; Ñ÷åò÷èê êîëè÷åñòâà ïîäëîæåê |
366 | mov edi,2 ; Ñ÷åò÷èê êîëè÷åñòâà ïîäëîæåê |
340 | for_fon_loop: |
367 | for_fon_loop: |
341 | int 0x40 ; Ïðåðûâàíèå |
368 | int 0x40 ; Ïðåðûâàíèå |
342 | add ebx,75 shl 16 ; Ñìåùàåì ïîëîæåíèå ëèíèè ïî õ |
369 | add ebx,75 shl 16 ; Ñìåùàåì ïîëîæåíèå ëèíèè ïî õ |
343 | dec edi ; Óìåíüøàåì ñ÷åò÷èê êíîïîê |
370 | dec edi ; Óìåíüøàåì ñ÷åò÷èê êíîïîê |
Line 352... | Line 379... | ||
352 | ; Îòðèñîâêà êíîïîê ïî öèêëó |
379 | ; Îòðèñîâêà êíîïîê ïî öèêëó |
353 | ;................................................................................................. |
380 | ;................................................................................................. |
354 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
381 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
355 | mov edx,0x0FFFFFFF ; öâåò |
382 | mov edx,0x0FFFFFFF ; öâåò |
356 | mov esi,4 ; Ñ÷åò÷èê êîëè÷åñòâà àáçàöåâ (#4,8) |
383 | mov esi,4 ; Ñ÷åò÷èê êîëè÷åñòâà àáçàöåâ (#4,8) |
357 | mov ebx,78 shl 16+8 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
384 | mov ebx,99 shl 16+8 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
358 | for_abz: |
385 | for_abz: |
359 | ;;push esi ; Ñîõðàíÿåì çíà÷åíèå ñ÷åò÷èêà ëèíèé â ñòåê |
386 | ;;push esi ; Ñîõðàíÿåì çíà÷åíèå ñ÷åò÷èêà ëèíèé â ñòåê |
360 | cmp esi,2 |
387 | cmp esi,2 |
361 | jne x2_line |
388 | jne x2_line |
362 | mov ebx,78 shl 16+8 |
389 | mov ebx,99 shl 16+8 |
363 | x2_line: |
390 | x2_line: |
364 | add ebx,3 shl 16 ; Ñìåùàåì ïîëîæåíèå ëèíèè ïî x |
391 | add ebx,3 shl 16 ; Ñìåùàåì ïîëîæåíèå ëèíèè ïî x |
365 | mov edi,8 ; Ñ÷åò÷èê êîëè÷åñòâà êíîïîê â ñòðîêå |
392 | mov edi,8 ; Ñ÷åò÷èê êîëè÷åñòâà êíîïîê â ñòðîêå |
366 | for_stolbik: |
393 | for_stolbik: |
367 | push edi ; Ñîõðàíÿåì çíà÷åíèå ñ÷åò÷èêà ëèíèé â ñòåê |
394 | push edi ; Ñîõðàíÿåì çíà÷åíèå ñ÷åò÷èêà ëèíèé â ñòåê |
Line 477... | Line 504... | ||
477 | ret ; Âîçâðàùàåì óïðàâëåíèå |
504 | ret ; Âîçâðàùàåì óïðàâëåíèå |
478 | ;end_sub_blue----------------------------------------------------------------------------------------- |
505 | ;end_sub_blue----------------------------------------------------------------------------------------- |
Line 479... | Line 506... | ||
479 | 506 | ||
480 | draw_result: |
507 | draw_result: |
- | 508 | ;................................................................................................. |
|
- | 509 | ; Áîëüøàÿ ðàìêà âûâîäà ðåçóëüòàòà |
|
- | 510 | ;................................................................................................. |
|
- | 511 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
|
- | 512 | mov edx,0x00666666 ; öâåò-îáâîäêè |
|
- | 513 | mov ebx,4 shl 16+98 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
|
- | 514 | mov ecx,9 shl 16+148 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
|
- | 515 | int 0x40 |
|
- | 516 | mov edx,0x00F3F3F3 ; öâåò-ôîíà |
|
- | 517 | mov ebx,5 shl 16+96 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
|
- | 518 | mov ecx,10 shl 16+146 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
|
- | 519 | int 0x40 |
|
- | 520 | ||
481 | ;................................................................................................. |
521 | ;................................................................................................. |
482 | ; Îòðèñîâêà ðåçóëüòàòà öâåòà â hex |
522 | ; Îòðèñîâêà ðåçóëüòàòà öâåòà â hex color2 |
483 | ;................................................................................................. |
523 | ;................................................................................................. |
- | 524 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
|
- | 525 | ; color 2 - draw fringle |
|
- | 526 | mov edx,0x222222 ; öâåò-îáâîäêè |
|
- | 527 | mov ebx,16 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
|
- | 528 | mov ecx,16 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
|
- | 529 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
|
- | 530 | ; color 2 - draw color |
|
- | 531 | mov edx,[color2] ; öâåò |
|
- | 532 | mov ebx,17 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
|
- | 533 | mov ecx,17 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
|
- | 534 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
|
484 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
535 | ; color 1 - draw fringle |
485 | mov edx,0x222222 ; öâåò-îáâîäêè |
536 | mov edx,0x222222 ; öâåò-îáâîäêè |
486 | mov ebx,4 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
537 | mov ebx,11 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
487 | mov ecx,9 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
538 | mov ecx,12 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
- | 539 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
|
488 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
540 | ; value - draw fringle |
- | 541 | mov ebx,34 shl 16+62 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
|
489 | mov ebx,23 shl 16+62 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
542 | mov ecx,16 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
Line -... | Line 543... | ||
- | 543 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
|
490 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
544 | |
491 | 545 | ; color 2 - draw color |
|
492 | mov edx,[color] ; öâåò |
546 | mov edx,[color] ; öâåò |
493 | mov ebx,5 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
547 | mov ebx,12 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | 548 | mov ecx,13 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
|
494 | mov ecx,10 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
549 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
495 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
550 | ; value - draw background |
- | 551 | mov edx,0xFFFFFF ; öâåò-ôîíà |
|
496 | mov edx,0xFFFFFF ; öâåò-ôîíà |
552 | mov ebx,35 shl 16+60 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
Line 497... | Line 553... | ||
497 | mov ebx,24 shl 16+60 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
553 | mov ecx,17 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
498 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
554 | int 0x40 ; Ïðåðûâàíèå (îñ ðèñóåò ïðÿìîóãîëüíèê) |
499 | 555 | ||
500 | mov eax,47 ; Ôóíêöèÿ 47 - âûâîä ÷èñëà â îêíî |
556 | mov eax,47 ; Ôóíêöèÿ 47 - âûâîä ÷èñëà â îêíî |
501 | mov ecx,[color] ; ÷èñëî (ïðè bl=0) èëè óêàçàòåëü (ïðè bl=1) |
557 | mov ecx,[color] ; ÷èñëî (ïðè bl=0) èëè óêàçàòåëü (ïðè bl=1) |
502 | mov esi,0x0 ; 0xX0RRGGBB |
558 | mov esi,0x0 ; 0xX0RRGGBB |
Line 503... | Line 559... | ||
503 | mov ebx,256+8 shl 16 ; ïàðàìåòðû ïðåîáðàçîâàíèÿ ÷èñëà â òåêñò (HEX) |
559 | mov ebx,256+8 shl 16 ; ïàðàìåòðû ïðåîáðàçîâàíèÿ ÷èñëà â òåêñò (HEX) |
504 | mov edx,34 shl 16+13 ; [êîîðäèíàòà ïî îñè x]*65536 + [êîîðäèíàòà ïî îñè y] |
560 | mov edx,45 shl 16+20 ; [êîîðäèíàòà ïî îñè x]*65536 + [êîîðäèíàòà ïî îñè y] |
505 | int 0x40 ; Ïðåðûâàíèå - âûâîäèì ðåçóëüòàò â îêíî (HEX) |
561 | int 0x40 ; Ïðåðûâàíèå - âûâîäèì ðåçóëüòàò â îêíî (HEX) |
506 | 562 | ||
507 | mov eax,4 ; ôóíêöèÿ 4: íàïèñàòü òåêñò â îêíå |
563 | mov eax,4 ; ôóíêöèÿ 4: íàïèñàòü òåêñò â îêíå |
508 | mov ebx,27*65536+13 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
564 | mov ebx,38*65536+20 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
Line 509... | Line 565... | ||
509 | mov ecx,0x0 ; öâåò òåêñòà RRGGBB |
565 | mov ecx,0x0 ; öâåò òåêñòà RRGGBB |
510 | mov edx,hex ; ðèñóåì '#' |
566 | mov edx,hex ; ðèñóåì '#' |
511 | mov esi,1 ; äëèíà òåêñòà â áàéòàõ |
567 | mov esi,1 ; äëèíà òåêñòà â áàéòàõ |
512 | int 0x40 |
568 | int 0x40 |
513 | - | ||
514 | ;................................................................................................. |
- | |
515 | ; Îòðèñîâêà ïîëåé äëÿ r g b çíà÷åíèé |
- | |
516 | ;................................................................................................. |
- | |
517 | call get_spectr |
- | |
518 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê Leency{ |
- | |
519 | mov edx,0x222222 ; öâåò-îáâîäêè |
- | |
520 | mov ebx,4 shl 16+24 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | |
521 | mov ecx,142 shl 16+15 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
- | |
522 | int 0x40 |
- | |
523 | mov ebx,33 shl 16+24 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | |
524 | int 0x40 |
- | |
525 | mov ebx,62 shl 16+24 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | |
526 | int 0x40 |
- | |
527 | mov edx,0xFFFFFF ; öâåò-îáâîäêè |
- | |
528 | mov ebx,5 shl 16+22 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | |
529 | mov ecx,143 shl 16+13 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
- | |
Line 530... | Line -... | ||
530 | int 0x40 |
- | |
531 | mov ebx,34 shl 16+22 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | |
532 | int 0x40 |
- | |
533 | mov ebx,63 shl 16+22 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
569 | |
534 | int 0x40 |
570 | ;................................................................................................. |
535 | 571 | ; Îòðèñîâêà r g b çíà÷åíèé |
|
Line 536... | Line 572... | ||
536 | ;................................................................................................. |
572 | ;................................................................................................. |
537 | ; Îòðèñîâêà r g b çíà÷åíèé |
573 | call get_spectr |
538 | ;................................................................................................. |
574 | |
Line 539... | Line 575... | ||
539 | movzx eax,[cred] ; êðàñíûé |
575 | movzx eax,[cred] ; êðàñíûé |
540 | mov ebx,7*65536+146 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
576 | mov ebx,9*65536+142 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
541 | call draw_value ; âûâîäèì ðåçóëüòàò |
577 | call draw_value ; âûâîäèì ðåçóëüòàò |
Line 542... | Line -... | ||
542 | - | ||
543 | movzx eax,[cgreen] ; çåëåíûé |
- | |
544 | mov ebx,36*65536+146 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
- | |
545 | call draw_value ; âûâîäèì ðåçóëüòàò |
- | |
546 | 578 | ||
547 | movzx eax,[cblue] ; ñèíèé |
- | |
548 | mov ebx,65*65536+146 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
- | |
549 | call draw_value ; âûâîäèì ðåçóëüòàò |
- | |
550 | - | ||
551 | ;................................................................................................. |
- | |
552 | ; Îáíóëÿåì ôîí |
- | |
553 | ;................................................................................................. |
- | |
554 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
- | |
555 | mov edx,[sc.work] ; öâåò-îáâîäêè |
- | |
556 | mov ebx,8 shl 16+66 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
- | |
557 | mov ecx,40 shl 16+87 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
- | |
558 | int 0x40 |
- | |
559 | - | ||
560 | ; mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
- | |
561 | ; mov edx,0x222222 ; öâåò-îáâîäêè |
579 | movzx eax,[cgreen] ; çåëåíûé |
562 | ; mov ebx,4 shl 16+24 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
580 | mov ebx,32*65536+142 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
563 | ; mov ecx,30 shl 16+105 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
- | |
564 | ; int 0x40 |
- | |
565 | ; add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
- | |
566 | ; int 0x40 |
- | |
567 | ; add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
- | |
568 | ; int 0x40 |
- | |
569 | - | ||
Line 570... | Line 581... | ||
570 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
581 | call draw_value ; âûâîäèì ðåçóëüòàò |
571 | mov edx,[sc.work] ; öâåò-îáâîäêè |
582 | |
572 | mov ebx,5 shl 16+22 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
583 | movzx eax,[cblue] ; ñèíèé |
573 | mov ecx,31 shl 16+103 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
584 | mov ebx,55*65536+142 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
574 | int 0x40 |
585 | call draw_value ; âûâîäèì ðåçóëüòàò |
575 | add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
586 | |
576 | int 0x40 |
587 | movzx eax,[calpha] ; àëüôà |
577 | add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
588 | mov ebx,78*65536+142 ; [x íà÷àëüíûé] *65536 + [y íà÷àëüíûé] |
578 | int 0x40 |
589 | call draw_value ; âûâîäèì ðåçóëüòàò |
579 | 590 | ||
580 | ;................................................................................................. |
591 | ;................................................................................................. |
581 | ; Âûâîäèì áóêâû r g b |
592 | ; Âûâîäèì áóêâû r g b a |
582 | ;................................................................................................. |
593 | ;................................................................................................. |
583 | mov eax,4 ; 4 - âûâåñòè ñòðîêó òåêñòà â îêíî |
594 | mov eax,4 ; 4 - âûâåñòè ñòðîêó òåêñòà â îêíî |
Line 584... | Line 595... | ||
584 | mov ebx,12 shl 16+34 ; [êîîðäèíàòà ïî îñè x]*65536 + [êîîðäèíàòà ïî îñè y] |
595 | mov ebx,16 shl 16+40 ; [êîîðäèíàòà ïî îñè x]*65536 + [êîîðäèíàòà ïî îñè y] |
585 | mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB çàäàþò öâåò òåêñòà) |
596 | mov ecx,0x0 ; 0xX0RRGGBB (RR, GG, BB çàäàþò öâåò òåêñòà) |
586 | mov edx,cname ; óêàçàòåëü íà íà÷àëî ñòðîêè |
597 | mov edx,cname ; óêàçàòåëü íà íà÷àëî ñòðîêè |
587 | mov esi,1 ; âûâîäèòü esi ñèìâîëîâ |
598 | mov esi,1 ; âûâîäèòü esi ñèìâîëîâ |
588 | newline: ; öèêë |
599 | newline: ; öèêë |
589 | int 0x40 ; Ïðåðûâàíèå |
600 | int 0x40 ; Ïðåðûâàíèå |
590 | add ebx,29 shl 16 ; Äîáàâëÿåì |
601 | add ebx,23 shl 16 ; Äîáàâëÿåì |
591 | add edx,1 ; Äîáàâëÿåì |
602 | add edx,1 ; Äîáàâëÿåì |
592 | cmp [edx],byte 'x' ; Ñðàâíåíèå ñ áàéòîì õ |
603 | cmp [edx],byte 'x' ; Ñðàâíåíèå ñ áàéòîì õ |
593 | jne newline ; Åñëè íå íóëü èëè íå ðàâíî |
604 | jne newline ; Åñëè íå íóëü èëè íå ðàâíî |
594 | 605 | ||
- | 606 | ;................................................................................................. |
|
- | 607 | ; Îòðèñîâêà ñëàéäåðîâ |
|
595 | ;................................................................................................. |
608 | ;................................................................................................. |
Line 596... | Line 609... | ||
596 | ; Îòðèñîâêà ñëàéäåðîâ |
609 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
597 | ;................................................................................................. |
610 | mov edx,0x222222 ; öâåò-îáâîäêè |
598 | mov eax,13 ; Ôóíêöèÿ 13 - íàðèñîâàòü ïðÿìîóãîëüíèê |
611 | mov ebx,16 shl 16+4 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
599 | mov edx,0x222222 ; öâåò-îáâîäêè |
612 | mov ecx,51 shl 16+86 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
600 | mov ebx,12 shl 16+4 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
613 | int 0x40 |
601 | mov ecx,45 shl 16+85 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
614 | add ebx,23 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
602 | int 0x40 |
615 | int 0x40 |
603 | add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
616 | add ebx,23 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
604 | int 0x40 |
617 | int 0x40 |
- | 618 | add ebx,23 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
|
- | 619 | int 0x40 |
|
- | 620 | ||
605 | add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
621 | mov edx,0xFA0919 ; öâåò-îáâîäêè |
Line 606... | Line 622... | ||
606 | int 0x40 |
622 | mov ebx,17 shl 16+2 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
607 | 623 | mov ecx,52 shl 16+84 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
|
608 | mov edx,0xFA0919 ; öâåò-îáâîäêè |
624 | int 0x40 |
609 | mov ebx,13 shl 16+2 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
625 | mov edx,0x08CE19 ; öâåò-îáâîäêè |
610 | mov ecx,46 shl 16+83 ; Íà÷àëüíûå êîîðäèíàòû ïî y [ê-òà y]*65536 + [ðàçìåð] |
626 | add ebx,23 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
611 | int 0x40 |
627 | int 0x40 |
612 | mov edx,0x08CE19 ; öâåò-îáâîäêè |
628 | mov edx,0x0909FF ; öâåò-îáâîäêè |
613 | add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
629 | add ebx,23 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
614 | int 0x40 |
630 | int 0x40 |
615 | mov edx,0x0909FF ; öâåò-îáâîäêè |
631 | mov edx,0xE4E4E4 ; öâåò-îáâîäêè |
616 | add ebx,29 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
632 | add ebx,23 shl 16 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà y]*65536 + [ðàçìåð] |
617 | int 0x40 |
633 | int 0x40 |
618 | 634 | ||
- | 635 | ;................................................................................................. |
|
- | 636 | ; Îòðèñîâêà ïîëçóíêîâ |
|
- | 637 | ;................................................................................................. |
|
Line 619... | Line 638... | ||
619 | ;................................................................................................. |
638 | mov edx,0x0 ; öâåò-ïîëçóíêîâ |
620 | ; Îòðèñîâêà ïîëçóíêîâ |
639 | mov ebx,17 shl 16+11 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
Line 621... | Line 640... | ||
621 | ;................................................................................................. |
640 | movzx eax,[cred] ; áåðåì çíà÷åíèå öâåòà |
622 | mov edx,0x0 ; öâåò-ïîëçóíêîâ |
641 | call draw_slider |
623 | mov ebx,10 shl 16+8 ; Íà÷àëüíûå êîîðäèíàòû ïî x [ê-òà x]*65536 + [ðàçìåð] |
642 | add ebx,23 shl 16 |
624 | movzx eax,[cred] ; áåðåì çíà÷åíèå öâåòà |
643 | movzx eax,[cgreen] ; áåðåì çíà÷åíèå öâåòà |
625 | call draw_slider |
644 | call draw_slider |
626 | add ebx,29 shl 16 |
645 | add ebx,23 shl 16 |
627 | movzx eax,[cgreen] ; áåðåì çíà÷åíèå öâåòà |
646 | movzx eax,[cblue] ; áåðåì çíà÷åíèå öâåòà |
628 | call draw_slider |
647 | call draw_slider |
629 | add ebx,29 shl 16 |
648 | add ebx,23 shl 16 |
630 | movzx eax,[cblue] ; áåðåì çíà÷åíèå öâåòà |
649 | movzx eax,[calpha] ; áåðåì çíà÷åíèå öâåòà |
- | 650 | call draw_slider |
|
- | 651 | ||
- | 652 | ret ; Âîçâðàùàåì óïðàâëåíèå |
|
- | 653 | ;end_draw_result |
|
- | 654 | ||
- | 655 | draw_slider: |
|
- | 656 | xor ecx,ecx |
|
631 | call draw_slider |
657 | mov cl,0x3 ; áóäåì äåëèòü åãî íà 3 òàê êàê ïîëçóíêè äëèííîé 85 ïèêñåëåé |
Line 632... | Line 658... | ||
632 | 658 | div cl ; äåëèì - öåëîå â al îñòàòîê â ah |
|
Line 633... | Line 659... | ||
633 | ret ; Âîçâðàùàåì óïðàâëåíèå |
659 | mov cl,136 ; íèæíÿÿ òî÷êà ïîëçóíêà |
Line 655... | Line 681... | ||
655 | mov ebx,10 ; óñòàíàâëèâàåì îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ |
681 | mov ebx,10 ; óñòàíàâëèâàåì îñíîâàíèå ñèñòåìû ñ÷èñëåíèÿ |
656 | mov edi,buff ; óêàçàòåëü íà ñòðîêó áóôåðà |
682 | mov edi,buff ; óêàçàòåëü íà ñòðîêó áóôåðà |
657 | call int2ascii ; êîíâåðòèðóåì ÷èñëî è ëîæèì êàê ñòðîêó â áóôåð + esi äëèíà |
683 | call int2ascii ; êîíâåðòèðóåì ÷èñëî è ëîæèì êàê ñòðîêó â áóôåð + esi äëèíà |
658 | mov eax,4 ; ôóíêöèÿ 4: íàïèñàòü òåêñò â îêíå |
684 | mov eax,4 ; ôóíêöèÿ 4: íàïèñàòü òåêñò â îêíå |
659 | pop ebx ; äîñòàåì èç ñòåêà ïðèñëàííûå êîîðäèíàòû |
685 | pop ebx ; äîñòàåì èç ñòåêà ïðèñëàííûå êîîðäèíàòû |
- | 686 | cmp esi,2 ; ÖÅÍÒÐÈÐÎÂÀÍÈÅ ÒÅÊÑÒÀ |
|
- | 687 | jne draw_value_1 |
|
- | 688 | add ebx,4 shl 16 |
|
- | 689 | jmp draw_value_e |
|
- | 690 | draw_value_1: |
|
- | 691 | cmp esi,1 |
|
- | 692 | jne draw_value_e |
|
- | 693 | add ebx,7 shl 16 |
|
- | 694 | draw_value_e: |
|
660 | mov ecx,0x0 ; öâåò òåêñòà RRGGBB |
695 | mov ecx,0x0 ; öâåò òåêñòà RRGGBB |
661 | mov edx,buff ; óêàçàòåëü íà íà÷àëî òåêñòà |
696 | mov edx,buff ; óêàçàòåëü íà íà÷àëî òåêñòà |
662 | int 0x40 |
697 | int 0x40 |
663 | ret ; Âîçâðàùàåì óïðàâëåíèå |
698 | ret ; Âîçâðàùàåì óïðàâëåíèå |
664 | ;end_draw_value |
699 | ;end_draw_value |
Line 712... | Line 747... | ||
712 | 747 | ||
713 | get_spectr: |
748 | get_spectr: |
714 | ;................................................................................................. |
749 | ;................................................................................................. |
715 | ; âîçâðàùàåò r,g,b ñîñòîâëÿþùèå öâåòà |
750 | ; âîçâðàùàåò r,g,b ñîñòîâëÿþùèå öâåòà |
716 | ;................................................................................................. |
751 | ;................................................................................................. |
- | 752 | ;; get blue |
|
- | 753 | ;mov ecx,[color] |
|
- | 754 | ;movzx eax,cl |
|
- | 755 | ;mov [cblue],al |
|
- | 756 | ;; get red |
|
- | 757 | ;mov eax,ecx |
|
- | 758 | ;xor ax,ax ; à íàäî ëè???? |
|
- | 759 | ;shr eax,16 |
|
- | 760 | ;mov [cred],al |
|
- | 761 | ;; get green |
|
- | 762 | ;shl ecx,16 |
|
- | 763 | ;shr ecx,24 |
|
- | 764 | ;mov [cgreen],cl |
|
717 | ; get blue |
765 | |
718 | mov ecx,[color] |
- | |
719 | movzx eax,cl |
766 | mov ecx,[color] |
720 | mov [cblue],al |
- | |
721 | ; get red |
- | |
722 | mov eax,ecx |
- | |
723 | xor ax,ax |
- | |
724 | shr eax,16 |
- | |
725 | mov [cred],al |
- | |
726 | ; get green |
- | |
727 | shl ecx,16 |
767 | mov [cblue],cl |
728 | shr ecx,24 |
768 | shr ecx,8 |
- | 769 | mov [cgreen],cl |
|
- | 770 | shr ecx,8 |
|
- | 771 | mov [cred],cl |
|
- | 772 | shr ecx,8 |
|
729 | mov [cgreen],cl |
773 | mov [calpha],cl |
730 | ret ; è âîçâðàùàåì óïðàâëåíèå |
774 | ret ; è âîçâðàùàåì óïðàâëåíèå |
Line 731... | Line 775... | ||
731 | ;end_get_spectr |
775 | ;end_get_spectr |
732 | 776 | ||
733 | set_spectr: |
777 | set_spectr: |
734 | ;................................................................................................. |
778 | ;................................................................................................. |
- | 779 | ; óñòàíàâëèâàåò èç r,g,b öâåò |
|
735 | ; óñòàíàâëèâàåò èç r,g,b öâåò |
780 | ;................................................................................................. |
736 | ;................................................................................................. |
781 | movzx eax,[calpha] |
737 | ; get blue |
782 | shl eax,8 |
738 | movzx eax,[cred] |
783 | mov al,[cred] |
739 | shl eax,8 |
784 | shl eax,8 |
740 | mov al,[cgreen] |
785 | mov al,[cgreen] |
741 | shl eax,8 |
786 | shl eax,8 |
Line 772... | Line 817... | ||
772 | ;****************************************************************************************************| |
817 | ;****************************************************************************************************| |
773 | ; ÁËÎÊ ÏÅÐÅÌÅÍÍÛÕ È ÊÎÍÑÒÀÍÒ | |
818 | ; ÁËÎÊ ÏÅÐÅÌÅÍÍÛÕ È ÊÎÍÑÒÀÍÒ | |
774 | ;----------------------------------------------------------------------------------------------------/ |
819 | ;----------------------------------------------------------------------------------------------------/ |
Line 775... | Line 820... | ||
775 | 820 | ||
- | 821 | color dd 00000000h ; õðàíèò çíà÷åíèå âûáðàííîãî öâåòà |
|
776 | color dd 00000000h ; õðàíèò çíà÷åíèå âûáðàííîãî öâåòà |
822 | color2 dd 00FFFFFFh ; õðàíèò çíà÷åíèå âòîðîãî âûáðàííîãî öâåòà |
777 | mouse_x dd 0 ; õðàíèò ãëîáàëüíóþ õ êîîðäèíàòó ìûøè |
823 | mouse_x dd 0 ; õðàíèò ãëîáàëüíóþ õ êîîðäèíàòó ìûøè |
778 | mouse_y dd 0 ; õðàíèò ãëîáàëüíóþ ó êîîðäèíàòó ìûøè |
824 | mouse_y dd 0 ; õðàíèò ãëîáàëüíóþ ó êîîðäèíàòó ìûøè |
779 | desctop_w dd 0 ; õðàíèò øèðèíó ýêðàíà |
825 | desctop_w dd 0 ; õðàíèò øèðèíó ýêðàíà |
780 | sc system_colors ; õðàíèò ñòðóêòóðó ñèñòåìíûõ öâåòîâ ñêèíà |
826 | sc system_colors ; õðàíèò ñòðóêòóðó ñèñòåìíûõ öâåòîâ ñêèíà |
781 | title db 'Palitra v0.3',0 ; õðàíèò èìÿ ïðîãðàììû |
827 | title db 'Palitra v0.4',0 ; õðàíèò èìÿ ïðîãðàììû |
782 | hex db '#',0 ; äëÿ âûâîäà ðåø¸òêè êàê òåêñòà |
828 | hex db '#',0 ; äëÿ âûâîäà ðåø¸òêè êàê òåêñòà |
783 | cname db 'RGBx' ; õðàíèò ðàçðÿäû öâåòîâ (red,green,blue) x-ìåòêà êîíöà |
829 | cname db 'RGBAx' ; õðàíèò ðàçðÿäû öâåòîâ (red,green,blue) x-ìåòêà êîíöà |
784 | cred db 0 ; õðàíèì êðàñíûé ñïåêðò |
830 | cred db 0 ; õðàíèì êðàñíûé ñïåêðò |
785 | cgreen db 0 ; õðàíèì çåëåíûé ñïåêòð |
831 | cgreen db 0 ; õðàíèì çåëåíûé ñïåêòð |
- | 832 | cblue db 0 ; õðàíèì ñèíèé ñïåêòð |
|
786 | cblue db 0 ; õðàíèì ñèíèé ñïåêòð |
833 | calpha db 0 ; õðàíèì ïðîçðà÷íîñòü |
787 | buff db '000',0 |
834 | buff db '000',0 |
788 | bnext db 'NEXT BACKGROUND',0; èìÿ êíîïêè |
835 | bnext db 'NEXT BACKGROUND',0; èìÿ êíîïêè |
- | 836 | pnext dd 0 ; ñ÷åò÷èê ïåðåêëþ÷åíèÿ ïàëèòðû |
|
- | 837 | ||
789 | pnext dd 0 ; ñ÷åò÷èê ïåðåêëþ÷åíèÿ ïàëèòðû |
838 |