Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 2955 → Rev 2956

/kernel/branches/Kolibri-A/trunk/gui/font.inc
146,6 → 146,7
 
xor ebp, ebp ; font#
mov [font_check_routine], ebp
; inc ebp
 
test ecx, ecx
js .checked
187,13 → 188,13
 
 
align 8
sdsh_data:
nsvf_data:
 
diff16 "sdsh_data : ",0,$
 
include 'fonts/sd_data.asm'
 
sdsh_code:
nsvf_code:
 
; eax = if (bit[31])
; then lower 31 bits points to the user-selected font
221,13 → 222,13
; eax = left side X
; ebx = bottom Y
; edi = colour 0x0RRGGBB
; ebp = font@
; ebp = font#
; ecx = ascii, zero-extended to 32bits
push ecx
push edx
push ebp
shl ebp, 4
add ebp, sdsh_data.info
shl ebp, 5
add ebp, nsvf_info
call ch_checkscreen
jb .exit
call ch_checkwin
234,11 → 235,12
jc .exit
mov edx, [ebp + 4] ; chartable addr
mov cx, word[edx + ecx*2] ; tick info
and cx, 0xFFE7 ; bits 3,4 used for width control
mov edx, ecx
and ecx, 7 ; cl = number of ticks
jz .blank
shr edx, 4 ; offset in the chartable
add edx, sdsh_data.chars ; edx -> the char's ticklist
add edx, [ebp + 12] ; edx -> the char's ticklist
.next_tick:
call parse_tick
add edx, 2
287,7 → 289,7
 
.gptick.1:
; 1-byte tickgroups .v1-v4:
lea esi, [sdsh_data.v1+edx]
lea esi, [nsvf.v1+edx]
inc dh ; dh = 1 vertex
sub dl, 2 ; .v1 : 2 ticks only (#38, 39)
jae .gptick.1v2v4
307,7 → 309,7
cmp dl, 112
jae .gptick.3
sub dl, 80
lea esi, [sdsh_data.v5 + edx*2]
lea esi, [nsvf.v5 + edx*2]
mov dh, 5
shr dl, 3
jmp .gptick.done
317,7 → 319,7
cmp dl, 128
jae .gptick.4
sub dl, 112
lea esi, [sdsh_data.v9 + edx*2 + edx]
lea esi, [nsvf.v9 + edx*2 + edx]
mov dh, 9
shr dl, 2
jmp .gptick.done
327,7 → 329,7
cmp dl, 128 ; fix this when needed
jae .exit ; not implemented yet!
sub dl, 128
lea esi, [sdsh_data.v13 + edx*4]
lea esi, [nsvf.v13 + edx*4]
mov dh, 13
shr dl, 2
 
348,16 → 350,16
@@: dec dl
jz .cstick.2
.cstick.3:
mov esi, sdsh_data.cs3 ; 12pix-ring
mov esi, nsvf_data.cs3 ; 12pix-ring
mov dl, 10
jmp .draw
.cstick.2:
mov dl, 7 ; 9-pix filled square
.cstick.1:
mov esi, sdsh_data.cs2 ; the square tickfield
mov esi, nsvf_data.cs2 ; the square tickfield
jmp .draw
.cstick.0:
mov esi, sdsh_data.cs0 ; 4pix-square
mov esi, nsvf_data.cs0 ; 4pix-square
mov dl, 2
jmp .draw
 
374,7 → 376,7
call ch_putpixel
jmp .exit
.ritick.1:
mov esi, sdsh_data.ri1 ; 8pix-ring
mov esi, nsvf_data.ri1 ; 8pix-ring
mov dl, 6
jmp .draw
 
390,7 → 392,7
sub dl, 2 ; num_vertice = num_points - 2
and cl, 0x18 ; two (lower) rotation bits
shr cl, 3
mov esi, sdsh_data.blank
mov esi, nsvf_data.blank
 
.draw:
; cl = rot; dl = numvert; dh = orig.xy
584,4 → 586,4
ret
 
 
diff10 "new font code size",sdsh_code,$
diff10 "new font code size",nsvf_code,$