Subversion Repositories Kolibri OS

Rev

Rev 5715 | Rev 5717 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 5715 Rev 5716
Line 12... Line 12...
12
;;                                                                 ;;
12
;;                                                                 ;;
13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
13
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 14... Line 14...
14
 
14
 
Line -... Line 15...
-
 
15
pixel_to_24bpp:         ; returns in ecx
-
 
16
 
-
 
17
        push    eax
-
 
18
  @@:
-
 
19
        lea     eax, [esi+BYTES_PER_PIXEL]
-
 
20
        cmp     [datapointer], eax
-
 
21
        jae     @f
-
 
22
        call    read_data.more
-
 
23
        jmp     @b
15
pixel_to_24bpp:         ; returns in ecx
24
  @@:
Line 16... Line 25...
16
 
25
 
Line 17... Line 26...
17
if BITS_PER_PIXEL = 8
26
if BITS_PER_PIXEL = 8
18
 
27
 
19
        push    eax ebx
28
        push    ebx
20
 
29
 
Line 37... Line 46...
37
        mul     bl
46
        mul     bl
38
        shl     ecx, 8
47
        shl     ecx, 8
39
        mov     cl, al          ; blue
48
        mov     cl, al          ; blue
Line 40... Line 49...
40
 
49
 
41
        inc     esi
50
        inc     esi
Line 42... Line 51...
42
        pop     ebx eax
51
        pop     ebx
Line 43... Line -...
43
 
-
 
44
else if BITS_PER_PIXEL = 16
52
 
45
 
53
else if BITS_PER_PIXEL = 16
46
        push    eax
54
 
Line 47... Line 55...
47
        lodsw
55
        lodsw
Line 54... Line 62...
54
        shl     ecx, 8
62
        shl     ecx, 8
Line 55... Line 63...
55
 
63
 
56
        mov     cl, al
64
        mov     cl, al
57
        shl     cl, 3
65
        shl     cl, 3
58
        and     cx, 0x00f8      ; blue
-
 
Line 59... Line 66...
59
        pop     eax
66
        and     cx, 0x00f8      ; blue
Line 60... Line 67...
60
 
67
 
61
else
68
else
62
 
69
 
63
        xor     ecx, ecx
70
        xor     ecx, ecx
64
        mov     cx, [esi]
71
        mov     cx, [esi]
Line 65... Line 72...
65
        shl     ecx, 8
72
        shl     ecx, 8
-
 
73
        mov     cl, [esi+2]
Line 66... Line 74...
66
        mov     cl, [esi+2]
74
        add     esi, 3
Line 67... Line 75...
67
        add     esi, 3
75