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:
parent
83e2f051b2
commit
2ff524842f
@ -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
|
||||
|
@ -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:
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user