Fix a small bug and optimization some code.

git-svn-id: svn://kolibrios.org@1169 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
Alexey Teplov ( 2009-09-19 08:26:53 +00:00
parent 83e2f051b2
commit 2ff524842f
3 changed files with 31 additions and 32 deletions

View File

@ -85,7 +85,10 @@ button:
mcall 17 ;¯®«ãç¨âì ¨¤¥­â¨ä¨ª â®à ­ ¦ â®© ª« ¢¨è¨
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ­  ®¡à ¡®â稪 ᮡë⨩ still
jz still
exit: mcall -1
exit:
call [free_fulder_info]
call [free_font]
mcall -1
key:
mcall 2 ;§ £à㧨¬ §­ ç¥­¨¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ­ ¦ â®© ª« ¢¨è¨
@ -111,7 +114,7 @@ draw_window: ;
mcall 12,1
xor eax,eax ;®¡­ã«¨âì eax
mov ebx,50*65536+680 ;[ª®®à¤¨­ â  ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
mov ecx,30*65536+500 ;[ª®®à¤¨­ â  ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
mov ecx,30*65536+200 ;[ª®®à¤¨­ â  ¯® ®á¨ y]*65536 + [à §¬¥à ¯® ®á¨ y]
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
or edx,0x34000000
mov edi,hed

View File

@ -24,8 +24,6 @@
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
;*****************************************************************************
;Fonts library
;
;;;;;;;;;;;;;;;;;;
format MS COFF
@ -98,15 +96,17 @@ align 4
mov ecx,263
repne scasb ;íàéäåì êîíåö ñòðîêè
;;;;;;;;;;;;;;;;;;;;;;;
.next_a:
sub edi,5 ;.ksf,0
mov esi,dword name_font
mov ecx,name_font_e-name_font
repe cmpsb
lea esi,[name_font]
mov eax,dword[edi]
or eax,0x20202000 ; ñäåëàåì ðàñøèðåíèå ñòðî÷íûìè áóêâàìè.
cmp eax,dword[esi]
jnz @f
;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê ))
;òåïåðü íóæíî òî÷íî óáåäèòüñÿ ÷òî ýòî íàø è òîëüêî íàø ôàéëèê
;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà.
call alloc_mem ; âûäåëèì îçó ñâîèõ ïåðåìåííûõ
; ñåé÷àñ íàì íóæíî ñôîðìèðîâàòü èìÿ ôàéëà ñ ïîëíûì ïóòåì
mov eax,dword [alloc_memory_point]
@ -153,10 +153,8 @@ align 4
mov dword [save_point_nt],ebp
pop ecx
mov dword [esp+28],0
popad
ret
xor eax,eax
jmp .exit
align 4
@@: pop ecx
@ -164,7 +162,7 @@ align 4
dec ecx
jnz .start_loop
; loop .start_loop
; xor eax,eax
or eax,-1
;;;;;;;; ïðîøëèñü - âñå èíòåðåñóùþùèå øðèôòû ïåðåìåñòèëè â íà÷àëî áëîêà.
align 4
@ -224,7 +222,7 @@ pushad
mov eax,70
mcall
test eax,eax
jnz @f
jnz .exit
lea eax,[buffer_read_d]
mov eax,dword [eax]
@ -233,15 +231,15 @@ pushad
; add eax,dword [eax+8]
; add eax,dword [buffer_read_d]
mov dword [font_array_data],eax
mov dword [esp+28],0
; pop ecx
popad
ret 4
xor eax,eax
jmp .ok
;here error file system
align 4
@@:
or dword [esp+28],-1 ;âåðíåì îøèáêó
.exit:
or eax,-1
align 4
.ok: mov dword [esp+28],eax ;âåðíåì îøèáêó
popad
ret 4
@ -318,10 +316,10 @@ pushad
mov ebx,13
mcall
test eax,eax
jnz @f
or dword [esp+28],-1 ;âåðíåì îøèáêó
align 4
@@:
; jnz @f
mov dword [esp+28],eax ;âåðíåì îøèáêó
;align 4
;@@:
popad
ret
align 4
@ -333,10 +331,10 @@ pushad
mov ebx,13
mcall
test eax,eax
jnz @f
or dword [esp+28],-1 ;âåðíåì îøèáêó
align 4
@@:
; jnz @f
mov dword [esp+28],eax ;âåðíåì îøèáêó
;align 4
;@@:
popad
ret
@ -415,10 +413,8 @@ save_ebp dd 0x0
save_point_nt dd 0x0
name_fulder db '/sys/FONTS',0
name_fuld_end= ($-name_fulder) -1
name_font db '.ksf'
name_font_e:
name_font db '.ksf',0
type_fnt db 'kf01'
type_fnt_e:

View File

@ -25,7 +25,7 @@
;*****************************************************************************
Библиотека шрифтов.
Альфа версия 0.00003 Автор Теплов Алексей. <Lrz>
Альфа версия 0.00004 Автор Теплов Алексей. <Lrz>
Для демострации примера вам необходимо сделать следующее:
1) поместить библиотека fonts_lib.obj в дирректорию с примером font_ex.kex или лучше будет поместить библиотеку в /sys/lib
2) скопировать файл font01.ksf в дирректорию /sys/FONTS причем имя файла может быть любое обязательно только расширение *.ksf