Rev 5722 | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5722 | Rev 5750 | ||
---|---|---|---|
Line 49... | Line 49... | ||
49 | 49 | ||
Line 50... | Line 50... | ||
50 | mov edx, [rectangle.height] |
50 | mov edx, [rectangle.height] |
51 | 51 | ||
52 | .lineloop: |
- | |
53 | mov ecx, [rectangle.width] |
- | |
54 | if BITS_PER_PIXEL = 24 |
- | |
Line 55... | Line 52... | ||
55 | lea ecx, [ecx*2+ecx] |
52 | .lineloop: |
56 | end if |
53 | mov ecx, [rectangle.width] |
57 | - | ||
58 | if BITS_PER_PIXEL = 8 |
- | |
59 | .pixelloop: |
54 | |
60 | mov bl, 85 |
- | |
61 | mov al, [esi] |
55 | if BITS_PER_PIXEL = 8 |
62 | shr al, 6 |
- | |
63 | and al, 3 |
- | |
64 | mul bl |
56 | .pixelloop: |
65 | stosb ; blue |
- | |
66 | mov bl, 36 |
- | |
67 | mov al, [esi] |
57 | xor eax, eax |
68 | shr al, 3 |
- | |
69 | and al, 7 |
- | |
70 | mul bl |
58 | lodsb |
71 | stosb ; green |
59 | mov eax, [lut_8bpp+eax*4] |
72 | mov al, [esi] |
- | |
73 | and al, 7 |
- | |
74 | mul bl |
60 | stosw |
75 | stosb ; red |
61 | shr eax, 16 |
76 | inc esi |
62 | stosb |
77 | dec ecx |
63 | dec ecx |
78 | jnz .pixelloop |
64 | jnz .pixelloop |
Line 91... | Line 77... | ||
91 | and al, 0xf8 |
77 | and al, 0xf8 |
92 | stosb ; red |
78 | stosb ; red |
93 | dec ecx |
79 | dec ecx |
94 | jnz .pixelloop |
80 | jnz .pixelloop |
95 | else if BITS_PER_PIXEL = 24 |
81 | else if BITS_PER_PIXEL = 24 |
- | 82 | lea ecx, [ecx*2+ecx] |
|
96 | rep movsb |
83 | rep movsb |
97 | else if BITS_PER_PIXEL = 32 |
84 | else if BITS_PER_PIXEL = 32 |
98 | .pixelloop: |
85 | .pixelloop: |
99 | movsw |
86 | movsw |
100 | movsb |
87 | movsb |