Subversion Repositories Kolibri OS

Rev

Rev 7786 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 7786 Rev 8346
Line 12... Line 12...
12
        call    send_draw_status
12
        call    send_draw_status
13
}
13
}
Line 14... Line 14...
14
 
14
 
15
macro start_draw_window
15
macro start_draw_window
16
{
-
 
17
        ;mov     eax,12
-
 
18
        push    12
-
 
19
        pop     eax
16
{
20
        xor     ebx,ebx
17
	xor     ebx,ebx
21
        inc     ebx
18
	inc     ebx
22
        mcall
19
	mcall   SF_REDRAW
Line 23... Line 20...
23
}
20
}
24
 
21
 
25
;--- ñîîáùèòü ñèñòåìå î çàâåðøåíèè ïåðåðèñîâêè îêíà ---
22
;--- ñîîáùèòü ñèñòåìå î çàâåðøåíèè ïåðåðèñîâêè îêíà ---
26
macro stop_draw_window
23
macro stop_draw_window
27
{
-
 
28
        ;mov     eax,12
-
 
29
        push    12
-
 
30
        pop     eax
-
 
31
        ;mov     ebx,2
-
 
32
        push    2
-
 
33
        pop     ebx
24
{
Line 34... Line 25...
34
        mcall
25
	mcall   SF_REDRAW, SSF_END_DRAW
Line 35... Line 26...
35
}
26
}
36
 
27
 
37
;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé ---
28
;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé ---
38
 
29
 
39
;--- îæèäàòü ñîáûòèÿ ---
-
 
40
macro wait_event redraw,key,button,mouse,ipc,other
30
;--- îæèäàòü ñîáûòèÿ ---
41
{
31
macro wait_event redraw,key,button,mouse,ipc,other
42
        mov     eax,10
32
{
43
        mcall
33
        mcall   SF_WAIT_EVENT
44
        dec     ax
34
        dec     ax
Line 75... Line 65...
75
end if
65
end if
76
}
66
}
77
;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé ---
67
;--- óñòàíîâèòü ìàñêó îæèäàåìûõ ñîáûòèé ---
78
macro set_events_mask mask
68
macro set_events_mask mask
79
{
69
{
80
        ;mov     eax,40
-
 
81
        push    40
-
 
82
        pop     eax
-
 
83
        ;mov     ebx,mask
70
	mcall   SF_SET_EVENTS_MASK, mask
84
        push    mask
-
 
85
        pop     ebx
-
 
86
        mcall
-
 
87
}
71
}
Line 88... Line -...
88
 
-
 
89
;macro check_boxes_set_sys_color start,end,color_table
-
 
90
;{
-
 
91
;ch_left equ [edi]    ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ
-
 
92
;ch_top equ [edi+4]   ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó
-
 
93
;ch_text_margin equ [edi+8]      ;=4 ðàññòîÿíèå îò ïðÿìîóãîëüíèêà ÷åê áîêñà äî íàäïèñè 
-
 
94
;ch_size equ [edi+8]             ;12 ðàçìåð êâàäðàòà ÷åê áîêñà 
-
 
95
;ch_color equ [edi+12]           ;öâåò âíóòðè checkbox
-
 
96
;ch_border_color equ [edi+16] ; or [edi+4] ;öâåò ðàìêè checkbox åå ìîæíî çàäàòü ñàìîñòîÿòåëüíî
-
 
97
;ch_text_color equ   [edi+20];[edi+4]  ;öâåò òåêñòà
-
 
98
;ch_text_ptr equ [edi+24]    ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè 
-
 
99
;ch_text_length equ [edi+28]
-
 
100
;ch_flags equ [edi+32]       ;ôëàãè 
-
 
101
 
-
 
102
 
-
 
103
;ch_left equ [edi]    ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî õ
-
 
104
;ch_top equ [edi+2]   ;êîîðäèíàòà íà÷àëà ðèñîâàíèÿ ïî ó
-
 
105
;ch_color equ [edi+4] ;öâåò âíóòðè checkbox
-
 
106
;ch_border_color equ [edi+8] ;öâåò ðàìêè checkbox
-
 
107
;ch_text_color equ [edi+12]  ;öâåò òåêñòà
-
 
108
;ch_text_ptr equ [edi+16]    ;óêàçàòåëü íà íà÷àëî òåêñòîâîé ñòðîêè
-
 
109
;ch_text_length equ [edi+20] ;äëèíà íàäïèñè (2^64 òàêîé äëèíû ìîæåò áûòü òåêñò)
-
 
110
;ch_flags equ [edi+24]       ;ôëàãè
-
 
111
 
-
 
112
;        mov     edi,start
-
 
113
;        mov     ecx,((end-start)/ch_struc_size)
-
 
114
;        mov     esi,color_table
-
 
115
;@@:
-
 
116
;        push    dword [esi+32]
-
 
117
;        pop     dword ch_text_color
-
 
118
;        push    dword [esi+36]
-
 
119
;        pop     dword ch_border_color
-
 
120
;        add     edi,ch_struc_size
-
 
121
;        loop    @b
-
 
122
;}
72
 
