/programs/develop/libraries/buf2d/trunk/examples/build.bat |
---|
1,6 → 1,4 |
if not exist bin mkdir bin |
@fasm.exe -m 16384 ..\buf2d.asm bin\buf2d.obj |
@kpack bin\buf2d.obj |
if not exist bin\font8x9.bmp @copy ..\..\..\..\..\fs\kfar\trunk\font8x9.bmp bin\font8x9.bmp |
@copy foto.jpg bin\foto.jpg |
/programs/develop/libraries/buf2d/trunk/examples/e6_vox_1g.asm |
---|
1,18 → 1,15 |
use32 |
org 0x0 |
org 0 |
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
dd 0x1 |
dd start |
dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
dd mem,stacktop |
dd 0,cur_dir_path |
dd 1,start,i_end,mem,stacktop,0,cur_dir_path |
include '../../../../../macros.inc' |
include '../../../../../proc32.inc' |
include '../../../../../develop/libraries/box_lib/load_lib.mac' |
include '../../../../../KOSfuncs.inc' |
include '../../../../../load_lib.mac' |
include '../../../../../dll.inc' |
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
@use_library mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
struct FileInfoBlock |
Function dd ? |
60,12 → 57,11 |
align 4 |
start: |
load_library vectors_name, cur_dir_path, library_path, system_path, \ |
err_message_found_lib, head_f_l, import_buf2d_lib, err_message_import, head_f_i |
load_library name_buf2d, library_path, system_path, import_buf2d_lib |
cmp eax,-1 |
jz button.exit |
mcall 40,0x27 |
mcall SF_SET_EVENTS_MASK,0x27 |
stdcall [buf2d_create], buf_0 ;ᮧ¤ ¥¬ ¡ãä¥à |
stdcall [buf2d_create], buf_z |
72,7 → 68,7 |
stdcall mem.Alloc,max_open_file_size |
mov dword[open_file_vox],eax |
copy_path f_name,[32],file_name,0x0 |
copy_path f_name,[32],file_name,0 |
mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
mov [run_file_70.Function], 0 |
99,7 → 95,7 |
align 4 |
still: |
mcall 10 |
mcall SF_WAIT_EVENT |
cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
cmp al,2 |
111,20 → 107,20 |
align 4 |
draw_window: |
pushad |
mcall 12,1 |
mcall SF_REDRAW,SSF_BEGIN_DRAW |
mov edx,0x33000000 |
mcall 0,(50 shl 16)+330,(30 shl 16)+295,,,caption |
mcall SF_CREATE_WINDOW,(50 shl 16)+330,(30 shl 16)+295,,,caption |
stdcall [buf2d_draw], buf_0 |
mcall 12,2 |
mcall SF_REDRAW,SSF_END_DRAW |
popad |
ret |
align 4 |
key: |
mcall 2 |
mcall SF_GET_KEY |
cmp ah,27 ;Esc |
je button.exit |
133,7 → 129,7 |
align 4 |
button: |
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
mcall SF_GET_BUTTON |
cmp ah,1 |
jne still |
.exit: |
140,7 → 136,7 |
stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
stdcall [buf2d_delete],buf_z |
stdcall mem.Free,[open_file_vox] |
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
mcall SF_TERMINATE_PROCESS |
caption db 'Test buf2d library, [Esc] - exit',0 |
206,16 → 202,11 |
;-------------------------------------------------- |
system_path db '/sys/lib/' |
vectors_name db 'buf2d.obj',0 |
err_message_found_lib db 'Sorry I cannot load library buf2d.obj',0 |
head_f_i: |
head_f_l db 'System error',0 |
err_message_import db 'Error on load import library buf2d.obj',0 |
name_buf2d db 'buf2d.obj',0 |
;-------------------------------------------------- |
align 16 |
i_end: ;ª®¥æ ª®¤ |
rb 1024 |
stacktop: |
file_name: |
rb 4096 |
cur_dir_path: |
222,5 → 213,7 |
rb 4096 |
library_path: |
rb 4096 |
rb 1024 |
stacktop: |
mem: |
/programs/develop/libraries/buf2d/trunk/examples/e7_vox_3g.asm |
---|
1,18 → 1,15 |
use32 |
org 0x0 |
org 0 |
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
dd 0x1 |
dd start |
dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
dd mem,stacktop |
dd 0,cur_dir_path |
dd 1,start,i_end,mem,stacktop,0,cur_dir_path |
include '../../../../../macros.inc' |
include '../../../../../proc32.inc' |
include '../../../../../develop/libraries/box_lib/load_lib.mac' |
include '../../../../../KOSfuncs.inc' |
include '../../../../../load_lib.mac' |
include '../../../../../dll.inc' |
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
@use_library mem.Alloc,mem.Free,mem.ReAlloc, 0 ;dll.Load |
struct FileInfoBlock |
Function dd ? |
61,12 → 58,11 |
align 4 |
start: |
load_library vectors_name, cur_dir_path, library_path, system_path, \ |
err_message_found_lib, head_f_l, import_buf2d_lib, err_message_import, head_f_i |
load_library name_buf2d, library_path, system_path, import_buf2d_lib |
cmp eax,-1 |
jz button.exit |
mcall 40,0x27 |
mcall SF_SET_EVENTS_MASK,0x27 |
stdcall [buf2d_create], buf_0 ;ᮧ¤ ¥¬ ¡ãä¥à |
stdcall [buf2d_create], buf_z |
stdcall [buf2d_vox_brush_create], buf_vox, vox_6_7_z ;ᮧ¤ ¥¬ ¢®ªá¥«ìãî ª¨áâì |
74,7 → 70,7 |
stdcall mem.Alloc,max_open_file_size |
mov dword[open_file_vox],eax |
copy_path f_name,[32],file_name,0x0 |
copy_path f_name,[32],file_name,0 |
mov eax,70 ;70-ï äãªæ¨ï à ¡®â á ä ©« ¬¨ |
mov [run_file_70.Function], 0 |
105,7 → 101,7 |
align 4 |
still: |
mcall 10 |
mcall SF_WAIT_EVENT |
cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
cmp al,2 |
117,20 → 113,20 |
align 4 |
draw_window: |
pushad |
mcall 12,1 |
mcall SF_REDRAW,SSF_BEGIN_DRAW |
mov edx,0x33000000 |
mcall 0,(50 shl 16)+410,(30 shl 16)+480,,,caption |
mcall SF_CREATE_WINDOW,(50 shl 16)+410,(30 shl 16)+480,,,caption |
stdcall [buf2d_draw], buf_0 |
mcall 12,2 |
mcall SF_REDRAW,SSF_END_DRAW |
popad |
ret |
align 4 |
key: |
mcall 2 |
mcall SF_GET_KEY |
cmp ah,27 ;Esc |
je button.exit |
139,7 → 135,7 |
align 4 |
button: |
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
mcall SF_GET_BUTTON |
cmp ah,1 |
jne still |
.exit: |
147,7 → 143,7 |
stdcall [buf2d_delete],buf_z |
stdcall [buf2d_vox_brush_delete],buf_vox |
stdcall mem.Free,[open_file_vox] |
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
mcall SF_TERMINATE_PROCESS |
caption db 'Test buf2d library, [Esc] - exit',0 |
229,16 → 225,11 |
;-------------------------------------------------- |
system_path db '/sys/lib/' |
vectors_name db 'buf2d.obj',0 |
err_message_found_lib db 'Sorry I cannot load library buf2d.obj',0 |
head_f_i: |
head_f_l db 'System error',0 |
err_message_import db 'Error on load import library buf2d.obj',0 |
name_buf2d db 'buf2d.obj',0 |
;-------------------------------------------------- |
align 16 |
i_end: ;ª®¥æ ª®¤ |
rb 1024 |
stacktop: |
file_name: |
rb 4096 |
cur_dir_path: |
245,5 → 236,7 |
rb 4096 |
library_path: |
rb 4096 |
rb 1024 |
stacktop: |
mem: |
/programs/develop/libraries/buf2d/trunk/examples/e8_filters.asm |
---|
1,18 → 1,15 |
use32 |
org 0x0 |
org 0 |
db 'MENUET01' ;¨¤¥â¨ä. ¨á¯®«ï¥¬®£® ä ©« ¢á¥£¤ 8 ¡ ©â |
dd 0x1 |
dd start |
dd i_end ;à §¬¥à ¯à¨«®¦¥¨ï |
dd mem,stacktop |
dd 0,sys_path |
dd 1,start,i_end,mem,stacktop,0,sys_path |
include '../../../../../macros.inc' |
include '../../../../../proc32.inc' |
include '../../../../../develop/libraries/box_lib/load_lib.mac' |
include '../../../../../KOSfuncs.inc' |
include '../../../../../load_lib.mac' |
include '../../../../../dll.inc' |
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
@use_library mem.Alloc,mem.Free,mem.ReAlloc, dll.Load |
struct FileInfoBlock |
Function dd ? |
46,9 → 43,9 |
db 0 |
@@: |
;32 - áâ ¤ àâë© ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥ ¡ëâì ¡ãä¥à á á¨áâ¥¬ë¬ ¯ã⥬ |
copy_path .path_str,[32],file_name,0x0 |
copy_path .path_str,[32],file_name,0 |
else |
copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
copy_path path,[32],file_name,0 ;ä®à¬¨à㥬 ¯®«ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ® ¢ ®¤®© ¯ ¯ª¥ á ¯à®£à ¬¬®© |
end if |
stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥¨ï |
67,12 → 64,12 |
cmp ebx,0xffffffff |
je @f |
;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥ë© ¡ãä¥à image_data |
stdcall dword[img_decode], dword[buf],ebx,0 |
mov dword[image_data],eax |
stdcall [img_decode], [buf],ebx,0 |
mov [image_data],eax |
;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥¨¥ ª ä®à¬ âã rgb |
stdcall dword[img_to_rgb2], dword[image_data],dword[buf] |
stdcall [img_to_rgb2], [image_data],[buf] |
;㤠«ï¥¬ ¢à¥¬¥ë© ¡ãä¥à image_data |
stdcall dword[img_destroy], dword[image_data] |
stdcall [img_destroy], [image_data] |
@@: |
} |
84,16 → 81,16 |
mov ebp,lib0 |
cmp dword [ebp+ll_struc_size-4],0 |
jz @f |
mcall -1 ;exit not correct |
mcall SF_TERMINATE_PROCESS |
@@: |
mov ebp,lib1 |
cmp dword [ebp+ll_struc_size-4],0 |
jz @f |
mcall -1 ;exit not correct |
mcall SF_TERMINATE_PROCESS |
@@: |
mcall 40,0x27 |
mcall 48,3,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
mcall SF_SET_EVENTS_MASK,0x27 |
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors ;¯®«ãç ¥¬ á¨áâ¥¬ë¥ æ¢¥â |
load_image_file 'img1.png',image_data_rgb, IMAGE_FILE1_SIZE |
stdcall [buf2d_create_f_img], buf_0,[image_data_rgb] ;ᮧ¤ ¥¬ ¡ãä¥à |
110,13 → 107,13 |
align 4 |
still: ;£« ¢ë© 横« |
mcall 10 |
mcall SF_WAIT_EVENT |
cmp al,0x1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
cmp al,1 ;¨§¬¥¨«®áì ¯®«®¦¥¨¥ ®ª |
jz red_win |
cmp al,0x2 |
cmp al,2 |
jz key |
cmp al,0x3 |
cmp al,3 |
jz button |
jmp still |
124,7 → 121,7 |
align 4 |
key: |
push eax ebx |
mcall 2 |
mcall SF_GET_KEY |
;... |
pop ebx eax |
jmp still |
133,42 → 130,35 |
align 4 |
draw_window: |
pushad |
mcall 12,1 |
mcall SF_REDRAW,SSF_BEGIN_DRAW |
mov edx,[sc.work] |
or edx,0x33000000 |
mcall 0,(20 shl 16)+670,(20 shl 16)+520,,,caption ;ᮧ¤ ¨¥ ®ª |
mcall SF_CREATE_WINDOW,(20 shl 16)+670,(20 shl 16)+520,,,caption ;ᮧ¤ ¨¥ ®ª |
stdcall [buf2d_draw], buf_0 |
stdcall [buf2d_draw], buf_1 |
stdcall [buf2d_draw], buf_2 |
mcall 12,2 |
mcall SF_REDRAW,SSF_END_DRAW |
popad |
ret |
head_f_i: |
head_f_l db '¨á⥬ ï ®è¨¡ª ',0 |
system_dir0 db '/sys/lib/' |
name_buf2d db 'buf2d.obj',0 |
err_message_found_lib0 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã buf2d.obj',0 |
err_message_import0 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ buf2d.obj',0 |
system_dir1 db '/sys/lib/' |
name_libimg db 'libimg.obj',0 |
err_message_found_lib1 db '¥ 㤠«®áì ©â¨ ¡¨¡«¨®â¥ªã libimg.obj',0 |
err_message_import1 db '訡ª ¯à¨ ¨¬¯®à⥠¡¨¡«¨®â¥ª¨ libimg.obj',0 |
;library structures |
l_libs_start: |
lib0 l_libs name_buf2d, sys_path, file_name, system_dir0, err_message_found_lib0, head_f_l, import_buf2d_lib, err_message_import0, head_f_i |
lib1 l_libs name_libimg, sys_path, file_name, system_dir1, err_message_found_lib1, head_f_l, import_libimg, err_message_import1, head_f_i |
lib0 l_libs name_buf2d, file_name, system_dir0, import_buf2d_lib |
lib1 l_libs name_libimg, file_name, system_dir1, import_libimg |
load_lib_end: |
align 4 |
button: |
mcall 17 ;¯®«ãç¨âì ª®¤ ¦ ⮩ ª®¯ª¨ |
mcall SF_GET_BUTTON |
cmp ah,1 |
jne still |
.exit: |
175,7 → 165,7 |
stdcall [buf2d_delete],buf_0 ;㤠«ï¥¬ ¡ãä¥à |
stdcall [buf2d_delete],buf_1 ;㤠«ï¥¬ ¡ãä¥à |
stdcall [buf2d_delete],buf_2 ;㤠«ï¥¬ ¡ãä¥à |
mcall -1 ;¢ë室 ¨§ ¯à®£à ¬¬ë |
mcall SF_TERMINATE_PROCESS |
image_data dd 0 ;¯ ¬ïâì ¤«ï ¯à¥®¡à §®¢ ¨ï ª à⨪¨ äãªæ¨ï¬¨ libimg |
image_data_gray dd 0 ;¯ ¬ïâì á ¯à¥®¡à §®¢ ë¬ ¨§®¡à ¦¥¨¥¬ ¢ ä®à¬ ⥠8-bit |
183,7 → 173,7 |
image_data_foto dd 0 |
run_file_70 FileInfoBlock |
caption db 'Draw images 13.09.11',0 ;¯®¤¯¨áì ®ª |
caption db 'Draw images 28.11.20',0 ;¯®¤¯¨áì ®ª |
sc system_colors ;á¨áâ¥¬ë¥ æ¢¥â |
align 4 |
281,9 → 271,8 |
sz_buf2d_delete db 'buf2d_delete',0 |
sz_buf2d_filter_dither db 'buf2d_filter_dither',0 |
align 16 |
i_end: |
rb 1024 |
stacktop: |
sys_path rb 4096 |
file_name: |
rb 4096 |
293,4 → 282,6 |
rb 4096 |
filename_area: |
rb 256 |
rb 1024 |
stacktop: |
mem: |