/programs/cmm/kolibri font viewer/kolibri font viewer.c |
---|
35,7 → 35,7 |
font_option.use_smooth = 1; |
font_option.bg_color = 0xDADADA; |
strcpy(#title, "Kolibri font preview: "); |
strcpy(#title, "Font preview: "); |
strcat(#title, #param); |
font_title.prepare(5, 4, #title); |
loop() |
/programs/cmm/lib/font.h |
---|
6,7 → 6,7 |
#endif |
#ifndef INCLUDE_IO_H |
#include "../lib/io.h" |
#include "../lib/obj/fs.h" |
#endif |
:struct __OFFSET_FONT |
306,12 → 306,13 |
} |
:byte FONT::load(dword path) |
{ |
lib_init_fs(); |
buffer_size = 0; |
use_smooth = true; |
IF(data)free(data); |
IF(!io.read(path)) { debug("Error while loading font: "); debugln(path); return false; } |
begin = data = io.buffer_data; |
EBX = begin + io.FILES_SIZE; |
IF(!fs.read(path)) { debug("Error while loading font: "); debugln(path); return false; } |
begin = data = EAX; |
EBX = begin + ECX; |
$dec ebx |
height = DSBYTE[EBX]; |
$dec ebx |
/programs/cmm/lib/obj/fs.h |
---|
15,6 → 15,9 |
dword remove_pointer; |
byte remove(dword path); |
dword read_pointer; |
dword read(dword path); |
dword move_pointer; |
byte move(dword path1,path2); |
32,6 → 35,13 |
return EAX; |
} |
:dword FILE_SYSTEM_FUNCTION::read(dword path) |
{ |
dword tmp = path; |
read_pointer stdcall(tmp); |
return EAX; |
} |
:qword FILE_SYSTEM_FUNCTION::get_size(dword path) |
{ |
dword tmp = path; |
55,14 → 65,17 |
return EAX; |
} |
:byte __CHECK_FS__ = 0; |
:void lib_init_fs() |
{ |
IF(__CHECK_FS__)return; |
library.load("/sys/LIB/FS.OBJ"); |
fs.remove_pointer = library.get("fs.remove"); |
fs.get_size_pointer = library.get("fs.get_size"); |
fs.move_pointer = library.get("fs.move"); |
fs.copy_pointer = library.get("fs.copy"); |
//alert(itoa(fs.get_size("/sys/"))); |
fs.read_pointer = library.get("fs.read"); |
__CHECK_FS__ = true; |
} |
#endif |