Subversion Repositories Kolibri OS

Rev

Rev 9941 | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 9941 Rev 10051
Line 1... Line 1...
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
2
;;                                                              ;;
2
;;                                                              ;;
3
;; Copyright (C) KolibriOS team 2004-2021. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2024. All rights reserved. ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
4
;; Copyright (C) MenuetOS 2000-2004 Ville Mikael Turjanmaa      ;;
5
;; Distributed under terms of the GNU General Public License    ;;
5
;; Distributed under terms of the GNU General Public License    ;;
6
;;                                                              ;;
6
;;                                                              ;;
7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
7
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 8... Line -...
8
 
-
 
Line 9... Line 8...
9
$Revision: 9941 $
8
 
10
 
9
 
11
;==============================================================================
10
;==============================================================================
Line 12... Line 11...
12
;     public functions 
11
;     public functions
Line 13... Line 12...
13
;==============================================================================
12
;==============================================================================
Line 72... Line 71...
72
;------------------------------------------------------------------------------
71
;------------------------------------------------------------------------------
Line 73... Line 72...
73
 
72
 
74
 
73
 
75
align 4
74
align 4
76
; system function 1
75
; system function 1
77
syscall_setpixel:  
76
syscall_setpixel:
78
        mov     eax, ebx
77
        mov     eax, ebx
79
        mov     ebx, ecx
78
        mov     ebx, ecx
80
        mov     ecx, edx
79
        mov     ecx, edx
Line 90... Line 89...
90
;------------------------------------------------------------------------------
89
;------------------------------------------------------------------------------
Line 91... Line 90...
91
 
90
 
92
 
91
 
93
align 4
92
align 4
Line 94... Line 93...
94
; system function 4
93
; system function 4
95
syscall_writetext: 
94
syscall_writetext:
96
 
95
 
97
        push    esi    ;check pointer on kernel address.
96
        push    esi    ;check pointer on kernel address.
Line 130... Line 129...
130
;------------------------------------------------------------------------------
129
;------------------------------------------------------------------------------
Line 131... Line 130...
131
 
130
 
132
 
131
 
133
align 4
132
align 4
134
; system function 13
133
; system function 13
135
syscall_drawrect: 
134
syscall_drawrect:
136
        mov     edi, edx ; color + gradient
135
        mov     edi, edx ; color + gradient
137
        and     edi, 0x80FFFFFF
136
        and     edi, 0x80FFFFFF
138
        test    bx, bx  ; x.size
137
        test    bx, bx  ; x.size
Line 182... Line 181...
182
        jmp     __sys_draw_line
181
        jmp     __sys_draw_line
183
;------------------------------------------------------------------------------
182
;------------------------------------------------------------------------------
Line 184... Line 183...
184
 
183
 
185
 
184
 
186
align 4
185
align 4
187
; system function 48 
186
; system function 48
188
syscall_display_settings: 
187
syscall_display_settings:
189
        cmp     ebx, .ftable.size-1
188
        cmp     ebx, .ftable.size-1
Line 190... Line 189...
190
        ja      .ret
189
        ja      .ret
Line 404... Line 403...
404
;> ecx = shape data address
403
;> ecx = shape data address
405
; --------------------------
404
; --------------------------
406
;; Set window shape scale:
405
;; Set window shape scale:
407
;> ebx = 1
406
;> ebx = 1
408
;> ecx = scale power (resulting scale is 2^ebx)
407
;> ecx = scale power (resulting scale is 2^ebx)
409
syscall_set_window_shape: 
408
syscall_set_window_shape:
410
        mov     edi, [current_slot]
409
        mov     edi, [current_slot]
411
        mov     edi, [edi + APPDATA.window]
410
        mov     edi, [edi + APPDATA.window]
Line 412... Line 411...
412
 
411
 
413
        test    ebx, ebx
412
        test    ebx, ebx
Line 424... Line 423...
424
.exit:
423
.exit:
425
        ret
424
        ret
426
;------------------------------------------------------------------------------
425
;------------------------------------------------------------------------------
Line 427... Line 426...
427
 
426
 
428
align 4
427
align 4
429
;     system function 67 
428
;     system function 67
430
syscall_move_window: 
429
syscall_move_window:
431
        mov     edi, [current_slot]
430
        mov     edi, [current_slot]
Line 432... Line 431...
432
        mov     edi, [edi + APPDATA.window]
431
        mov     edi, [edi + APPDATA.window]
433
 
432
 
Line 480... Line 479...
480
.exit:
479
.exit:
481
        ret
480
        ret
482
;------------------------------------------------------------------------------
481
;------------------------------------------------------------------------------
Line 483... Line 482...
483
 
482
 
484
; system function 71
483
; system function 71
485
syscall_window_settings: 
484
syscall_window_settings:
486
        mov     edi, [current_slot]
485
        mov     edi, [current_slot]
487
        mov     edi, [edi + APPDATA.window]
486
        mov     edi, [edi + APPDATA.window]
488
        or      [edi + WDATA.fl_wstyle], WSTYLE_HASCAPTION
487
        or      [edi + WDATA.fl_wstyle], WSTYLE_HASCAPTION
489
        cmp     ebx, 2
488
        cmp     ebx, 2
Line 2320... Line 2319...
2320
        test    al, al
2319
        test    al, al
2321
        jz      .exit
2320
        jz      .exit
2322
        inc     edx
2321
        inc     edx
2323
@@:
2322
@@:
2324
        shl     eax, 28
2323
        shl     eax, 28
2325
        or      ecx, eax        
2324
        or      ecx, eax
2326
        xor     edi, edi
2325
        xor     edi, edi
2327
        stc
2326
        stc
2328
        call    dtext._
2327
        call    dtext._
2329
.exit:
2328
.exit:
2330
        jmp     __sys_draw_pointer
2329
        jmp     __sys_draw_pointer