Subversion Repositories Kolibri OS

Rev

Rev 115 | Rev 380 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 115 Rev 379
Line 16... Line 16...
16
    jns  .loop
16
    jns  .loop
Line 17... Line 17...
17
 
17
 
18
    pop  ecx
18
    pop  ecx
19
    pop  edx
19
    pop  edx
20
    ret
20
    ret
21
    
21
 
22
incecx:
22
incecx:
23
    push edx
23
    push edx
24
    push ecx
24
    push ecx
25
    
25
 
26
    mov  edx,2
26
    mov  edx,2
27
  .loop:
27
  .loop:
28
    
28
 
29
    cmp  byte [esp+edx],0xdf
29
    cmp  byte [esp+edx],0xdf
30
    jbe  @f
30
    jbe  @f
31
    mov  [esp+edx],byte 0xdf
31
    mov  [esp+edx],byte 0xdf
32
   @@:
32
   @@:
33
    add  [esp+edx],byte 0x20
33
    add  [esp+edx],byte 0x20
34
    
34
 
35
    dec  edx
35
    dec  edx
36
    jns  .loop
36
    jns  .loop
37
    pop  ecx
37
    pop  ecx
38
    pop  edx
38
    pop  edx
39
    ret
39
    ret
40
    
40
 
41
incecx2:
41
incecx2:
42
    push edx
42
    push edx
43
    push ecx
43
    push ecx
44
    
44
 
45
    mov  edx,2
45
    mov  edx,2
46
  .loop:
46
  .loop:
47
    
47
 
48
    cmp  byte [esp+edx],0xeb
48
    cmp  byte [esp+edx],0xeb
49
    jbe  @f
49
    jbe  @f
50
    mov  [esp+edx],byte 0xeb
50
    mov  [esp+edx],byte 0xeb
51
   @@:
51
   @@:
52
    add  [esp+edx],byte 0x14
52
    add  [esp+edx],byte 0x14
53
    
53
 
54
    dec  edx
54
    dec  edx
55
    jns  .loop
55
    jns  .loop
56
    pop  ecx
56
    pop  ecx
57
    pop  edx
57
    pop  edx
Line 66... Line 66...
66
        push  ecx
66
        push  ecx
67
        push  edx
67
        push  edx
Line 68... Line 68...
68
 
68
 
69
        shr   eax,16
69
        shr   eax,16
70
        shr   ebx,16
70
        shr   ebx,16
Line 71... Line 71...
71
        mov   edx,[0x3010]
71
        mov   edx,[TASK_BASE]
72
 
72
 
73
		add   eax,[edx-twdw + WDATA.box.left]
73
		add   eax,[edx-twdw + WDATA.box.left]
74
		add   ebx,[edx-twdw + WDATA.box.top]
74
		add   ebx,[edx-twdw + WDATA.box.top]
Line 162... Line 162...
162
 
162
 
Line 163... Line 163...
163
 
163
 
164
sys_button:
164
sys_button:
165
 
165
 
166
        push    edi
166
        push    edi
167
        mov     edi,[0x3000]
167
        mov     edi,[CURRENT_TASK]
168
        shl     edi,8
168
        shl     edi,8
169
        rol     eax,16
169
        rol     eax,16
Line 195... Line 195...
195
 
195
 
196
        pushad                       ; button body
196
        pushad                       ; button body
197
        push  ebx
197
        push  ebx
198
        shr   eax,16
198
        shr   eax,16
199
        shr   ebx,16
199
        shr   ebx,16
200
        mov   edx,[0x3010]
200
        mov   edx,[TASK_BASE]
201
		mov   esi,[edx-twdw + WDATA.box.left]
201
        mov   esi,[edx-twdw + WDATA.box.left]
202
		mov   edi,[edx-twdw + WDATA.box.top]
202
        mov   edi,[edx-twdw + WDATA.box.top]
203
        add   eax,esi
203
        add   eax,esi
204
        add   ebx,edi
204
        add   ebx,edi
205
        mov   cx,ax
205
        mov   cx,ax
206
        mov   dx,bx
206
        mov   dx,bx
Line 245... Line 245...
245
        mov   [edi],ax
245
        mov   [edi],ax
Line 246... Line 246...
246
 
246
 
247
        shl   eax,4
247
        shl   eax,4
Line 248... Line 248...
248
        add   eax,edi
248
        add   eax,edi
249
 
249
 
Line 250... Line 250...
250
        mov   bx,[0x3000]
250
        mov   bx,[CURRENT_TASK]
251
        mov   [eax],bx
251
        mov   [eax],bx
252
 
252
 
Line 296... Line 296...
296
    dec   bx
296
    dec   bx
297
    jz    rnmba
297
    jz    rnmba
Line 298... Line 298...
298
 
298
 
Line 299... Line 299...
299
    add   eax,0x10
299
    add   eax,0x10
300
 
300
 
301
    mov   dx,[0x3000]
301
    mov   dx,[CURRENT_TASK]
Line 302... Line 302...
302
    cmp   dx,[eax]
302
    cmp   dx,[eax]
303
    jnz   rnewba
303
    jnz   rnewba
Line 502... Line 502...
502
 
502
 
Line 503... Line 503...
503
    ; check that button is at top of windowing stack
503
    ; check that button is at top of windowing stack
504
 
504
 
505
    movzx ebx,word [eax]
505
    movzx ebx,word [eax]
506
    movzx ecx,word [0xC000 + ebx * 2]
506
    movzx ecx,word [0xC000 + ebx * 2]
Line 507... Line 507...
507
    cmp   ecx,[0x3004]
507
    cmp   ecx,[TASK_COUNT]
Line 508... Line 508...
508
    jne   buttonnewcheck
508
    jne   buttonnewcheck