Subversion Repositories Kolibri OS

Rev

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

Rev 803 Rev 842
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: 803 $
58
$Revision: 842 $
Line 4198... Line 4198...
4198
	jnz	@f
4198
	jnz	@f
4199
	mov	ebp, putimage_get8bpp
4199
	mov	ebp, putimage_get8bpp
4200
	mov	esi, putimage_init8bpp
4200
	mov	esi, putimage_init8bpp
4201
	jmp	sys_putimage_bpp
4201
	jmp	sys_putimage_bpp
4202
@@:
4202
@@:
-
 
4203
        cmp     esi, 16
-
 
4204
        jnz     @f
-
 
4205
        mov     ebp, putimage_get16bpp
-
 
4206
        mov     esi, putimage_init16bpp
-
 
4207
        jmp     sys_putimage_bpp
-
 
4208
@@:
4203
	cmp	esi, 24
4209
	cmp	esi, 24
4204
	jnz	@f
4210
	jnz	@f
4205
	mov	ebp, putimage_get24bpp
4211
	mov	ebp, putimage_get24bpp
4206
	mov	esi, putimage_init24bpp
4212
	mov	esi, putimage_init24bpp
4207
	jmp	sys_putimage_bpp
4213
	jmp	sys_putimage_bpp
Line 4210... Line 4216...
4210
	jnz	@f
4216
	jnz	@f
4211
	mov	ebp, putimage_get32bpp
4217
	mov	ebp, putimage_get32bpp
4212
	mov	esi, putimage_init32bpp
4218
	mov	esi, putimage_init32bpp
4213
	jmp	sys_putimage_bpp
4219
	jmp	sys_putimage_bpp
4214
@@:
4220
@@:
4215
	pop	ebp esi
4221
	pop	ebp esi ebp
4216
	ret
4222
	ret
Line 4217... Line 4223...
4217
 
4223
 
4218
putimage_init24bpp:
4224
putimage_init24bpp:
4219
	lea	eax, [eax*3]
4225
	lea	eax, [eax*3]
Line 4238... Line 4244...
4238
	ret
4244
	ret
4239
putimage_get32bpp:
4245
putimage_get32bpp:
4240
	lodsd
4246
	lodsd
4241
	ret	4
4247
	ret	4
Line -... Line 4248...
-
 
4248
 
-
 
4249
putimage_init16bpp:
-
 
4250
        add     eax, eax
-
 
4251
        ret
-
 
4252
putimage_get16bpp:
-
 
4253
; 0RRRRRGGGGGBBBBB -> 00000000RRRRR000GGGGG000BBBBB000
-
 
4254
        push    ecx edx
-
 
4255
        movzx   eax, word [esi]
-
 
4256
        add     esi, 2
-
 
4257
        mov     ecx, eax
-
 
4258
        mov     edx, eax
-
 
4259
        and     eax, 0x1F
-
 
4260
        and     ecx, 0x1F shl 5
-
 
4261
        and     edx, 0x1F shl 10
-
 
4262
        shl     eax, 3
-
 
4263
        shl     ecx, 6
-
 
4264
        shl     edx, 9
-
 
4265
        or      eax, ecx
-
 
4266
        or      eax, edx
-
 
4267
        pop     edx ecx
-
 
4268
        ret
4242
 
4269
 
4243
; eax x beginning
4270
; eax x beginning
4244
; ebx y beginning
4271
; ebx y beginning
4245
; ecx x end
4272
; ecx x end
4246
	; edx y end
4273
	; edx y end