123
macro get_key
73
macro get_key
124
{
-
 
125
        ;mov     eax,2
74
{
126
        push    2
-
 
127
        pop     eax
-
 
128
        mcall
75
	mcall   SF_GET_KEY
129
}
76
}
130
;--- ïîëó÷èòü êîä íàæàòîé êíîïêè ---
77
;--- ïîëó÷èòü êîä íàæàòîé êíîïêè ---
131
macro get_pressed_button
78
macro get_pressed_button
132
{
-
 
133
        ;mov     eax,17
-
 
134
        push    17
79
{
135
        pop     eax
-
 
136
        mcall
80
	mcall   SF_GET_BUTTON
137
}
81
}
138
macro get_active_window
82
macro get_active_window
139
{
83
{
140
        mov     eax,18
-
 
141
        mov     ebx,7
-
 
142
        mcall
84
	mcall   SF_SYSTEM,SSF_GET_ACTIVE_WINDOW
143
}
85
}
144
;--- ¯®«ãç¨âì ¨­ä®à¬ æ¨î ® ¯à®æ¥áᥠ---
86
;--- ïîëó÷èòü èíôîðìàöèþ î ïðîöåññå ---
145
macro get_procinfo proc_inf_buf,slot_num
87
macro get_procinfo proc_inf_buf,slot_num
146
{
-
 
147
        ;mov     eax,9
-
 
148
        push    9
-
 
149
        pop     eax
88
{
150
        ;mov     ebx,proc_inf_buf
89
        ;mov     ebx,proc_inf_buf
151
        push    proc_inf_buf
90
        push    proc_inf_buf
152
        pop     ebx
91
        pop     ebx
153
if slot_num eq
92
if slot_num eq
Line 156... Line 95...
156
else
95
else
157
        ;mov     ecx,slot_num
96
        ;mov     ecx,slot_num
158
        push    slot_num
97
        push    slot_num
159
        pop     ecx
98
        pop     ecx
160
end if
99
end if
161
        mcall
100
        mcall   SF_THREAD_INFO
162
}
101
}
163
macro get_screen_prop  struc_ptr
102
macro get_screen_prop  struc_ptr
164
{
103
{
165
        mov     eax,61
104
        mov     eax,SF_GET_GRAPHICAL_PARAMS
166
        push    eax eax
105
        push    eax eax
167
        xor     ebx,ebx
106
        xor     ebx,ebx
168
        inc     ebx
107
        inc     ebx
169
        mcall
108
        mcall
170
        mov     [struc_ptr],eax
109
        mov     [struc_ptr],eax
Line 177... Line 116...
177
        mcall
116
        mcall
178
        mov     [struc_ptr+6],eax
117
        mov     [struc_ptr+6],eax
179
}
118
}
180
macro min_window
119
macro min_window
181
{
120
{
182
        mov     eax,18
-
 
183
        mov     ebx,10
121
	mcall   SF_SYSTEM,SSF_MINIMIZE_WINDOW
184
        mcall
-
 
185
}
122
}
186
macro app_close
123
macro app_close
187
{
124
{
188
        or     eax,-1
125
	mcall  SF_TERMINATE_PROCESS
189
        mcall
-
 
190
}
126
}
191
macro get_skin_height
127
macro get_skin_height
192
{
128
{
193
        mov     eax,48
129
	mcall   SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT
194
        mov     ebx,4
-
 
195
        mcall
-
 
196
}
130
}
197
macro delay time
131
macro delay time
198
{
132
{
199
        mov     eax,5
-
 
200
if time eq
133
if time eq
201
else
134
else
202
        mov     ebx,time
135
	mov     ebx,time
203
end if
136
end if
204
        mcall
137
	mcall   SF_SLEEP
205
}
138
}
206
macro activ_window slot_n
139
macro activ_window slot_n
207
{
140
{
208
        mov     eax,18
-
 
209
        mov     ebx,3
-
 
210
if slot_n eq
141
if slot_n eq
211
else
142
else
212
        mov     ecx,slot_n
143
	mov     ecx,slot_n
213
end if
144
end if
214
        mcall
145
	mcall   SF_SYSTEM,SSF_FOCUS_WINDOW
215
}
146
}
216
struc screen_prop
147
struc screen_prop
217
{
148
{
218
.height: dw ? ;+0
149
.height: dw ? ;+0
219
.width: dw ?  ;+2
150
.width: dw ?  ;+2
Line 259... Line 190...
259
.block: dd ?
190
.block: dd ?
260
.in_use: dd ?
191
.in_use: dd ?
261
.messages: rb size
192
.messages: rb size
262
}
193
}
Line 263... Line 194...
263
 
194
 
264
;--- æ¢¥â  ---
195
;--- öâåòà  ---
265
cl_white=0xffffff
196
cl_white=0xffffff
Line 266... Line 197...
266
cl_black=0x000000
197
cl_black=0x000000