forked from KolibriOS/kolibrios
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 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨
|
mcall 17 ;¯®«ãç¨âì ¨¤¥â¨ä¨ª â®à ¦ ⮩ ª« ¢¨è¨
|
||||||
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still
|
test ah,ah ;¥á«¨ ¢ ah 0, â® ¯¥à¥©â¨ ®¡à ¡®â稪 ᮡë⨩ still
|
||||||
jz still
|
jz still
|
||||||
exit: mcall -1
|
exit:
|
||||||
|
call [free_fulder_info]
|
||||||
|
call [free_font]
|
||||||
|
mcall -1
|
||||||
key:
|
key:
|
||||||
mcall 2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨
|
mcall 2 ;§ £à㧨¬ § 票¥ 2 ¢ ॣ¨áâ®à eax ¨ ¯®«ã稬 ª®¤ ¦ ⮩ ª« ¢¨è¨
|
||||||
|
|
||||||
@ -111,7 +114,7 @@ draw_window: ;
|
|||||||
mcall 12,1
|
mcall 12,1
|
||||||
xor eax,eax ;®¡ã«¨âì eax
|
xor eax,eax ;®¡ã«¨âì eax
|
||||||
mov ebx,50*65536+680 ;[ª®®à¤¨ â ¯® ®á¨ x]*65536 + [à §¬¥à ¯® ®á¨ x]
|
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
|
mov edx,[sc.work] ; color of work area RRGGBB,8->color gl
|
||||||
or edx,0x34000000
|
or edx,0x34000000
|
||||||
mov edi,hed
|
mov edi,hed
|
||||||
|
@ -24,8 +24,6 @@
|
|||||||
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
; SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||||
;*****************************************************************************
|
;*****************************************************************************
|
||||||
|
|
||||||
;Fonts library
|
|
||||||
;
|
|
||||||
;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;
|
||||||
|
|
||||||
format MS COFF
|
format MS COFF
|
||||||
@ -98,15 +96,17 @@ align 4
|
|||||||
mov ecx,263
|
mov ecx,263
|
||||||
repne scasb ;íàéäåì êîíåö ñòðîêè
|
repne scasb ;íàéäåì êîíåö ñòðîêè
|
||||||
;;;;;;;;;;;;;;;;;;;;;;;
|
;;;;;;;;;;;;;;;;;;;;;;;
|
||||||
.next_a:
|
|
||||||
sub edi,5 ;.ksf,0
|
sub edi,5 ;.ksf,0
|
||||||
mov esi,dword name_font
|
lea esi,[name_font]
|
||||||
mov ecx,name_font_e-name_font
|
mov eax,dword[edi]
|
||||||
repe cmpsb
|
or eax,0x20202000 ; ñäåëàåì ðàñøèðåíèå ñòðî÷íûìè áóêâàìè.
|
||||||
|
cmp eax,dword[esi]
|
||||||
jnz @f
|
jnz @f
|
||||||
|
|
||||||
;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê ))
|
;;;;;;;; óðà ýòî íàø ôàéë ò.å. íàø øðèôò ìû íàøëè íóæíûé ôàéëèê ))
|
||||||
;òåïåðü íóæíî òî÷íî óáåäèòüñÿ ÷òî ýòî íàø è òîëüêî íàø ôàéëèê
|
;òåïåðü íóæíî òî÷íî óáåäèòüñÿ ÷òî ýòî íàø è òîëüêî íàø ôàéëèê
|
||||||
;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà.
|
;çàãðóçèì çàãîëîâîê ôàéëà è óçíàåì åãî ðàçìåð ãëèôà.
|
||||||
|
|
||||||
call alloc_mem ; âûäåëèì îçó ñâîèõ ïåðåìåííûõ
|
call alloc_mem ; âûäåëèì îçó ñâîèõ ïåðåìåííûõ
|
||||||
; ñåé÷àñ íàì íóæíî ñôîðìèðîâàòü èìÿ ôàéëà ñ ïîëíûì ïóòåì
|
; ñåé÷àñ íàì íóæíî ñôîðìèðîâàòü èìÿ ôàéëà ñ ïîëíûì ïóòåì
|
||||||
mov eax,dword [alloc_memory_point]
|
mov eax,dword [alloc_memory_point]
|
||||||
@ -153,10 +153,8 @@ align 4
|
|||||||
|
|
||||||
mov dword [save_point_nt],ebp
|
mov dword [save_point_nt],ebp
|
||||||
pop ecx
|
pop ecx
|
||||||
mov dword [esp+28],0
|
xor eax,eax
|
||||||
popad
|
jmp .exit
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@@: pop ecx
|
@@: pop ecx
|
||||||
@ -164,7 +162,7 @@ align 4
|
|||||||
dec ecx
|
dec ecx
|
||||||
jnz .start_loop
|
jnz .start_loop
|
||||||
; loop .start_loop
|
; loop .start_loop
|
||||||
; xor eax,eax
|
or eax,-1
|
||||||
;;;;;;;; ïðîøëèñü - âñå èíòåðåñóùþùèå øðèôòû ïåðåìåñòèëè â íà÷àëî áëîêà.
|
;;;;;;;; ïðîøëèñü - âñå èíòåðåñóùþùèå øðèôòû ïåðåìåñòèëè â íà÷àëî áëîêà.
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
@ -224,7 +222,7 @@ pushad
|
|||||||
mov eax,70
|
mov eax,70
|
||||||
mcall
|
mcall
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jnz @f
|
jnz .exit
|
||||||
|
|
||||||
lea eax,[buffer_read_d]
|
lea eax,[buffer_read_d]
|
||||||
mov eax,dword [eax]
|
mov eax,dword [eax]
|
||||||
@ -233,15 +231,15 @@ pushad
|
|||||||
; add eax,dword [eax+8]
|
; add eax,dword [eax+8]
|
||||||
; add eax,dword [buffer_read_d]
|
; add eax,dword [buffer_read_d]
|
||||||
mov dword [font_array_data],eax
|
mov dword [font_array_data],eax
|
||||||
mov dword [esp+28],0
|
xor eax,eax
|
||||||
; pop ecx
|
jmp .ok
|
||||||
popad
|
|
||||||
ret 4
|
|
||||||
|
|
||||||
;here error file system
|
;here error file system
|
||||||
align 4
|
align 4
|
||||||
@@:
|
.exit:
|
||||||
or dword [esp+28],-1 ;âåðíåì îøèáêó
|
or eax,-1
|
||||||
|
align 4
|
||||||
|
.ok: mov dword [esp+28],eax ;âåðíåì îøèáêó
|
||||||
popad
|
popad
|
||||||
ret 4
|
ret 4
|
||||||
|
|
||||||
@ -318,10 +316,10 @@ pushad
|
|||||||
mov ebx,13
|
mov ebx,13
|
||||||
mcall
|
mcall
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jnz @f
|
; jnz @f
|
||||||
or dword [esp+28],-1 ;âåðíåì îøèáêó
|
mov dword [esp+28],eax ;âåðíåì îøèáêó
|
||||||
align 4
|
;align 4
|
||||||
@@:
|
;@@:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
align 4
|
align 4
|
||||||
@ -333,10 +331,10 @@ pushad
|
|||||||
mov ebx,13
|
mov ebx,13
|
||||||
mcall
|
mcall
|
||||||
test eax,eax
|
test eax,eax
|
||||||
jnz @f
|
; jnz @f
|
||||||
or dword [esp+28],-1 ;âåðíåì îøèáêó
|
mov dword [esp+28],eax ;âåðíåì îøèáêó
|
||||||
align 4
|
;align 4
|
||||||
@@:
|
;@@:
|
||||||
popad
|
popad
|
||||||
ret
|
ret
|
||||||
|
|
||||||
@ -415,10 +413,8 @@ save_ebp dd 0x0
|
|||||||
save_point_nt dd 0x0
|
save_point_nt dd 0x0
|
||||||
name_fulder db '/sys/FONTS',0
|
name_fulder db '/sys/FONTS',0
|
||||||
name_fuld_end= ($-name_fulder) -1
|
name_fuld_end= ($-name_fulder) -1
|
||||||
name_font db '.ksf'
|
name_font db '.ksf',0
|
||||||
name_font_e:
|
|
||||||
type_fnt db 'kf01'
|
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
|
1) поместить библиотека fonts_lib.obj в дирректорию с примером font_ex.kex или лучше будет поместить библиотеку в /sys/lib
|
||||||
2) скопировать файл font01.ksf в дирректорию /sys/FONTS причем имя файла может быть любое обязательно только расширение *.ksf
|
2) скопировать файл font01.ksf в дирректорию /sys/FONTS причем имя файла может быть любое обязательно только расширение *.ksf
|
||||||
|
Loading…
Reference in New Issue
Block a user