Subversion Repositories Kolibri OS

Rev

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

Rev 875 Rev 906
Line 53... Line 53...
53
;;
53
;;
54
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
54
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Line 55... Line 55...
55
 
55
 
Line 56... Line 56...
56
include 'macros.inc'
56
include 'macros.inc'
Line 57... Line 57...
57
 
57
 
Line 58... Line 58...
58
$Revision: 875 $
58
$Revision: 906 $
Line 4212... Line 4212...
4212
	jnz	@f
4212
	jnz	@f
4213
	mov	ebp, putimage_get8bpp
4213
	mov	ebp, putimage_get8bpp
4214
	mov	esi, putimage_init8bpp
4214
	mov	esi, putimage_init8bpp
4215
	jmp	sys_putimage_bpp
4215
	jmp	sys_putimage_bpp
4216
@@:
4216
@@:
-
 
4217
        cmp     esi, 15
-
 
4218
        jnz     @f
-
 
4219
        mov     ebp, putimage_get15bpp
-
 
4220
        mov     esi, putimage_init15bpp
-
 
4221
        jmp     sys_putimage_bpp
-
 
4222
@@:
4217
        cmp     esi, 16
4223
        cmp     esi, 16
4218
        jnz     @f
4224
        jnz     @f
4219
        mov     ebp, putimage_get16bpp
4225
        mov     ebp, putimage_get16bpp
4220
        mov     esi, putimage_init16bpp
4226
        mov     esi, putimage_init16bpp
4221
        jmp     sys_putimage_bpp
4227
        jmp     sys_putimage_bpp
Line 4258... Line 4264...
4258
	ret
4264
	ret
4259
putimage_get32bpp:
4265
putimage_get32bpp:
4260
	lodsd
4266
	lodsd
4261
	ret	4
4267
	ret	4
Line 4262... Line 4268...
4262
 
4268
 
4263
putimage_init16bpp:
4269
putimage_init15bpp:
4264
        add     eax, eax
4270
        add     eax, eax
4265
        ret
4271
        ret
4266
putimage_get16bpp:
4272
putimage_get15bpp:
4267
; 0RRRRRGGGGGBBBBB -> 00000000RRRRR000GGGGG000BBBBB000
4273
; 0RRRRRGGGGGBBBBB -> 00000000RRRRR000GGGGG000BBBBB000
4268
        push    ecx edx
4274
        push    ecx edx
4269
        movzx   eax, word [esi]
4275
        movzx   eax, word [esi]
4270
        add     esi, 2
4276
        add     esi, 2
Line 4277... Line 4283...
4277
        shl     ecx, 6
4283
        shl     ecx, 6
4278
        shl     edx, 9
4284
        shl     edx, 9
4279
        or      eax, ecx
4285
        or      eax, ecx
4280
        or      eax, edx
4286
        or      eax, edx
4281
        pop     edx ecx
4287
        pop     edx ecx
-
 
4288
        ret     4
-
 
4289
 
-
 
4290
putimage_init16bpp:
-
 
4291
        add     eax, eax
4282
        ret
4292
        ret
-
 
4293
putimage_get16bpp:
-
 
4294
; RRRRRGGGGGGBBBBB -> 00000000RRRRR000GGGGGG00BBBBB000
-
 
4295
        push    ecx edx
-
 
4296
        movzx   eax, word [esi]
-
 
4297
        add     esi, 2
-
 
4298
        mov     ecx, eax
-
 
4299
        mov     edx, eax
-
 
4300
        and     eax, 0x1F
-
 
4301
        and     ecx, 0x3F shl 5
-
 
4302
        and     edx, 0x1F shl 11
-
 
4303
        shl     eax, 3
-
 
4304
        shl     ecx, 5
-
 
4305
        shl     edx, 8
-
 
4306
        or      eax, ecx
-
 
4307
        or      eax, edx
-
 
4308
        pop     edx ecx
-
 
4309
        ret     4
Line 4283... Line 4310...
4283
 
4310
 
4284
; eax x beginning
4311
; eax x beginning
4285
; ebx y beginning
4312
; ebx y beginning
4286
; ecx x end
4313
; ecx x end