Subversion Repositories Kolibri OS

Rev

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

Rev 1635 Rev 2434
Line 3... Line 3...
3
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;;
3
;; Copyright (C) KolibriOS team 2004-2008. All rights reserved. ;;
4
;; Distributed under terms of the GNU General Public License    ;;
4
;; Distributed under terms of the GNU General Public License    ;;
5
;;                                                              ;;
5
;;                                                              ;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
6
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 7... Line 7...
7
 
7
 
Line 8... Line 8...
8
$Revision: 1300 $
8
$Revision: 2434 $
9
 
9
 
10
; // Alver 22.06.2008 // {
10
; // Alver 22.06.2008 // {
11
align 4
11
align 4
12
dtext_asciiz_esi:                          ; for skins title out
12
dtext_asciiz_esi:                          ; for skins title out
13
    push eax
13
        push    eax
14
    xor eax, eax
14
        xor     eax, eax
15
    inc eax
15
        inc     eax
Line 16... Line 16...
16
    jmp    dtext.1
16
        jmp     dtext.1
17
; } \\ Alver \\
17
; } \\ Alver \\
18
 
18
 
Line 26... Line 26...
26
        ; B = 1 <=> fill background with color eax
26
        ; B = 1 <=> fill background with color eax
27
        ; edx start of text
27
        ; edx start of text
28
        ; edi 1 force
28
        ; edi 1 force
Line 29... Line 29...
29
 
29
 
30
; // Alver 22.06.2008 // {
30
; // Alver 22.06.2008 // {
31
       push eax
31
        push    eax
32
        xor     eax, eax
32
        xor     eax, eax
33
.1:
33
.1:
34
; } \\ Alver \\
34
; } \\ Alver \\
35
        pushad
-
 
36
        call    [_display.disable_mouse]
-
 
37
 
35
        pushad
38
        movsx   eax, bx         ; eax=y
36
        movsx   eax, bx         ; eax=y
39
        sar     ebx, 16         ; ebx=x
37
        sar     ebx, 16         ; ebx=x
40
        xchg    eax, ebx        ; eax=x, ebx=y
38
        xchg    eax, ebx        ; eax=x, ebx=y
41
        cmp     esi, 255
39
        cmp     esi, 255
Line 49... Line 47...
49
        jmp     @f
47
        jmp     @f
50
.test_asciiz:
48
.test_asciiz:
51
        cmp     byte [edx], 0
49
        cmp     byte [edx], 0
52
        jz      .end
50
        jz      .end
53
; // Alver 22.06.2008 // {
51
; // Alver 22.06.2008 // {
54
        cmp byte [esp+28], 1
52
        cmp     byte [esp+28], 1
55
        jne   @f
53
        jne     @f
56
        dec     esi
54
        dec     esi
57
        js        .end
55
        js      .end
58
; } \\ Alver \\
56
; } \\ Alver \\
59
@@:
57
@@:
60
        inc     edx
58
        inc     edx
61
        pushad
59
        pushad
62
        movzx   edx, byte [edx-1]
60
        movzx   edx, byte [edx-1]
Line 69... Line 67...
69
        or      dl, 1 shl 6
67
        or      dl, 1 shl 6
70
.pixloop1:
68
.pixloop1:
71
        shr     dl, 1
69
        shr     dl, 1
72
        jz      .pixloop1end
70
        jz      .pixloop1end
73
        jnc     .nopix
71
        jnc     .nopix
-
 
72
        and     ecx, 0xFBFFFFFF  ;negate 0x04000000 save to mouseunder area
74
        call    [putpixel]
73
        call    [putpixel]
75
        jmp     .pixloop1cont
74
        jmp     .pixloop1cont
76
.nopix:
75
.nopix:
77
        test    ecx, 0x40000000
76
        test    ecx, 0x40000000
78
        jz      .pixloop1cont
77
        jz      .pixloop1cont
79
        push    ecx
78
        push    ecx
80
        mov     ecx, [esp+4+20h+20h]
79
        mov     ecx, [esp+4+20h+20h]
-
 
80
        and     ecx, 0xFBFFFFFF  ;negate 0x04000000 save to mouseunder area
81
        call    [putpixel]
81
        call    [putpixel]
82
        pop     ecx
82
        pop     ecx
83
.pixloop1cont:
83
.pixloop1cont:
84
        inc     eax
84
        inc     eax
85
        jmp     .pixloop1
85
        jmp     .pixloop1
Line 101... Line 101...
101
        mov     dl, byte [ebp]
101
        mov     dl, byte [ebp]
102
        push    esi
102
        push    esi
103
.pixloop2:
103
.pixloop2:
104
        shr     dl, 1
104
        shr     dl, 1
105
        jnc     .nopix2
105
        jnc     .nopix2
-
 
106
        and     ecx, 0xFBFFFFFF  ;negate 0x04000000 save to mouseunder area
106
        call    [putpixel]
107
        call    [putpixel]
107
        jmp     .pixloop2cont
108
        jmp     .pixloop2cont
108
.nopix2:
109
.nopix2:
109
        test    ecx, 0x40000000
110
        test    ecx, 0x40000000
110
        jz      .pixloop2cont
111
        jz      .pixloop2cont
111
        push    ecx
112
        push    ecx
112
        mov     ecx, [esp+12+20h+20h]
113
        mov     ecx, [esp+12+20h+20h]
-
 
114
        and     ecx, 0xFBFFFFFF  ;negate 0x04000000 save to mouseunder area
113
        call    [putpixel]
115
        call    [putpixel]
114
        pop     ecx
116
        pop     ecx
115
.pixloop2cont:
117
.pixloop2cont:
116
        inc     eax
118
        inc     eax
117
        dec     esi
119
        dec     esi
Line 126... Line 128...
126
        add     dword [esp+28], esi
128
        add     dword [esp+28], esi
127
        popad
129
        popad
128
        jmp     .loop
130
        jmp     .loop
129
.end:
131
.end:
130
        popad
132
        popad
131
        pop  eax                ; << // Alver 22.06.2008 // <<
133
        pop     eax             ; << // Alver 22.06.2008 // <<
132
        ret
134
        ret