Subversion Repositories Kolibri OS

Rev

Rev 485 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
255 heavyiron 1
;load cursors from memory
2
;IN
3
; eax- pointer to memory for ID of cursors
4
;OUT
5
; not returned value
6
 
7
load_cursors:
8
 
9
      mov [PointerToCursorsID],eax
10
 
6364 IgorA 11
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, brush_cursor, 1
255 heavyiron 12
 
13
      mov ebx,[PointerToCursorsID]
14
      mov [ebx],eax
15
      add [PointerToCursorsID],4
16
 
6364 IgorA 17
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, flood_fill_cursor, 1
255 heavyiron 18
 
19
      mov ebx,[PointerToCursorsID]
20
      mov [ebx],eax
21
      add [PointerToCursorsID],4
22
 
6364 IgorA 23
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, lastik_cursor, 1
255 heavyiron 24
 
25
      mov ebx,[PointerToCursorsID]
26
      mov [ebx],eax
27
      add [PointerToCursorsID],4
28
 
6364 IgorA 29
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, other_cursor, 1
255 heavyiron 30
 
31
      mov ebx,[PointerToCursorsID]
32
      mov [ebx],eax
33
      add [PointerToCursorsID],4
34
 
6364 IgorA 35
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, pencil_cursor, 1
255 heavyiron 36
 
37
      mov ebx,[PointerToCursorsID]
38
      mov [ebx],eax
39
      add [PointerToCursorsID],4
40
 
6364 IgorA 41
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, pipette_cursor, 1
255 heavyiron 42
 
43
      mov ebx,[PointerToCursorsID]
44
      mov [ebx],eax
45
      add [PointerToCursorsID],4
46
 
6364 IgorA 47
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, spray_cursor, 1
255 heavyiron 48
 
49
      mov ebx,[PointerToCursorsID]
50
      mov [ebx],eax
51
      add [PointerToCursorsID],4
52
 
6364 IgorA 53
      mcall SF_MOUSE_GET, SSF_LOAD_CURSOR, zoom_cursor, 1
255 heavyiron 54
 
55
      mov ebx,[PointerToCursorsID]
56
      mov [ebx],eax
57
      add [PointerToCursorsID],4
58
 
59
      ret
60
 
61
;set cirsor
62
;IN
63
;eax- pointer to IDs of cursors
64
;ebx- number(ID) of current instrument
65
 
66
set_cursor:
67
 
68
      mov [PointerToCursorsID],eax
69
 
70
      cmp ebx,10
71
      jne no_1_l
72
       mov eax,5
73
       jmp che
74
      no_1_l:
75
 
76
      cmp ebx,11
77
      jne no_2_l
78
       mov eax,1
79
       jmp che
80
      no_2_l:
81
 
82
      cmp ebx,12
83
      jne no_3_l
84
       mov eax,7
85
       jmp che
86
      no_3_l:
87
 
88
      cmp ebx,13
89
      jne no_4_l
90
       mov eax,3
91
       jmp che
92
      no_4_l:
93
 
94
      cmp ebx,14
95
      jne no_5_l
96
       mov eax,2
97
       jmp che
98
      no_5_l:
99
 
100
      cmp ebx,15
101
      jne no_6_l
102
       mov eax,6
103
       jmp che
104
      no_6_l:
105
 
106
       cmp ebx,16
107
      jne no_7_l
108
       mov eax,4
109
       jmp che
110
      no_7_l:
111
 
112
      cmp ebx,17
113
      jne no_8_l
114
       mov eax,4
115
       jmp che
116
      no_8_l:
117
 
118
      cmp ebx,18
119
      jne no_9_l
120
       mov eax,4
121
       jmp che
122
      no_9_l:
123
 
124
       cmp ebx,19
125
      jne no_10_l
126
       mov eax,4
127
       jmp che
128
      no_10_l:
129
 
130
      cmp ebx,20
131
      jne no_11_l
132
       mov eax,4
133
       jmp che
134
      no_11_l:
135
 
136
      cmp ebx,21
137
      jne no_12_l
138
       mov eax,4
139
       jmp che
140
      no_12_l:
141
 
142
      cmp ebx,22
143
      jne no_13_l
144
       mov eax,4
145
       jmp che
146
      no_13_l:
147
 
148
      cmp ebx,23
149
      jne no_14_l
150
       mov eax,4
151
       jmp che
152
      no_14_l:
153
 
154
      cmp ebx,24
155
      jne no_15_l
156
       mov eax,4
157
       jmp che
158
      no_15_l:
159
 
160
      cmp ebx,25
161
      jne no_16_l
162
       mov eax,4
163
       jmp che
164
      no_16_l:
165
 
166
      cmp ebx,26
167
      jne no_17_l
168
       mov eax,4
169
       jmp che
170
      no_17_l:
171
 
172
      cmp ebx,27
173
      jne no_18_l
174
       mov eax,4
175
       jmp che
176
      no_18_l:
177
 
178
      cmp ebx,28
179
      jne no_19_l
180
       mov eax,4
181
       jmp che
182
      no_19_l:
183
 
184
 
185
      cmp ebx,45
186
      jne no_25_l
187
       mov eax,8
188
       jmp che
189
      no_25_l:
190
 
191
      cmp ebx,46
192
      jne no_26_l
193
       mov eax,8
194
       jmp che
195
      no_26_l:
196
 
197
       cmp ebx,47
198
      jne no_27_l
199
       mov eax,8
200
       jmp che
201
      no_27_l:
202
 
203
      cmp ebx,48
204
      jne no_28_l
205
       mov eax,8
206
       jmp che
207
      no_28_l:
208
 
209
       cmp ebx,49
210
      jne no_29_l
211
       mov eax,8
212
       jmp che
213
      no_29_l:
214
 
215
 
216
      cmp ebx,50
217
      jne no_30_l
218
       mov eax,8
219
       jmp che
220
      no_30_l:
221
 
222
      cmp ebx,40
223
      je no_change_cursor
224
 
225
      cmp ebx,41
226
      je no_change_cursor
227
 
228
      cmp ebx,42
229
      je no_change_cursor
230
 
231
      cmp ebx,43
232
      je no_change_cursor
233
 
234
      cmp ebx,44
235
      je no_change_cursor
236
 
237
      cmp ebx,52
238
      je no_change_cursor
239
 
240
      cmp ebx,51
241
      je no_change_cursor
242
 
243
      cmp ebx,52
244
      je no_change_cursor
245
 
246
      che:
247
 
6364 IgorA 248
	cmp eax,8 ;cursors count
249
	jg no_change_cursor
250
 
255 heavyiron 251
      dec eax
252
      shl eax,2
253
      mov ebx,[PointerToCursorsID]
254
      add eax,ebx
255
      mov ecx,[eax]
256
 
6364 IgorA 257
      mcall SF_MOUSE_GET, SSF_SET_CURSOR
255 heavyiron 258
 
259
      no_change_cursor:
260
 
261
      ret
262
 
263
;delete cursors
264
;IN
265
;eax- pointer to IDs of cursors
266
;OUT
267
;not returned value
268
 
269
delete_cursors:
270
 
271
     mov [PointerToCursorsID],eax
272
     mov edx,8
273
 
274
  next_cursor_delete:
275
 
276
     mov eax,[PointerToCursorsID]
277
     mov ecx,[eax]
278
 
279
     mov eax,37
280
     mov ebx,6
485 heavyiron 281
     mcall
255 heavyiron 282
 
283
     add [PointerToCursorsID],4
284
 
285
     dec edx
286
     jnz next_cursor_delete
287
 
288
     ret
289
 
290
PointerToCursorsID  dd 0