Rev 9541 | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
9541 | leency | 1 | draw_result: |
9470 | leency | 2 | ;................................................................................................. |
9541 | leency | 3 | ; Большая рамка вывода результата |
4 | ;................................................................................................. |
||
9542 | leency | 5 | mcall SF_DRAW_RECT, <4,110>, <9, 197>, [sc.work_graph] |
6 | mcall , <5,110-2>, <10,195>, [sc.work_light] |
||
9541 | leency | 7 | |
8 | ;................................................................................................. |
||
9 | ; Отрисовка результата цвета в hex color2 |
||
10 | ;................................................................................................. |
||
9542 | leency | 11 | CURCOLX = 11 |
12 | CURCOLY = 17 |
||
13 | mcall , |
||
9541 | leency | 14 | ; color 2 - draw color |
9542 | leency | 15 | mcall , |
9541 | leency | 16 | ; color 1 - draw fringle |
9542 | leency | 17 | mcall , |
9541 | leency | 18 | ; color 2 - draw color |
9542 | leency | 19 | mcall , |
9541 | leency | 20 | |
21 | ; value - draw fringle |
||
9542 | leency | 22 | mcall , |
9541 | leency | 23 | ; value - draw background |
9542 | leency | 24 | mcall , |
9541 | leency | 25 | |
26 | ; Функция 47 - вывод числа в окно |
||
9542 | leency | 27 | ; ebx - параметры преобразования числа в текст (HEX) |
28 | mcall SF_DRAW_NUMBER, 256+8 shl 16, [color], |
||
9541 | leency | 29 | |
30 | ; функция 4: написать текст в окне |
||
31 | ; edx - рисуем '#' |
||
32 | ; esi - длина текста в байтах |
||
9542 | leency | 33 | ; mcall SF_DRAW_TEXT, <38,20>, 0, hex, 1 |
9541 | leency | 34 | |
35 | ;................................................................................................. |
||
36 | ; Отрисовка r g b значений |
||
37 | ;................................................................................................. |
||
38 | call get_spectr |
||
39 | |||
40 | movzx eax,[cred] ; красный |
||
9542 | leency | 41 | mov ebx,12*65536+190 ; [x начальный] *65536 + [y начальный] |
9541 | leency | 42 | call draw_value ; выводим результат |
43 | |||
44 | movzx eax,[cgreen] ; зеленый |
||
9542 | leency | 45 | mov ebx,37*65536+190 ; [x начальный] *65536 + [y начальный] |
9541 | leency | 46 | call draw_value ; выводим результат |
47 | |||
48 | movzx eax,[cblue] ; синий |
||
9542 | leency | 49 | mov ebx,62*65536+190 ; [x начальный] *65536 + [y начальный] |
9541 | leency | 50 | call draw_value ; выводим результат |
51 | |||
52 | movzx eax,[calpha] ; альфа |
||
9542 | leency | 53 | mov ebx,87*65536+190 ; [x начальный] *65536 + [y начальный] |
9541 | leency | 54 | call draw_value ; выводим результат |
55 | |||
56 | ;................................................................................................. |
||
57 | ; Выводим буквы r g b a |
||
58 | ;................................................................................................. |
||
59 | mov eax,SF_DRAW_TEXT ; 4 - вывести строку текста в окно |
||
9542 | leency | 60 | mov ebx,18 shl 16+DRAWY+32 ; [координата по оси x]*65536 + [координата по оси y] |
61 | mov ecx, 0x00000000 ; 0xX0RRGGBB (RR, GG, BB задают цвет текста) |
||
9541 | leency | 62 | add ecx, [sc.work_text] |
63 | mov edx,cname ; указатель на начало строки |
||
64 | mov esi,1 ; выводить esi символов |
||
65 | newline: ; цикл |
||
66 | int 0x40 ; Прерывание |
||
67 | add ebx,25 shl 16 ; Добавляем |
||
68 | inc edx ; Добавляем |
||
69 | cmp [edx],byte 'x' ; Сравнение с байтом х |
||
70 | jne newline ; Если не нуль или не равно |
||
71 | |||
72 | ;................................................................................................. |
||
9470 | leency | 73 | ; Отрисовка слайдеров |
74 | ;................................................................................................. |
||
75 | ; Функция 13 - нарисовать прямоугольник |
||
76 | |||
77 | mov ebx, 18*65536+18 |
||
9542 | leency | 78 | mov ecx, 55*65536+55 |
9470 | leency | 79 | |
80 | push dword 0xFC5663 |
||
81 | push dword 0xFA0919 |
||
82 | push dword 0xE20516 |
||
83 | push dword 0xFA0919 |
||
84 | |||
85 | call Draw_base |
||
86 | |||
87 | add ebx, 20*65536+20 |
||
88 | |||
89 | push dword 0x33F742 |
||
90 | push dword 0x0ADD18 |
||
91 | push dword 0x08CE19 |
||
92 | push dword 0x08CE19 |
||
93 | |||
94 | call Draw_base |
||
95 | |||
96 | add ebx, 20*65536+20 |
||
97 | |||
98 | push dword 0x88A6FF |
||
99 | push dword 0x3366FF |
||
100 | push dword 0x114DFF |
||
101 | push dword 0x114DFF |
||
102 | |||
103 | call Draw_base |
||
104 | |||
105 | add ebx, 20*65536+20 |
||
106 | |||
107 | push dword 0xDADADA |
||
108 | push dword 0xB9B9B9 |
||
109 | push dword 0xA9A9A9 |
||
110 | push dword 0xA9A9A9 |
||
111 | |||
112 | call Draw_base |
||
113 | |||
114 | ;................................................................................................. |
||
115 | ; Отрисовка ползунков |
||
116 | ;................................................................................................. |
||
9541 | leency | 117 | mov ebx, 13*65536+13 |
9542 | leency | 118 | mov ecx, (55-3)*65536+(55-3) |
9470 | leency | 119 | movzx eax,[cred] |
120 | call draw_slider |
||
121 | |||
9541 | leency | 122 | mov ebx, (13+25*1)*65536+(13+25*1) |
9542 | leency | 123 | mov ecx, (55-3)*65536+(55-3) |
9470 | leency | 124 | movzx eax,[cgreen] |
125 | call draw_slider |
||
126 | |||
9541 | leency | 127 | mov ebx, (13+25*2)*65536+(13+25*2) |
9542 | leency | 128 | mov ecx, (55-3)*65536+(55-3) |
9470 | leency | 129 | movzx eax,[cblue] |
130 | call draw_slider |
||
131 | |||
9541 | leency | 132 | mov ebx, (13+25*3)*65536+(13+25*3) |
9542 | leency | 133 | mov ecx, (55-3)*65536+(55-3) |
9470 | leency | 134 | movzx eax,[calpha] |
135 | call draw_slider |
||
136 | |||
137 | |||
138 | ret ; Возвращаем управление |
||
139 | ;end_draw_result |
||
140 | |||
141 | Draw_base: |
||
142 | push ebp |
||
143 | mov ebp, esp |
||
144 | |||
145 | add ebx, 1*65536+4 |
||
146 | mcall SF_DRAW_LINE, , , 0 |
||
147 | add ecx, 128*65536+128 |
||
148 | int 0x40 |
||
149 | |||
150 | sub ebx, 1*65536+4 |
||
151 | sub ecx, (128-1)*65536+1 |
||
152 | int 0x40 |
||
153 | |||
154 | add ebx, 1*65536+1 |
||
155 | mov edx, dword [ebp+20] |
||
156 | int 0x40 |
||
157 | |||
158 | add ebx, 1*65536+1 |
||
159 | mov edx, dword [ebp+16] |
||
160 | int 0x40 |
||
161 | |||
162 | add ebx, 1*65536+1 |
||
163 | mov edx, dword [ebp+12] |
||
164 | int 0x40 |
||
165 | |||
166 | add ebx, 1*65536+1 |
||
167 | mov edx, dword [ebp+8] |
||
168 | int 0x40 |
||
169 | |||
170 | add ebx, 1*65536+1 |
||
171 | mov edx, 0 |
||
172 | int 0x40 |
||
173 | |||
174 | sub ecx, 1*65536+(128-1) |
||
175 | |||
176 | pop ebp |
||
177 | ret 4*4 |
||
178 | |||
179 | |||
180 | |||
181 | draw_slider: |
||
182 | shr eax, 1 |
||
183 | mov edx, eax |
||
184 | shl edx, 16 |
||
185 | or eax, edx |
||
186 | sub ecx, eax |
||
187 | add ecx, 127*65536+127 |
||
188 | |||
9541 | leency | 189 | add ecx, 1*65536+5 |
9470 | leency | 190 | mcall SF_DRAW_LINE, , , 0 |
9541 | leency | 191 | add ebx, 15*65536+15 |
9470 | leency | 192 | int 0x40 |
193 | |||
9541 | leency | 194 | sub ebx, 14*65536+1 |
195 | sub ecx, 1*65536+5 |
||
9470 | leency | 196 | int 0x40 |
197 | |||
9541 | leency | 198 | mov edx, 0xFFFFFF |
199 | add ecx, 1*65536+1 |
||
200 | int 0x40 |
||
201 | |||
9470 | leency | 202 | mov edx, 0xE1E1E1 |
203 | add ecx, 1*65536+1 |
||
204 | int 0x40 |
||
205 | add ecx, 1*65536+1 |
||
206 | int 0x40 |
||
9541 | leency | 207 | add ecx, 1*65536+1 |
208 | int 0x40 |
||
9470 | leency | 209 | |
9541 | leency | 210 | mov edx, 0xB9B9B9 |
9470 | leency | 211 | add ecx, 1*65536+1 |
212 | int 0x40 |
||
213 | |||
9541 | leency | 214 | mov edx, 0 |
215 | add ecx, 1*65536+1 |
||
9470 | leency | 216 | int 0x40 |
217 | |||
218 | ret |
||
219 | |||
9541 | leency | 220 | ;end_slider38,20>10,195>5,110-2>9,>4,110> |