Subversion Repositories Kolibri OS

Rev

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

Rev 843 Rev 844
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: 843 $
58
$Revision: 844 $
Line 4234... Line 4234...
4234
	jnz	@f
4234
	jnz	@f
4235
	mov	ebp, putimage_get8bpp
4235
	mov	ebp, putimage_get8bpp
4236
	mov	esi, putimage_init8bpp
4236
	mov	esi, putimage_init8bpp
4237
	jmp	sys_putimage_bpp
4237
	jmp	sys_putimage_bpp
4238
@@:
4238
@@:
-
 
4239
        cmp     esi, 16
-
 
4240
        jnz     @f
-
 
4241
        mov     ebp, putimage_get16bpp
-
 
4242
        mov     esi, putimage_init16bpp
-
 
4243
        jmp     sys_putimage_bpp
-
 
4244
@@:
4239
	cmp	esi, 24
4245
	cmp	esi, 24
4240
	jnz	@f
4246
	jnz	@f
4241
	mov	ebp, putimage_get24bpp
4247
	mov	ebp, putimage_get24bpp
4242
	mov	esi, putimage_init24bpp
4248
	mov	esi, putimage_init24bpp
4243
	jmp	sys_putimage_bpp
4249
	jmp	sys_putimage_bpp
Line 4246... Line 4252...
4246
	jnz	@f
4252
	jnz	@f
4247
	mov	ebp, putimage_get32bpp
4253
	mov	ebp, putimage_get32bpp
4248
	mov	esi, putimage_init32bpp
4254
	mov	esi, putimage_init32bpp
4249
	jmp	sys_putimage_bpp
4255
	jmp	sys_putimage_bpp
4250
@@:
4256
@@:
4251
	pop	ebp esi
4257
	pop	ebp esi ebp
4252
	ret
4258
	ret
Line 4253... Line 4259...
4253
 
4259
 
4254
putimage_init24bpp:
4260
putimage_init24bpp:
4255
	lea	eax, [eax*3]
4261
	lea	eax, [eax*3]
Line 4274... Line 4280...
4274
	ret
4280
	ret
4275
putimage_get32bpp:
4281
putimage_get32bpp:
4276
	lodsd
4282
	lodsd
4277
	ret	4
4283
	ret	4
Line -... Line 4284...
-
 
4284
 
-
 
4285
putimage_init16bpp:
-
 
4286
        add     eax, eax
-
 
4287
        ret
-
 
4288
putimage_get16bpp:
-
 
4289
; 0RRRRRGGGGGBBBBB -> 00000000RRRRR000GGGGG000BBBBB000
-
 
4290
        push    ecx edx
-
 
4291
        movzx   eax, word [esi]
-
 
4292
        add     esi, 2
-
 
4293
        mov     ecx, eax
-
 
4294
        mov     edx, eax
-
 
4295
        and     eax, 0x1F
-
 
4296
        and     ecx, 0x1F shl 5
-
 
4297
        and     edx, 0x1F shl 10
-
 
4298
        shl     eax, 3
-
 
4299
        shl     ecx, 6
-
 
4300
        shl     edx, 9
-
 
4301
        or      eax, ecx
-
 
4302
        or      eax, edx
-
 
4303
        pop     edx ecx
-
 
4304
        ret
4278
 
4305
 
4279
; eax x beginning
4306
; eax x beginning
4280
; ebx y beginning
4307
; ebx y beginning
4281
; ecx x end
4308
; ecx x end
4282
	; edx y end
4309
	; edx y end