diff --git a/data/Tupfile.lua b/data/Tupfile.lua index e6635042d..9ff0a6b10 100644 --- a/data/Tupfile.lua +++ b/data/Tupfile.lua @@ -152,9 +152,6 @@ extra_files = { {"HD_Load/USB_boot_old/", SRC_PROGS .. "/hd_load/usb_boot_old/usb_boot_866.txt"}, {"HD_Load/USB_boot_old/", SRC_PROGS .. "/hd_load/usb_boot_old/usb_boot_1251.txt"}, {"kolibrios/3D/info3ds/INFO3DS.INI", SRC_PROGS .. "/develop/info3ds/info3ds.ini"}, - {"kolibrios/3D/info3ds/OBJECTS.PNG", SRC_PROGS .. "/develop/info3ds/objects.png"}, - {"kolibrios/3D/info3ds/TOOLBAR.PNG", SRC_PROGS .. "/develop/info3ds/toolbar.png"}, - {"kolibrios/3D/info3ds/FONT8X9.BMP", SRC_PROGS .. "/fs/kfar/trunk/font8x9.bmp"}, {"kolibrios/3D/blocks/blocks.kex", "../programs/bcc32/games/blocks/bin/blocks.kex"}, {"kolibrios/3D/blocks/models/", "../programs/bcc32/games/blocks/models/*"}, {"kolibrios/3D/md2view/", "common/3d/md2view/*"}, @@ -598,8 +595,8 @@ tup.append_table(extra_files, { {"kolibrios/3D/flatwav", VAR_PROGS .. "/demos/flatwav/trunk/flatwav"}, {"kolibrios/3D/mos3de", VAR_PROGS .. "/demos/mos3de/mos3de"}, {"kolibrios/3D/info3ds/INFO3DS", VAR_PROGS .. "/develop/info3ds/info3ds"}, - {"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"}, {"kolibrios/3D/info3ds/INFO3DS_U", VAR_PROGS .. "/develop/info3ds/info3ds_u"}, + {"kolibrios/3D/textures1", VAR_PROGS .. "/develop/libraries/TinyGL/asm_fork/examples/textures1"}, {"kolibrios/3D/voxel_editor/VOXEL_EDITOR", VAR_PROGS .. "/media/voxel_editor/trunk/voxel_editor"}, {"kolibrios/3D/voxel_utilites/VOX_CREATOR" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_creator"}, {"kolibrios/3D/voxel_utilites/VOX_MOVER" , VAR_PROGS .. "/media/voxel_editor/utilites/vox_mover"}, diff --git a/programs/develop/info3ds/info3ds.asm b/programs/develop/info3ds/info3ds.asm index 107b28a17..3484b7b22 100644 --- a/programs/develop/info3ds/info3ds.asm +++ b/programs/develop/info3ds/info3ds.asm @@ -1,6 +1,10 @@ +; SPDX-License-Identifier: GPL-2.0-only +; Info3ds - is a program for viewing the structure of *.3ds files +; Copyright (C) 2011-2025 KolibriOS team + use32 org 0 - db 'MENUET01' ;идентиф. исполняемого файла всегда 8 байт + db 'MENUET01' dd 1, start, i_end, mem, stacktop, file_name, sys_path version_edit equ 1 @@ -22,36 +26,34 @@ include 'convert_stl_3ds.inc' @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load -ID_ICON_CHUNK_MAIN equ 0 ;иконка главного блока -ID_ICON_CHUNK_NOT_FOUND equ 1 ;иконка не известного блока -ID_ICON_DATA equ 2 ;иконка для данных блока, не определенной структуры +ID_ICON_CHUNK_MAIN equ 0 ;main block icon +ID_ICON_CHUNK_NOT_FOUND equ 1 ;unknown block icon +ID_ICON_DATA equ 2 ;icon for block data, undefined structure ID_ICON_POINT equ 8 ID_ICON_POINT_SEL equ 9 -FILE_ERROR_CHUNK_SIZE equ -3 ;ошибка в размере блока +FILE_ERROR_CHUNK_SIZE equ -3 ;block size error include 'info_o3d.inc' -main_wnd_height equ 460 ;высота главного окна программы +main_wnd_height equ 460 ;height of the main program window IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3 align 4 fl255 dd 255.0 -open_file_data dd 0 ;указатель на память для открытия файлов 3ds -open_file_size dd 0 ;размер открытого файла +open_file_data dd 0 ;pointer to memory for opening 3ds files +open_file_size dd 0 image_data_toolbar dd 0 -icon_tl_sys dd 0 ;указатеель на память для хранения системных иконок -icon_toolbar dd 0 ;указатеель на память для хранения иконок объектов -fn_toolbar db 'toolbar.png',0 +icon_tl_sys dd 0 ;pointer to memory for storing system icons +icon_toolbar dd 0 ;pointer to memory for storing object icons -align 4 level_stack dd 0 -offs_last_timer dd 0 ;последний сдвиг показаный в функции таймера +offs_last_timer dd 0 ;last shift shown in timer function align 4 -file_3ds: ;переменные используемые при открытии файла -.offs: dd 0 ;+0 указатель на начало блока -.size: dd 0 ;+4 размер блока (для 1-го параметра = размер файла 3ds) +file_3ds: ;variables used when opening a file +.offs: dd 0 ;+0 pointer to the beginning of the block +.size: dd 0 ;+4 block size (for 1st parameter = 3ds file size) rb 8*MAX_FILE_LEVEL size_one_list equ 42 @@ -81,7 +83,7 @@ start: stosd load_libraries l_libs_start,l_libs_end - ;проверка на сколько удачно загузились библиотеки + ;checking how successfully the libraries were loaded mov ebp,lib_0 .test_lib_open: cmp dword [ebp+ll_struc_size-4],0 @@ -94,7 +96,7 @@ start: mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors mcall SF_SET_EVENTS_MASK,0xC0000027 - stdcall [OpenDialog_Init],OpenDialog_data ;подготовка диалога + stdcall [OpenDialog_Init],OpenDialog_data ;preparation of dialogue ;kmenu initialisation stdcall [kmenu_init],sc @@ -143,70 +145,68 @@ start: stdcall [tl_data_init], tree1 ;системные иконки 16*16 для tree_list include_image_file 'tl_sys_16.png', icon_tl_sys - ;если изображение не открылось, то в icon_tl_sys будут - ;не инициализированные данные, но ошибки не будет, т. к. буфер нужного размера - mov eax,dword[icon_tl_sys] - mov dword[tree1.data_img_sys],eax + mov eax,[icon_tl_sys] + mov [tree1.data_img_sys],eax - load_image_file 'objects.png', icon_toolbar - mov eax,dword[icon_toolbar] - mov dword[tree1.data_img],eax + include_image_file 'objects.png', icon_toolbar + mov eax,[icon_toolbar] + mov [tree1.data_img],eax stdcall [buf2d_create], buf_0 ;создание буфера - load_image_file 'font8x9.bmp', image_data_toolbar + include_image_file '../../fs/kfar/trunk/font8x9.bmp', image_data_toolbar stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер stdcall mem.Free,[image_data_toolbar] ;освобождаем память stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит stdcall [buf2d_convert_text_matrix], buf_1 - load_image_file fn_toolbar, image_data_toolbar + include_image_file 'toolbar.png', image_data_toolbar ;работа с файлом настроек copy_path ini_name,sys_path,file_name,0 mov dword[def_dr_mode],0 - stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_dv,1 + stdcall [ini_get_int],file_name,ini_sec_w3d,key_dv,1 or eax,eax jz @f or dword[def_dr_mode], 1 shl bit_vertexes @@: - stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_df,1 + stdcall [ini_get_int],file_name,ini_sec_w3d,key_df,1 or eax,eax jz @f or dword[def_dr_mode], 1 shl bit_faces @@: - stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_dff,1 + stdcall [ini_get_int],file_name,ini_sec_w3d,key_dff,1 or eax,eax jz @f or dword[def_dr_mode], 1 shl bit_faces_fill @@: - stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_dl,1 + stdcall [ini_get_int],file_name,ini_sec_w3d,key_dl,1 or eax,eax jz @f or dword[def_dr_mode], 1 shl bit_light @@: - stdcall dword[ini_get_int],file_name,ini_sec_w3d,key_ds,1 + stdcall [ini_get_int],file_name,ini_sec_w3d,key_ds,1 or eax,eax jz @f or dword[def_dr_mode], 1 shl bit_smooth @@: - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_ox,0x0000ff + stdcall [ini_get_color],file_name,ini_sec_w3d,key_ox,0x0000ff mov [color_ox],eax - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_oy,0xff0000 + stdcall [ini_get_color],file_name,ini_sec_w3d,key_oy,0xff0000 mov [color_oy],eax - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_oz,0x00ff00 + stdcall [ini_get_color],file_name,ini_sec_w3d,key_oz,0x00ff00 mov [color_oz],eax - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_bk,0x000000 + stdcall [ini_get_color],file_name,ini_sec_w3d,key_bk,0x000000 mov [color_bk],eax shr eax,8 mov [color_bk+4],eax shr eax,8 mov [color_bk+8],eax - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_vert,0xffffff + stdcall [ini_get_color],file_name,ini_sec_w3d,key_vert,0xffffff mov [color_vert],eax - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_face,0x808080 + stdcall [ini_get_color],file_name,ini_sec_w3d,key_face,0x808080 mov [color_face],eax - stdcall dword[ini_get_color],file_name,ini_sec_w3d,key_select,0xffff00 + stdcall [ini_get_color],file_name,ini_sec_w3d,key_select,0xffff00 mov [color_select],eax finit fild dword[color_bk+8] @@ -262,16 +262,16 @@ still: or eax,eax jz timer_funct - cmp al,1 + cmp al,EV_REDRAW jne @f call draw_window jmp still @@: - cmp al,2 + cmp al,EV_KEY jz key - cmp al,3 + cmp al,EV_BUTTON jz button - cmp al,6 + cmp al,EV_MOUSE jne @f mcall SF_THREAD_INFO,procinfo,-1 cmp ax,word[procinfo+4] @@ -282,7 +282,7 @@ still: align 4 mouse: - stdcall [tl_mouse], dword tree1 + stdcall [tl_mouse], tree1 ret align 4 @@ -457,7 +457,7 @@ popad align 4 key: mcall SF_GET_KEY - stdcall [tl_key], dword tree1 + stdcall [tl_key], tree1 jmp still @@ -1087,53 +1087,6 @@ l_libs_start: lib_6 l_libs lib_name_6, file_name, system_dir_6, import_libini l_libs_end: -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw - - dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 - align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init @@ -1146,122 +1099,10 @@ dd 0,0 aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0 aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0 -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_box_lib: - dd sz_init1 - edit_box_draw dd sz_edit_box_draw - edit_box_key dd sz_edit_box_key - edit_box_mouse dd sz_edit_box_mouse - edit_box_set_text dd sz_edit_box_set_text - scrollbar_ver_draw dd sz_scrollbar_ver_draw - scrollbar_hor_draw dd sz_scrollbar_hor_draw - - tl_data_init dd sz_tl_data_init - tl_data_clear dd sz_tl_data_clear - tl_info_clear dd sz_tl_info_clear - tl_key dd sz_tl_key - tl_mouse dd sz_tl_mouse - tl_draw dd sz_tl_draw - tl_info_undo dd sz_tl_info_undo - tl_info_redo dd sz_tl_info_redo - tl_node_add dd sz_tl_node_add - tl_node_set_data dd sz_tl_node_set_data - tl_node_get_data dd sz_tl_node_get_data - tl_node_delete dd sz_tl_node_delete - tl_node_move_up dd sz_tl_node_move_up - tl_node_move_down dd sz_tl_node_move_down - tl_cur_beg dd sz_tl_cur_beg - tl_cur_next dd sz_tl_cur_next - tl_cur_perv dd sz_tl_cur_perv - tl_node_close_open dd sz_tl_node_close_open - tl_node_lev_inc dd sz_tl_node_lev_inc - tl_node_lev_dec dd sz_tl_node_lev_dec - tl_node_poi_get_info dd sz_tl_node_poi_get_info - tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info - tl_node_poi_get_data dd sz_tl_node_poi_get_data - - dd 0,0 - sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box_draw',0 - sz_edit_box_key db 'edit_box_key',0 - sz_edit_box_mouse db 'edit_box_mouse',0 - sz_edit_box_set_text db 'edit_box_set_text',0 - sz_scrollbar_ver_draw db 'scrollbar_v_draw',0 - sz_scrollbar_hor_draw db 'scrollbar_h_draw',0 - - sz_tl_data_init db 'tl_data_init',0 - sz_tl_data_clear db 'tl_data_clear',0 - sz_tl_info_clear db 'tl_info_clear',0 - sz_tl_key db 'tl_key',0 - sz_tl_mouse db 'tl_mouse',0 - sz_tl_draw db 'tl_draw',0 - sz_tl_info_undo db 'tl_info_undo',0 - sz_tl_info_redo db 'tl_info_redo',0 - sz_tl_node_add db 'tl_node_add',0 - sz_tl_node_set_data db 'tl_node_set_data',0 - sz_tl_node_get_data db 'tl_node_get_data',0 - sz_tl_node_delete db 'tl_node_delete',0 - sz_tl_node_move_up db 'tl_node_move_up',0 - sz_tl_node_move_down db 'tl_node_move_down',0 - sz_tl_cur_beg db 'tl_cur_beg',0 - sz_tl_cur_next db 'tl_cur_next',0 - sz_tl_cur_perv db 'tl_cur_perv',0 - sz_tl_node_close_open db 'tl_node_close_open',0 - sz_tl_node_lev_inc db 'tl_node_lev_inc',0 - sz_tl_node_lev_dec db 'tl_node_lev_dec',0 - sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 - sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 - sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 +sz_lib_init db 'lib_init',0 +include '../../develop/libraries/libs-dev/libimg/import.inc' +include '../../develop/libraries/box_lib/import.inc' +include '../../develop/libraries/buf2d/import.inc' align 4 import_libkmenu: @@ -1287,23 +1128,7 @@ dd 0,0 akmenuitem_delete db 'kmenuitem_delete',0 akmenuitem_draw db 'kmenuitem_draw',0 -align 4 -import_tinygl: -macro E_LIB n -{ -if defined sz_#n - n dd sz_#n -end if -} -include '../../develop/libraries/TinyGL/asm_fork/export.inc' - dd 0,0 -macro E_LIB n -{ -if used n - sz_#n db `n,0 -end if -} -include '../../develop/libraries/TinyGL/asm_fork/export.inc' +include '../../develop/libraries/TinyGL/asm_fork/import.inc' align 4 import_libini: @@ -1367,9 +1192,9 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; Параметры фонового освещения if lang eq ru_RU -capt db 'info 3ds версия 04.05.25',0 ;подпись окна +capt db 'info 3ds версия 08.05.25',0 else ; Default to en_US -capt db 'info 3ds version 04.05.25',0 ;window caption +capt db 'info 3ds version 08.05.25',0 ;window caption end if align 16 diff --git a/programs/develop/info3ds/info3ds_u.asm b/programs/develop/info3ds/info3ds_u.asm index 29fdff4f5..64d3e9924 100644 --- a/programs/develop/info3ds/info3ds_u.asm +++ b/programs/develop/info3ds/info3ds_u.asm @@ -1,3 +1,7 @@ +; SPDX-License-Identifier: GPL-2.0-only +; Info3ds_u - is a program for viewing the structure of *.3ds files +; Copyright (C) 2015-2025 KolibriOS team + use32 org 0 db 'MENUET01' ;идентиф. исполняемого файла всегда 8 байт @@ -12,6 +16,7 @@ include '../../develop/libraries/libs-dev/libimg/libimg.inc' include '../../load_img.inc' include '../../load_lib.mac' include '../../develop/libraries/box_lib/trunk/box_lib.mac' +include '../../develop/libraries/TinyGL/asm_fork/kosgl.inc' include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' include 'lang.inc' ; Language support for locales: ru_RU (CP866), en_US. include 'info_fun_float.inc' @@ -49,7 +54,6 @@ open_file_size dd 0 ;раз ; main_wnd_height equ 460 ;высота главного окна программы -fn_toolbar db 'toolbar.png',0 IMAGE_TOOLBAR_ICON_SIZE equ 21*21*3 image_data_toolbar dd 0 ; @@ -140,17 +144,17 @@ start: mov eax,dword[icon_tl_sys] mov dword[tree1.data_img_sys],eax - load_image_file 'objects.png', icon_toolbar + include_image_file 'objects.png', icon_toolbar mov eax,dword[icon_toolbar] mov dword[tree1.data_img],eax - load_image_file 'font8x9.bmp', image_data_toolbar + include_image_file '../../fs/kfar/trunk/font8x9.bmp', image_data_toolbar stdcall [buf2d_create_f_img], buf_1,[image_data_toolbar] ;создаем буфер stdcall mem.Free,[image_data_toolbar] ;освобождаем память stdcall [buf2d_conv_24_to_8], buf_1,1 ;делаем буфер прозрачности 8 бит stdcall [buf2d_convert_text_matrix], buf_1 - load_image_file fn_toolbar, image_data_toolbar + include_image_file 'toolbar.png', image_data_toolbar ;работа с файлом настроек copy_path ini_name,sys_path,file_name,0 @@ -231,7 +235,7 @@ start: call [gluNewQuadric] mov [qObj],eax - mov eax,dword[ctx1] ;eax -> TinyGLContext.GLContext + mov eax,[ctx1.gl_context] mov eax,[eax] ;eax -> ZBuffer mov eax,[eax+ZBuffer.pbuf] mov dword[buf_ogl],eax @@ -1152,57 +1156,10 @@ l_libs_start: lib_2 l_libs lib_name_2, file_name, system_dir_2, import_box_lib lib_3 l_libs lib_name_3, file_name, system_dir_3, import_buf2d lib_4 l_libs lib_name_4, file_name, system_dir_4, import_libkmenu - lib_5 l_libs lib_name_5, file_name, system_dir_5, import_lib_tinygl + lib_5 l_libs lib_name_5, file_name, system_dir_5, import_tinygl lib_6 l_libs lib_name_6, file_name, system_dir_6, import_libini l_libs_end: -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw - - dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 - align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init @@ -1215,122 +1172,10 @@ dd 0,0 aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0 aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0 -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_box_lib: - dd sz_init1 - edit_box_draw dd sz_edit_box_draw - edit_box_key dd sz_edit_box_key - edit_box_mouse dd sz_edit_box_mouse - edit_box_set_text dd sz_edit_box_set_text - scrollbar_ver_draw dd sz_scrollbar_ver_draw - scrollbar_hor_draw dd sz_scrollbar_hor_draw - - tl_data_init dd sz_tl_data_init - tl_data_clear dd sz_tl_data_clear - tl_info_clear dd sz_tl_info_clear - tl_key dd sz_tl_key - tl_mouse dd sz_tl_mouse - tl_draw dd sz_tl_draw - tl_info_undo dd sz_tl_info_undo - tl_info_redo dd sz_tl_info_redo - tl_node_add dd sz_tl_node_add - tl_node_set_data dd sz_tl_node_set_data - tl_node_get_data dd sz_tl_node_get_data - tl_node_delete dd sz_tl_node_delete - tl_node_move_up dd sz_tl_node_move_up - tl_node_move_down dd sz_tl_node_move_down - tl_cur_beg dd sz_tl_cur_beg - tl_cur_next dd sz_tl_cur_next - tl_cur_perv dd sz_tl_cur_perv - tl_node_close_open dd sz_tl_node_close_open - tl_node_lev_inc dd sz_tl_node_lev_inc - tl_node_lev_dec dd sz_tl_node_lev_dec - tl_node_poi_get_info dd sz_tl_node_poi_get_info - tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info - tl_node_poi_get_data dd sz_tl_node_poi_get_data - - dd 0,0 - sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box_draw',0 - sz_edit_box_key db 'edit_box_key',0 - sz_edit_box_mouse db 'edit_box_mouse',0 - sz_edit_box_set_text db 'edit_box_set_text',0 - sz_scrollbar_ver_draw db 'scrollbar_v_draw',0 - sz_scrollbar_hor_draw db 'scrollbar_h_draw',0 - - sz_tl_data_init db 'tl_data_init',0 - sz_tl_data_clear db 'tl_data_clear',0 - sz_tl_info_clear db 'tl_info_clear',0 - sz_tl_key db 'tl_key',0 - sz_tl_mouse db 'tl_mouse',0 - sz_tl_draw db 'tl_draw',0 - sz_tl_info_undo db 'tl_info_undo',0 - sz_tl_info_redo db 'tl_info_redo',0 - sz_tl_node_add db 'tl_node_add',0 - sz_tl_node_set_data db 'tl_node_set_data',0 - sz_tl_node_get_data db 'tl_node_get_data',0 - sz_tl_node_delete db 'tl_node_delete',0 - sz_tl_node_move_up db 'tl_node_move_up',0 - sz_tl_node_move_down db 'tl_node_move_down',0 - sz_tl_cur_beg db 'tl_cur_beg',0 - sz_tl_cur_next db 'tl_cur_next',0 - sz_tl_cur_perv db 'tl_cur_perv',0 - sz_tl_node_close_open db 'tl_node_close_open',0 - sz_tl_node_lev_inc db 'tl_node_lev_inc',0 - sz_tl_node_lev_dec db 'tl_node_lev_dec',0 - sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 - sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 - sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 +sz_lib_init db 'lib_init',0 +include '../../develop/libraries/libs-dev/libimg/import.inc' +include '../../develop/libraries/box_lib/import.inc' +include '../../develop/libraries/buf2d/import.inc' align 4 import_libkmenu: @@ -1356,19 +1201,7 @@ dd 0,0 akmenuitem_delete db 'kmenuitem_delete',0 akmenuitem_draw db 'kmenuitem_draw',0 -align 4 -import_lib_tinygl: -macro E_LIB n -{ - n dd sz_#n -} -include '../../develop/libraries/TinyGL/asm_fork/export.inc' - dd 0,0 -macro E_LIB n -{ - sz_#n db `n,0 -} -include '../../develop/libraries/TinyGL/asm_fork/export.inc' +include '../../develop/libraries/TinyGL/asm_fork/import.inc' align 4 import_libini: @@ -1427,14 +1260,14 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; lmodel_ambient dd 0.3, 0.3, 0.3, 1.0 ; Параметры фонового освещения if lang eq ru_RU -capt db 'info 3ds [user] версия 14.04.25',0 ; подпись окна +capt db 'info 3ds [user] версия 07.05.25',0 ; подпись окна else ; Default to en_US -capt db 'info 3ds [user] version 14.04.25',0 ; Window caption +capt db 'info 3ds [user] version 07.05.25',0 ; Window caption end if align 16 i_end: - ctx1 rb 28 ;sizeof.TinyGLContext = 28 + ctx1 TinyGLContext procinfo process_information run_file_70 FileInfoBlock sc system_colors diff --git a/programs/develop/info3ds/info_wnd_coords.inc b/programs/develop/info3ds/info_wnd_coords.inc index b4af7c850..77ce3153a 100644 --- a/programs/develop/info3ds/info_wnd_coords.inc +++ b/programs/develop/info3ds/info_wnd_coords.inc @@ -1,18 +1,19 @@ ; -; в этом файле собраны функции нужные для создания и -; работы окна с координатами вершин +; This file contains functions needed to create +; and operate a window with vertex coordinates ; -prop_wnd_width equ 340 ;ширина окна со свойствами объекта -prop_wnd_height equ 460 ;высота окна со свойствами объекта -3d_wnd_l equ 5 ;отступ для tinygl буфера слева -3d_wnd_t equ 23 ;отступ для tinygl буфера сверху -3d_wnd_w equ 320 +3d_wnd_l equ 5 ;tinygl buffer left indent +3d_wnd_t equ 23 ;tinygl buffer top indent +3d_wnd_w equ 396 3d_wnd_h equ 240 SIZE_ONE_FLOAT equ 14 MAX_OBJECT_SIZE equ (4+SIZE_ONE_FLOAT*3+1) -prop_wnd_run db 0 ;переменная следящая за тем что-бы не запускать больше 1-го окна со свойствами одновременно +align 4 +fl180 dd 180.0 + +prop_wnd_run db 0 ;variable that ensures that no more than 1 window with properties is launched at the same time txt_q db '?',0 txt_space: @@ -173,19 +174,19 @@ prop_still: jmp .end @@: - cmp al,1 ;изм. положение окна + cmp al,EV_REDRAW jne @f call prop_red_win jmp .end @@: - cmp al,2 + cmp al,EV_KEY jne @f call prop_key jmp .end @@: - cmp al,3 + cmp al,EV_BUTTON jz prop_button - cmp al,6 + cmp al,EV_MOUSE jne @f call prop_mouse @@: @@ -198,20 +199,65 @@ prop_red_win: pushad mcall SF_REDRAW,SSF_BEGIN_DRAW - xor eax,eax + mcall SF_STYLE_SETTINGS,SSF_GET_SKIN_HEIGHT + push eax + mcall SF_THREAD_INFO,procinfo,-1 + cmp dword[procinfo.box.height],0 + je .resize_end + mov eax,[procinfo.box.height] + sub eax,[esp] + sub eax,[tree3.box_top] + sub eax,5 + cmp eax,48 + jge @f + mov eax,48 ;min size + @@: + mov dword[tree3.box_height],eax + mov word[w_scr_t3.y_size],ax + mov ebx,[procinfo.box.width] + sub ebx,37 + cmp ebx,240 + jge @f + mov ebx,240 + @@: + mov [tree3.box_width],ebx + add ebx,[tree3.box_left] + mov word[w_scr_t3.x_pos],bx + ;todo: resize scroll slider + + mov eax,[tree3.box_width] + add eax,16 + cmp [buf_ogl.w],eax + je .resize_end + mov [buf_ogl.w],eax + fild dword[buf_ogl.w] + fld st0 + fdiv dword[fl180] + fstp dword[angle_dxm] + fidiv dword[buf_0.h] + fstp dword[ratio] + stdcall [glViewport], 0,0, [buf_ogl.w], 3d_wnd_h + stdcall obj_set_sizes, o3d + .resize_end: + mov edi,dword[capt_p] ;children window caption mov bx,word[procinfo.box.left] add bx,word[buf_0.l] - add bx,5 ;ширина боковой рамки + add bx,5 ;side frame width shl ebx,16 - mov bx,prop_wnd_width + mov bx,word[tree3.box_width] + add bx,37 mov cx,word[procinfo.box.top] add cx,word[buf_0.t] shl ecx,16 - mov cx,prop_wnd_height + pop eax + add eax,[tree3.box_height] + add eax,[tree3.box_top] + add eax,5 + mov cx,ax mov edx,[sc.work] or edx,0x33000000 - int 0x40 + mcall SF_CREATE_WINDOW mov esi,[sc.work_button] mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (266 shl 16)+20, 0x40000003 @@ -226,7 +272,7 @@ pushad int 0x40 mov dword[w_scr_t3.all_redraw],1 - stdcall [scrollbar_ver_draw],dword w_scr_t3 + stdcall [scrollbar_v_draw], w_scr_t3 stdcall [tl_draw], tree3 stdcall [edit_box_draw], edit1 stdcall [edit_box_draw], edit2 @@ -316,9 +362,9 @@ prop_mouse: mov ebx,3d_wnd_l @@: sub ebx,3d_wnd_l - cmp ebx,3d_wnd_w + cmp ebx,[buf_ogl.w] jle @f - mov ebx,3d_wnd_w + mov ebx,[buf_ogl.w] @@: and eax,0xffff ;mouse.y cmp eax,3d_wnd_t @@ -334,14 +380,14 @@ prop_mouse: fild dword[mouse_y] mov [mouse_y],eax fisub dword[mouse_y] - fdiv dword[angle_dxm] ;если курсор движется по оси y (вверх или вниз) то поворот делаем вокруг оси x + fdiv dword[angle_dym] ;if the cursor moves along the y axis fadd dword[angle_x] fstp dword[angle_x] fild dword[mouse_x] mov [mouse_x],ebx fisub dword[mouse_x] - fdiv dword[angle_dym] ;если курсор движется по оси x (вверх или вниз) то поворот делаем вокруг оси y + fdiv dword[angle_dxm] ;if the cursor moves along the x axis fadd dword[angle_y] fstp dword[angle_y] @@ -363,7 +409,7 @@ prop_mouse: cmp ebx,3d_wnd_l jl .end_d sub ebx,3d_wnd_l - cmp ebx,3d_wnd_w + cmp ebx,[buf_ogl.w] jg .end_d and eax,0xffff ;mouse.y cmp eax,3d_wnd_t @@ -811,7 +857,7 @@ capt_p dd 0 ;дерево с объектами в пользовательском файле tree3 tree_list MAX_OBJECT_SIZE,3, tl_key_no_edit+tl_list_box_mode,\ - 16,16, 0xffffff,0xb0d0ff,0x400040, 5,290,303,140, 16, 4,0, el_focus,\ + 16,16, 0xffffff,0xb0d0ff,0x10400040, 5,290,380,140, 16, 4,0, el_focus,\ w_scr_t3,get_point_coords edit1 edit_box 80, 76, 269, 0xffd0d0, 0xff, 0x80ff, 0, 0x8000, 32, string1, mouse_dd, 0 diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/gears.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/gears.asm index cf6a09658..838915041 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/gears.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/gears.asm @@ -23,12 +23,6 @@ macro matr_cell c_funct,c_param,funct,param, dia dia dword[esp-4*(c_param*(c_funct-funct)+(1+c_param-param))] } -;Macro for double type parameters (8 bytes) -macro glpush GLDoubleVar { - push dword[GLDoubleVar+4] - push dword[GLDoubleVar] -} - align 4 start: load_library name_tgl, library_path, system_path, import_tinygl @@ -901,22 +895,8 @@ endp ;-------------------------------------------------- -align 4 -import_tinygl: +include '../import.inc' -macro E_LIB n -{ - n dd sz_#n -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ - sz_#n db `n,0 -} -include '../export.inc' - -;-------------------------------------------------- system_path db '/sys/lib/' name_tgl db 'tinygl.obj',0 ;-------------------------------------------------- diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/test3.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/test3.asm index f905c8dce..02cef09a2 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/test3.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/test3.asm @@ -1,3 +1,7 @@ +; SPDX-License-Identifier: GPL-2.0-only +; Test 3 - example of drawing triangles +; Copyright (C) 2014-2025 KolibriOS team + use32 org 0 db 'MENUET01' @@ -8,13 +12,14 @@ include '../../../../../macros.inc' include '../../../../../KOSfuncs.inc' include '../../../../../load_lib.mac' include '../../../../../dll.inc' +include '../kosgl.inc' include '../opengl_const.inc' @use_library align 4 start: - load_library name_tgl, library_path, system_path, import_lib_tinygl + load_library name_tgl, library_path, system_path, import_tinygl cmp eax,SF_TERMINATE_PROCESS jz button.exit @@ -34,11 +39,11 @@ red_win: align 16 still: mcall SF_WAIT_EVENT - cmp al,1 + cmp al,EV_REDRAW jz red_win - cmp al,2 + cmp al,EV_KEY jz key - cmp al,3 + cmp al,EV_BUTTON jz button jmp still @@ -99,7 +104,7 @@ caption db 'Test tinygl library, [Esc] - exit, [<-] and [->] - rotate',0 align 4 draw_3d: -stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;╨╛╤З╨╕╤Б╤В╨╕╨╝ ╨▒╤Г╤Д╨╡╤А ╤Ж╨▓╨╡╤В╨░ ╨╕ ╨│╨╗╤Г╨▒╨╕╨╜╤Л +stdcall [glClear], GL_COLOR_BUFFER_BIT + GL_DEPTH_BUFFER_BIT ;clear the color and depth buffer call [glPushMatrix] stdcall [glRotatef], [angle_z],0.0,0.0,1.0 @@ -136,30 +141,15 @@ angle_z dd 15.0 delt_size dd 3.0 ;-------------------------------------------------- -align 4 -import_lib_tinygl: +include '../import.inc' ;tinygl -macro E_LIB n -{ - n dd sz_#n -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ - sz_#n db `n,0 -} -include '../export.inc' - -;-------------------------------------------------- system_path db '/sys/lib/' name_tgl db 'tinygl.obj',0 ;-------------------------------------------------- align 16 i_end: -ctx1 rb 28 ;TinyGLContext or KOSGLContext -;sizeof.TinyGLContext = 28 +ctx1 TinyGLContext cur_dir_path rb 4096 library_path rb 4096 rb 1024 diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/test_array1.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/test_array1.asm index e64242223..a99a4c586 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/test_array1.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/test_array1.asm @@ -1,3 +1,7 @@ +; SPDX-License-Identifier: GPL-2.0-only +; Test array1 - example of using vertex array functions +; Copyright (C) 2014-2025 KolibriOS team + use32 org 0 db 'MENUET01' @@ -8,6 +12,7 @@ include '../../../../../macros.inc' include '../../../../../KOSfuncs.inc' include '../../../../../load_lib.mac' include '../../../../../dll.inc' +include '../kosgl.inc' include '../opengl_const.inc' @use_library @@ -191,29 +196,15 @@ align 4 Indices rb FACES_COUNT*6 ;3 points per edge, point index 2 bytes ;-------------------------------------------------- -align 4 -import_tinygl: +include '../import.inc' ;tinygl -macro E_LIB n -{ - n dd sz_#n -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ - sz_#n db `n,0 -} -include '../export.inc' - -;-------------------------------------------------- system_path db '/sys/lib/' name_tgl db 'tinygl.obj',0 ;-------------------------------------------------- align 4 i_end: - ctx1 rb 28 ;sizeof.TinyGLContext = 28 +ctx1 TinyGLContext cur_dir_path rb 4096 library_path rb 4096 rb 4096 diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu1.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu1.asm index 5f9d16dc2..625dae520 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu1.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu1.asm @@ -490,127 +490,11 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; ╨ж╨▓╨╡╤В ╨╕ ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨╛╤Б lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; ╨Я╨░╤А╨░╨╝╨╡╤В╤А╤Л ╤Д╨╛╨╜╨╛╨▓╨╛╨│╨╛ ╨╛╤Б╨▓╨╡╤Й╨╡╨╜╨╕╤П ;-------------------------------------------------- -align 4 -import_tinygl: +sz_lib_init db 'lib_init',0 -macro E_LIB n -{ -if defined sz_#n - n dd sz_#n -end if -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ -if used n - sz_#n db `n,0 -end if -} -include '../export.inc' - -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_libimg: - dd alib_init1 -; img_is_img dd aimg_is_img -; img_info dd aimg_info -; img_from_file dd aimg_from_file -; img_to_file dd aimg_to_file -; img_from_rgb dd aimg_from_rgb -; img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode -; img_encode dd aimg_encode -; img_create dd aimg_create - img_destroy dd aimg_destroy -; img_destroy_layer dd aimg_destroy_layer -; img_count dd aimg_count -; img_lock_bits dd aimg_lock_bits -; img_unlock_bits dd aimg_unlock_bits -; img_flip dd aimg_flip -; img_flip_layer dd aimg_flip_layer -; img_rotate dd aimg_rotate -; img_rotate_layer dd aimg_rotate_layer -; img_draw dd aimg_draw -; img_convert dd aimg_convert - - dd 0,0 - alib_init1 db 'lib_init',0 -; aimg_is_img db 'img_is_img',0 ;╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╨┐╨╛ ╨┤╨░╨╜╨╜╤Л╨╝, ╨╝╨╛╨╢╨╡╤В ╨╗╨╕ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░ ╤Б╨┤╨╡╨╗╨░╤В╤М ╨╕╨╖ ╨╜╨╕╤Е ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╨╡ -; aimg_info db 'img_info',0 -; aimg_from_file db 'img_from_file',0 -; aimg_to_file db 'img_to_file',0 -; aimg_from_rgb db 'img_from_rgb',0 -; aimg_to_rgb db 'img_to_rgb',0 ;╨┐╤А╨╡╨╛╨▒╤А╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╤П ╨▓ ╨┤╨░╨╜╨╜╤Л╨╡ RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╤Д╨╛╤А╨╝╨░╤В ╨│╤А╨░╤Д╨╕╤З╨╡╤Б╨║╨╕╤Е ╨┤╨░╨╜╨╜╤Л╤Е -; aimg_encode db 'img_encode',0 -; aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 -; aimg_destroy_layer db 'img_destroy_layer',0 -; aimg_count db 'img_count',0 -; aimg_lock_bits db 'img_lock_bits',0 -; aimg_unlock_bits db 'img_unlock_bits',0 -; aimg_flip db 'img_flip',0 -; aimg_flip_layer db 'img_flip_layer',0 -; aimg_rotate db 'img_rotate',0 -; aimg_rotate_layer db 'img_rotate_layer',0 -; aimg_draw db 'img_draw',0 -; aimg_convert db 'img_convert',0 +include '../import.inc' ;tinygl +include '../../../buf2d/import.inc' +include '../../../libs-dev/libimg/import.inc' ;-------------------------------------------------- system_dir_0 db '/sys/lib/' diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu2.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu2.asm index 24af0dc3a..7ebc50159 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu2.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/test_glu2.asm @@ -473,127 +473,11 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; ╨ж╨▓╨╡╤В ╨╕ ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨╛╤Б lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; ╨Я╨░╤А╨░╨╝╨╡╤В╤А╤Л ╤Д╨╛╨╜╨╛╨▓╨╛╨│╨╛ ╨╛╤Б╨▓╨╡╤Й╨╡╨╜╨╕╤П ;-------------------------------------------------- -align 4 -import_tinygl: +sz_lib_init db 'lib_init',0 -macro E_LIB n -{ -if defined sz_#n - n dd sz_#n -end if -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ -if used n - sz_#n db `n,0 -end if -} -include '../export.inc' - -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_libimg: - dd alib_init1 -; img_is_img dd aimg_is_img -; img_info dd aimg_info -; img_from_file dd aimg_from_file -; img_to_file dd aimg_to_file -; img_from_rgb dd aimg_from_rgb -; img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode -; img_encode dd aimg_encode -; img_create dd aimg_create - img_destroy dd aimg_destroy -; img_destroy_layer dd aimg_destroy_layer -; img_count dd aimg_count -; img_lock_bits dd aimg_lock_bits -; img_unlock_bits dd aimg_unlock_bits -; img_flip dd aimg_flip -; img_flip_layer dd aimg_flip_layer -; img_rotate dd aimg_rotate -; img_rotate_layer dd aimg_rotate_layer -; img_draw dd aimg_draw -; img_convert dd aimg_convert - - dd 0,0 - alib_init1 db 'lib_init',0 -; aimg_is_img db 'img_is_img',0 ;╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╨┐╨╛ ╨┤╨░╨╜╨╜╤Л╨╝, ╨╝╨╛╨╢╨╡╤В ╨╗╨╕ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░ ╤Б╨┤╨╡╨╗╨░╤В╤М ╨╕╨╖ ╨╜╨╕╤Е ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╨╡ -; aimg_info db 'img_info',0 -; aimg_from_file db 'img_from_file',0 -; aimg_to_file db 'img_to_file',0 -; aimg_from_rgb db 'img_from_rgb',0 -; aimg_to_rgb db 'img_to_rgb',0 ;╨┐╤А╨╡╨╛╨▒╤А╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╤П ╨▓ ╨┤╨░╨╜╨╜╤Л╨╡ RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╤Д╨╛╤А╨╝╨░╤В ╨│╤А╨░╤Д╨╕╤З╨╡╤Б╨║╨╕╤Е ╨┤╨░╨╜╨╜╤Л╤Е -; aimg_encode db 'img_encode',0 -; aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 -; aimg_destroy_layer db 'img_destroy_layer',0 -; aimg_count db 'img_count',0 -; aimg_lock_bits db 'img_lock_bits',0 -; aimg_unlock_bits db 'img_unlock_bits',0 -; aimg_flip db 'img_flip',0 -; aimg_flip_layer db 'img_flip_layer',0 -; aimg_rotate db 'img_rotate',0 -; aimg_rotate_layer db 'img_rotate_layer',0 -; aimg_draw db 'img_draw',0 -; aimg_convert db 'img_convert',0 +include '../import.inc' ;tinygl +include '../../../buf2d/import.inc' +include '../../../libs-dev/libimg/import.inc' ;-------------------------------------------------- system_dir_0 db '/sys/lib/' diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/textures0.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/textures0.asm index 46067fb14..705006748 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/textures0.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/textures0.asm @@ -433,127 +433,11 @@ white_light dd 0.8, 0.8, 0.8, 1.0 ; ╨ж╨▓╨╡╤В ╨╕ ╨╕╨╜╤В╨╡╨╜╤Б╨╕╨▓╨╜╨╛╤Б╤В╤М ╨╛╤Б lmodel_ambient dd 0.2, 0.2, 0.2, 1.0 ; ╨Я╨░╤А╨░╨╝╨╡╤В╤А╤Л ╤Д╨╛╨╜╨╛╨▓╨╛╨│╨╛ ╨╛╤Б╨▓╨╡╤Й╨╡╨╜╨╕╤П ;-------------------------------------------------- -align 4 -import_tinygl: +sz_lib_init db 'lib_init',0 -macro E_LIB n -{ -if defined sz_#n - n dd sz_#n -end if -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ -if used n - sz_#n db `n,0 -end if -} -include '../export.inc' - -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_libimg: - dd alib_init1 -; img_is_img dd aimg_is_img -; img_info dd aimg_info -; img_from_file dd aimg_from_file -; img_to_file dd aimg_to_file -; img_from_rgb dd aimg_from_rgb -; img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode -; img_encode dd aimg_encode -; img_create dd aimg_create - img_destroy dd aimg_destroy -; img_destroy_layer dd aimg_destroy_layer -; img_count dd aimg_count -; img_lock_bits dd aimg_lock_bits -; img_unlock_bits dd aimg_unlock_bits -; img_flip dd aimg_flip -; img_flip_layer dd aimg_flip_layer -; img_rotate dd aimg_rotate -; img_rotate_layer dd aimg_rotate_layer -; img_draw dd aimg_draw -; img_convert dd aimg_convert - - dd 0,0 - alib_init1 db 'lib_init',0 -; aimg_is_img db 'img_is_img',0 ;╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╨┐╨╛ ╨┤╨░╨╜╨╜╤Л╨╝, ╨╝╨╛╨╢╨╡╤В ╨╗╨╕ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░ ╤Б╨┤╨╡╨╗╨░╤В╤М ╨╕╨╖ ╨╜╨╕╤Е ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╨╡ -; aimg_info db 'img_info',0 -; aimg_from_file db 'img_from_file',0 -; aimg_to_file db 'img_to_file',0 -; aimg_from_rgb db 'img_from_rgb',0 -; aimg_to_rgb db 'img_to_rgb',0 ;╨┐╤А╨╡╨╛╨▒╤А╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╤П ╨▓ ╨┤╨░╨╜╨╜╤Л╨╡ RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╤Д╨╛╤А╨╝╨░╤В ╨│╤А╨░╤Д╨╕╤З╨╡╤Б╨║╨╕╤Е ╨┤╨░╨╜╨╜╤Л╤Е -; aimg_encode db 'img_encode',0 -; aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 -; aimg_destroy_layer db 'img_destroy_layer',0 -; aimg_count db 'img_count',0 -; aimg_lock_bits db 'img_lock_bits',0 -; aimg_unlock_bits db 'img_unlock_bits',0 -; aimg_flip db 'img_flip',0 -; aimg_flip_layer db 'img_flip_layer',0 -; aimg_rotate db 'img_rotate',0 -; aimg_rotate_layer db 'img_rotate_layer',0 -; aimg_draw db 'img_draw',0 -; aimg_convert db 'img_convert',0 +include '../import.inc' ;tinygl +include '../../../buf2d/import.inc' +include '../../../libs-dev/libimg/import.inc' ;-------------------------------------------------- system_dir_0 db '/sys/lib/' diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/textures1.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/textures1.asm index 14a59106b..949347806 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/textures1.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/textures1.asm @@ -364,127 +364,11 @@ angle_y dd 0.0 delt_size dd 3.0 ;-------------------------------------------------- -align 4 -import_tinygl: +sz_lib_init db 'lib_init',0 -macro E_LIB n -{ -if defined sz_#n - n dd sz_#n -end if -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ -if used n - sz_#n db `n,0 -end if -} -include '../export.inc' - -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_libimg: - dd alib_init1 -; img_is_img dd aimg_is_img -; img_info dd aimg_info -; img_from_file dd aimg_from_file -; img_to_file dd aimg_to_file -; img_from_rgb dd aimg_from_rgb -; img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode -; img_encode dd aimg_encode -; img_create dd aimg_create - img_destroy dd aimg_destroy -; img_destroy_layer dd aimg_destroy_layer -; img_count dd aimg_count -; img_lock_bits dd aimg_lock_bits -; img_unlock_bits dd aimg_unlock_bits -; img_flip dd aimg_flip -; img_flip_layer dd aimg_flip_layer -; img_rotate dd aimg_rotate -; img_rotate_layer dd aimg_rotate_layer -; img_draw dd aimg_draw -; img_convert dd aimg_convert - - dd 0,0 - alib_init1 db 'lib_init',0 -; aimg_is_img db 'img_is_img',0 ;╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╨┐╨╛ ╨┤╨░╨╜╨╜╤Л╨╝, ╨╝╨╛╨╢╨╡╤В ╨╗╨╕ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░ ╤Б╨┤╨╡╨╗╨░╤В╤М ╨╕╨╖ ╨╜╨╕╤Е ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╨╡ -; aimg_info db 'img_info',0 -; aimg_from_file db 'img_from_file',0 -; aimg_to_file db 'img_to_file',0 -; aimg_from_rgb db 'img_from_rgb',0 -; aimg_to_rgb db 'img_to_rgb',0 ;╨┐╤А╨╡╨╛╨▒╤А╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╤П ╨▓ ╨┤╨░╨╜╨╜╤Л╨╡ RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╤Д╨╛╤А╨╝╨░╤В ╨│╤А╨░╤Д╨╕╤З╨╡╤Б╨║╨╕╤Е ╨┤╨░╨╜╨╜╤Л╤Е -; aimg_encode db 'img_encode',0 -; aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 -; aimg_destroy_layer db 'img_destroy_layer',0 -; aimg_count db 'img_count',0 -; aimg_lock_bits db 'img_lock_bits',0 -; aimg_unlock_bits db 'img_unlock_bits',0 -; aimg_flip db 'img_flip',0 -; aimg_flip_layer db 'img_flip_layer',0 -; aimg_rotate db 'img_rotate',0 -; aimg_rotate_layer db 'img_rotate_layer',0 -; aimg_draw db 'img_draw',0 -; aimg_convert db 'img_convert',0 +include '../import.inc' ;tinygl +include '../../../buf2d/import.inc' +include '../../../libs-dev/libimg/import.inc' ;-------------------------------------------------- system_dir_0 db '/sys/lib/' diff --git a/programs/develop/libraries/TinyGL/asm_fork/examples/textures2.asm b/programs/develop/libraries/TinyGL/asm_fork/examples/textures2.asm index 0ecfd66af..41bf2c3e7 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/textures2.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/textures2.asm @@ -315,127 +315,11 @@ angle_y dd 0.0 delt_size dd 3.0 ;-------------------------------------------------- -align 4 -import_tinygl: +sz_lib_init db 'lib_init',0 -macro E_LIB n -{ -if defined sz_#n - n dd sz_#n -end if -} -include '../export.inc' - dd 0,0 -macro E_LIB n -{ -if used n - sz_#n db `n,0 -end if -} -include '../export.inc' - -align 4 -import_buf2d: - dd sz_init0 - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init0 db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_libimg: - dd alib_init1 -; img_is_img dd aimg_is_img -; img_info dd aimg_info -; img_from_file dd aimg_from_file -; img_to_file dd aimg_to_file -; img_from_rgb dd aimg_from_rgb -; img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode -; img_encode dd aimg_encode -; img_create dd aimg_create - img_destroy dd aimg_destroy -; img_destroy_layer dd aimg_destroy_layer -; img_count dd aimg_count -; img_lock_bits dd aimg_lock_bits -; img_unlock_bits dd aimg_unlock_bits -; img_flip dd aimg_flip -; img_flip_layer dd aimg_flip_layer -; img_rotate dd aimg_rotate -; img_rotate_layer dd aimg_rotate_layer -; img_draw dd aimg_draw -; img_convert dd aimg_convert - - dd 0,0 - alib_init1 db 'lib_init',0 -; aimg_is_img db 'img_is_img',0 ;╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╨┐╨╛ ╨┤╨░╨╜╨╜╤Л╨╝, ╨╝╨╛╨╢╨╡╤В ╨╗╨╕ ╨▒╨╕╨▒╨╗╨╕╨╛╤В╨╡╨║╨░ ╤Б╨┤╨╡╨╗╨░╤В╤М ╨╕╨╖ ╨╜╨╕╤Е ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╨╡ -; aimg_info db 'img_info',0 -; aimg_from_file db 'img_from_file',0 -; aimg_to_file db 'img_to_file',0 -; aimg_from_rgb db 'img_from_rgb',0 -; aimg_to_rgb db 'img_to_rgb',0 ;╨┐╤А╨╡╨╛╨▒╤А╨░╨╖╨╛╨▓╨░╨╜╨╕╨╡ ╨╕╨╖╨╛╨▒╤А╨░╨╢╨╡╨╜╨╕╤П ╨▓ ╨┤╨░╨╜╨╜╤Л╨╡ RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;╨░╨▓╤В╨╛╨╝╨░╤В╨╕╤З╨╡╤Б╨║╨╕ ╨╛╨┐╤А╨╡╨┤╨╡╨╗╤П╨╡╤В ╤Д╨╛╤А╨╝╨░╤В ╨│╤А╨░╤Д╨╕╤З╨╡╤Б╨║╨╕╤Е ╨┤╨░╨╜╨╜╤Л╤Е -; aimg_encode db 'img_encode',0 -; aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 -; aimg_destroy_layer db 'img_destroy_layer',0 -; aimg_count db 'img_count',0 -; aimg_lock_bits db 'img_lock_bits',0 -; aimg_unlock_bits db 'img_unlock_bits',0 -; aimg_flip db 'img_flip',0 -; aimg_flip_layer db 'img_flip_layer',0 -; aimg_rotate db 'img_rotate',0 -; aimg_rotate_layer db 'img_rotate_layer',0 -; aimg_draw db 'img_draw',0 -; aimg_convert db 'img_convert',0 +include '../import.inc' ;tinygl +include '../../../buf2d/import.inc' +include '../../../libs-dev/libimg/import.inc' ;-------------------------------------------------- system_dir_0 db '/sys/lib/' diff --git a/programs/develop/libraries/TinyGL/asm_fork/import.inc b/programs/develop/libraries/TinyGL/asm_fork/import.inc new file mode 100644 index 000000000..a8a0e608d --- /dev/null +++ b/programs/develop/libraries/TinyGL/asm_fork/import.inc @@ -0,0 +1,18 @@ +align 4 +import_tinygl: + +macro E_LIB n +{ +if defined sz_#n + n dd sz_#n +end if +} +include 'export.inc' + dd 0,0 +macro E_LIB n +{ +if used n + sz_#n db `n,0 +end if +} +include 'export.inc' \ No newline at end of file diff --git a/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm b/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm index 062a457fd..66e0c5f64 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm +++ b/programs/develop/libraries/box_lib/asm/trunk/ctrldemo.asm @@ -49,9 +49,9 @@ include '../../../../../load_lib.mac' ;--- Start of program ---------------------------------------------- ;--------------------------------------------------------------------- START: - mcall 68,11 - mcall 66,1,1 - mcall 40,0x27 + mcall SF_SYS_MISC,SSF_HEAP_INIT + mcall SF_KEYBOARD,SSF_SET_INPUT_MODE,1 + mcall SF_SET_EVENTS_MASK,0x27 ;--------------------------------------------------------------------- load_libraries l_libs_start,end_l_libs @@ -84,7 +84,7 @@ load_libraries l_libs_start,end_l_libs copy_path icons_file_name,path,library_path,0 - mcall 70,fileinfo + mcall SF_FILE,fileinfo mov [fileinfo+0],dword 0 @@ -93,14 +93,14 @@ load_libraries l_libs_start,end_l_libs mov [img_size],ecx - mcall 68,12 + mcall SF_SYS_MISC,SSF_MEM_ALLOC mov [fileinfo+16],eax mov [image_file],eax - mcall 70,fileinfo + mcall SF_FILE,fileinfo xor eax,eax mov [return_code],eax @@ -108,8 +108,7 @@ load_libraries l_libs_start,end_l_libs push image_file call [cnv_png_import.Start] - mov ecx,[image_file] - mcall 68,13, + mcall SF_SYS_MISC,SSF_MEM_FREE,[image_file] cmp [return_code],dword 0 jne button.exit @@ -151,28 +150,28 @@ load_libraries l_libs_start,end_l_libs red: call draw_window still: - mcall 10 + mcall SF_WAIT_EVENT - cmp eax,1 + cmp eax,EV_REDRAW je red - cmp eax,2 + cmp eax,EV_KEY je key - cmp eax,3 + cmp eax,EV_BUTTON je button - cmp eax,6 + cmp eax,EV_MOUSE je mouse jmp still ;--------------------------------------------------------------------- key: - mcall 2 + mcall SF_GET_KEY jmp still ;--------------------------------------------------------------------- button: - mcall 17 + mcall SF_GET_BUTTON cmp ah,1 jne still .exit: - mcall -1 + mcall SF_TERMINATE_PROCESS ;--------------------------------------------------------------------- mouse: ;----------------------------------------------- @@ -184,7 +183,7 @@ mouse: jbe .horizontal ; mouse event for Vertical ScrollBar push dword scroll_bar_data_vertical - call [scrollbar_ver_mouse] + call [scrollbar_v_mouse] mov eax,scroll_bar_data_vertical.redraw xor ebx,ebx cmp [eax],ebx @@ -200,7 +199,7 @@ mouse: jbe .other ; mouse event for Horizontal ScrollBar push dword scroll_bar_data_horizontal - call [scrollbar_hor_mouse] + call [scrollbar_h_mouse] mov eax,scroll_bar_data_horizontal.redraw xor ebx,ebx cmp [eax],ebx @@ -240,7 +239,7 @@ mouse: .mouse_dinamic_button: ; mouse event for Dinamic Button 1 push dword dinamic_button_data_1 - call [dinamic_button_mouse] + call [dbutton_mouse] mov eax,dinamic_button_data_1.click cmp [eax],dword 1 jne @f @@ -249,7 +248,7 @@ mouse: @@: ; mouse event for Dinamic Button 2 push dword dinamic_button_data_2 - call [dinamic_button_mouse] + call [dbutton_mouse] mov eax,dinamic_button_data_2.click cmp [eax],dword 1 jne still ;@f @@ -283,7 +282,7 @@ analyse_out_menu_2: jmp still ;--------------------------------------------------------------------- about: - mcall 51,1,thread3,thread + mcall SF_CREATE_THREAD,1,thread3,thread jmp still ;--------------------------------------------------------------------- OpenDialog_start_0: @@ -320,9 +319,9 @@ OpenDialog_start: ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- draw_window: - mcall 12,1 - mcall 0,<0,400>,<0,400>,0x03AABBCC,0x805080D0,0x005080D0 - mcall 71,1,header_1 + mcall SF_REDRAW,SSF_BEGIN_DRAW + mcall SF_CREATE_WINDOW,<0,400>,<0,400>,0x03AABBCC,0x805080D0,0x005080D0 + mcall SF_SET_CAPTION,1,header_1 ;--------------------------------------------- ; draw for Menu 1 push dword menu_data_1 @@ -333,15 +332,15 @@ draw_window: ;--------------------------------------------- ; draw for Dinamic Button 1 push dword dinamic_button_data_1 - call [dinamic_button_draw] + call [dbutton_draw] ; draw for Dinamic Button 2 push dword dinamic_button_data_2 - call [dinamic_button_draw] + call [dbutton_draw] ;--------------------------------------------- - mcall 13,<170,200>,<25,15>,0xffffb0 + mcall SF_DRAW_RECT,<170,200>,<25,15>,0xffffb0 ; mov bx,28 ; add ebx,2 shl 16 -; mcall 4,,0xC0000000,text_work_area,,0xffffb0 +; mcall SF_DRAW_TEXT,,0xC0000000,text_work_area,,0xffffb0 ; draw for PathShow push dword PathShow_data_1 call [PathShow_draw] @@ -357,21 +356,21 @@ draw_window: ; draw for Vertical ScrollBar push dword scroll_bar_data_vertical - call [scrollbar_ver_draw] + call [scrollbar_v_draw] ; draw for Horizontal ScrollBar push dword scroll_bar_data_horizontal - call [scrollbar_hor_draw] + call [scrollbar_h_draw] ; reset all_redraw flag xor eax,eax mov [scroll_bar_data_vertical.all_redraw],eax mov [scroll_bar_data_horizontal.all_redraw],eax ;--------------------------------------------- call draw_cube - mcall 12,2 + mcall SF_REDRAW,SSF_END_DRAW ret ;--------------------------------------------------------------------- draw_cube: - mcall 13,<30,301>,<50,301>,0xafafaf + mcall SF_DRAW_RECT,<30,301>,<50,301>,0xafafaf mov ecx,[scroll_bar_data_vertical.position] add ecx,50 shl ecx,16 @@ -380,7 +379,7 @@ draw_cube: add ebx,30 shl ebx,16 mov bx,30 - mcall 13,,,0x0 + mcall SF_DRAW_RECT,,,0x0 ret ;--------------------------------------------------------------------- include 'data.inc' diff --git a/programs/develop/libraries/box_lib/asm/trunk/data.inc b/programs/develop/libraries/box_lib/asm/trunk/data.inc index 39c2d8c7e..e05cfbb6a 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/data.inc +++ b/programs/develop/libraries/box_lib/asm/trunk/data.inc @@ -30,7 +30,7 @@ system_dir_ProcLib db '/sys/lib/proc_lib.obj',0 align 4 l_libs_start: library01 l_libs system_dir_Boxlib+9, file_name, system_dir_Boxlib,\ - Box_lib_import, plugins_directory + import_box_lib, plugins_directory library02 l_libs system_dir_CnvPNG+9, file_name, system_dir_CnvPNG,\ cnv_png_import, plugins_directory @@ -126,90 +126,9 @@ deflate_unpack dd 0 ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- -align 4 -Box_lib_import: -;init_lib dd a_init -;version_lib dd a_version - - -;edit_box_draw dd aEdit_box_draw -;edit_box_key dd aEdit_box_key -;edit_box_mouse dd aEdit_box_mouse -;version_ed dd aVersion_ed - -;check_box_draw dd aCheck_box_draw -;check_box_mouse dd aCheck_box_mouse -;version_ch dd aVersion_ch - -;option_box_draw dd aOption_box_draw -;option_box_mouse dd aOption_box_mouse -;version_op dd aVersion_op - -scrollbar_ver_draw dd aScrollbar_ver_draw -scrollbar_ver_mouse dd aScrollbar_ver_mouse -scrollbar_hor_draw dd aScrollbar_hor_draw -scrollbar_hor_mouse dd aScrollbar_hor_mouse -;version_scrollbar dd aVersion_scrollbar - -dinamic_button_draw dd aDbutton_draw -dinamic_button_mouse dd aDbutton_mouse -;version_dbutton dd aVersion_dbutton - -menu_bar_draw dd aMenu_bar_draw -menu_bar_mouse dd aMenu_bar_mouse -menu_bar_activate dd aMenu_bar_activate -;version_menu_bar dd aVersion_menu_bar - -;FileBrowser_draw dd aFileBrowser_draw -;FileBrowser_mouse dd aFileBrowser_mouse -;FileBrowser_key dd aFileBrowser_key -;Version_FileBrowser dd aVersion_FileBrowser - -PathShow_prepare dd sz_PathShow_prepare -PathShow_draw dd sz_PathShow_draw -;Version_path_show dd szVersion_path_show - dd 0,0 - -;a_init db 'lib_init',0 -;a_version db 'version',0 - -;aEdit_box_draw db 'edit_box_draw',0 -;aEdit_box_key db 'edit_box_key',0 -;aEdit_box_mouse db 'edit_box_mouse',0 -;aVersion_ed db 'version_ed',0 - -;aCheck_box_draw db 'check_box_draw',0 -;aCheck_box_mouse db 'check_box_mouse',0 -;aVersion_ch db 'version_ch',0 - -;aOption_box_draw db 'option_box_draw',0 -;aOption_box_mouse db 'option_box_mouse',0 -;aVersion_op db 'version_op',0 - -aScrollbar_ver_draw db 'scrollbar_v_draw',0 -aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 -aScrollbar_hor_draw db 'scrollbar_h_draw',0 -aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 -;aVersion_scrollbar db 'version_scrollbar',0 - -aDbutton_draw db 'dbutton_draw',0 -aDbutton_mouse db 'dbutton_mouse',0 -;aVersion_dbutton db 'version_dbutton',0 - -aMenu_bar_draw db 'menu_bar_draw',0 -aMenu_bar_mouse db 'menu_bar_mouse',0 -aMenu_bar_activate db 'menu_bar_activate',0 -;aVersion_menu_bar db 'version_menu_bar',0 - -;aFileBrowser_draw db 'FileBrowser_draw',0 -;aFileBrowser_mouse db 'FileBrowser_mouse',0 -;aFileBrowser_key db 'FileBrowser_key',0 -;aVersion_FileBrowser db 'version_FileBrowser',0 - -sz_PathShow_prepare db 'PathShow_prepare',0 -sz_PathShow_draw db 'PathShow_draw',0 -;szVersion_path_show db 'version_PathShow',0 +sz_lib_init db 'lib_init',0 +include '../../import.inc' ;import_box_lib ;--------------------------------------------------------------------- ;--------------------------------------------------------------------- diff --git a/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm b/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm index 50942dd7d..033881e60 100644 --- a/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm +++ b/programs/develop/libraries/box_lib/asm/trunk/editbox_ex.asm @@ -18,7 +18,7 @@ include '../../../../../load_lib.mac' @use_library ;use load lib macros start: ;universal load library/librarys -sys_load_library library_name, library_path, system_path, myimport +sys_load_library library_name, library_path, system_path, import_box_lib ;if return code =-1 then exit, else nornary work cmp eax,-1 jz exit @@ -116,37 +116,9 @@ library_name db 'box_lib.obj',0 ;library_name db 'box_lib.obj',0 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -myimport: +sz_lib_init db 'lib_init',0 -edit_box_draw dd aEdit_box_draw -edit_box_key dd aEdit_box_key -edit_box_mouse dd aEdit_box_mouse -version_ed dd aVersion_ed - -init_checkbox dd aInit_checkbox -check_box_draw dd aCheck_box_draw -check_box_mouse dd aCheck_box_mouse -version_ch dd aVersion_ch - -option_box_draw dd aOption_box_draw -option_box_mouse dd aOption_box_mouse -version_op dd aVersion_op - - dd 0,0 - -aEdit_box_draw db 'edit_box_draw',0 -aEdit_box_key db 'edit_box_key',0 -aEdit_box_mouse db 'edit_box_mouse',0 -aVersion_ed db 'version_ed',0 - -aInit_checkbox db 'init_checkbox2',0 -aCheck_box_draw db 'check_box_draw2',0 -aCheck_box_mouse db 'check_box_mouse2',0 -aVersion_ch db 'version_ch2',0 - -aOption_box_draw db 'option_box_draw',0 -aOption_box_mouse db 'option_box_mouse',0 -aVersion_op db 'version_op',0 +include '../../import.inc' ;creating a function import table check1 check_box2 (10 shl 16 + 12),(45 shl 16 + 12),5,0x80AABBCC,0,0,check_text1,ch_flag_en diff --git a/programs/develop/libraries/box_lib/export.inc b/programs/develop/libraries/box_lib/export.inc new file mode 100644 index 000000000..a840d848c --- /dev/null +++ b/programs/develop/libraries/box_lib/export.inc @@ -0,0 +1,117 @@ +; +; Export functions +; + +E_LIB lib_init +E_LIB version + +E_LIB edit_box_draw +E_LIB edit_box_key +E_LIB edit_box_key_safe +E_LIB edit_box_mouse +E_LIB edit_box_set_text +E_LIB version_ed + +E_LIB init_checkbox, init_checkbox2 +E_LIB check_box_draw, check_box_draw2 +E_LIB check_box_mouse, check_box_mouse2 +E_LIB version_ch, version_ch2 + +E_LIB option_box_draw +E_LIB option_box_mouse +E_LIB version_op + +E_LIB scrollbar_v_draw +E_LIB scrollbar_v_mouse +E_LIB scrollbar_h_draw +E_LIB scrollbar_h_mouse +E_LIB version_scrollbar + +E_LIB dbutton_draw +E_LIB dbutton_mouse +E_LIB version_dbutton + +E_LIB menu_bar_draw +E_LIB menu_bar_mouse +E_LIB menu_bar_activate +E_LIB version_menu_bar + +E_LIB FileBrowser_draw +E_LIB FileBrowser_mouse +E_LIB FileBrowser_key +E_LIB version_FileBrowser + +E_LIB tl_data_init +E_LIB tl_data_clear +E_LIB tl_info_clear +E_LIB tl_key +E_LIB tl_mouse +E_LIB tl_draw +E_LIB tl_info_undo +E_LIB tl_info_redo +E_LIB tl_node_add +E_LIB tl_node_set_data +E_LIB tl_node_get_data +E_LIB tl_node_delete +E_LIB tl_cur_beg +E_LIB tl_cur_next +E_LIB tl_cur_perv +E_LIB tl_node_close_open +E_LIB tl_node_lev_inc +E_LIB tl_node_lev_dec +E_LIB tl_node_move_up +E_LIB tl_node_move_down +E_LIB tl_node_poi_get_info +E_LIB tl_node_poi_get_next_info +E_LIB tl_node_poi_get_data +E_LIB tl_save_mem +E_LIB tl_load_mem +E_LIB tl_get_mem_size +E_LIB version_tree_list + +E_LIB PathShow_prepare +E_LIB PathShow_draw +E_LIB version_PathShow + +E_LIB ted_but_sumb_upper +E_LIB ted_but_sumb_lover +E_LIB ted_but_convert_by_table +E_LIB ted_can_save +E_LIB ted_clear +E_LIB ted_delete +E_LIB ted_draw +E_LIB ted_init +E_LIB ted_init_scroll_bars +E_LIB ted_init_syntax_file +E_LIB ted_is_select +E_LIB ted_key +E_LIB ted_mouse +E_LIB ted_open_file +E_LIB ted_save_file +E_LIB ted_text_add +E_LIB ted_but_select_word +E_LIB ted_but_cut +E_LIB ted_but_copy +E_LIB ted_but_paste +E_LIB ted_but_undo +E_LIB ted_but_redo +E_LIB ted_but_reverse +E_LIB ted_but_find +E_LIB ted_but_replace +E_LIB ted_text_colored +E_LIB ted_go_to_position +E_LIB version_text_edit + +E_LIB frame_draw +E_LIB version_frame + +E_LIB progressbar_draw +E_LIB progressbar_progress + +E_LIB tooltip_init +E_LIB tooltip_delete +E_LIB tooltip_test_show +E_LIB tooltip_mouse +E_LIB get_font_size + +purge E_LIB diff --git a/programs/develop/libraries/box_lib/import.inc b/programs/develop/libraries/box_lib/import.inc new file mode 100644 index 000000000..285e111bf --- /dev/null +++ b/programs/develop/libraries/box_lib/import.inc @@ -0,0 +1,24 @@ +align 4 +import_box_lib: + +macro E_LIB n, lfn +{ +if n eq lib_init + dd sz_#n +else if defined sz_#n + n dd sz_#n +end if +} +include 'export.inc' + dd 0,0 +macro E_LIB n, lfn +{ +if used n +if lfn eq + sz_#n db `n,0 +else + sz_#n db `lfn,0 +end if +end if +} +include 'export.inc' \ No newline at end of file diff --git a/programs/develop/libraries/buf2d/export.inc b/programs/develop/libraries/buf2d/export.inc new file mode 100644 index 000000000..55c7a4dac --- /dev/null +++ b/programs/develop/libraries/buf2d/export.inc @@ -0,0 +1,48 @@ +; +; Export functions +; + +E_LIB lib_init +E_LIB buf2d_create +E_LIB buf2d_create_f_img +E_LIB buf2d_clear +E_LIB buf2d_draw +E_LIB buf2d_delete +E_LIB buf2d_resize +E_LIB buf2d_rotate +E_LIB buf2d_line +E_LIB buf2d_line_sm +E_LIB buf2d_rect_by_size +E_LIB buf2d_filled_rect_by_size +E_LIB buf2d_circle +E_LIB buf2d_img_hdiv2 +E_LIB buf2d_img_wdiv2 +E_LIB buf2d_conv_24_to_8 +E_LIB buf2d_conv_24_to_32 +E_LIB buf2d_bit_blt +E_LIB buf2d_bit_blt_transp +E_LIB buf2d_bit_blt_alpha +E_LIB buf2d_curve_bezier +E_LIB buf2d_convert_text_matrix +E_LIB buf2d_draw_text +E_LIB buf2d_crop_color +E_LIB buf2d_offset_h +E_LIB buf2d_flood_fill +E_LIB buf2d_set_pixel +E_LIB buf2d_get_pixel +E_LIB buf2d_flip_h +E_LIB buf2d_flip_v +E_LIB buf2d_filter_dither + +E_LIB buf2d_vox_brush_create +E_LIB buf2d_vox_brush_delete +E_LIB buf2d_vox_obj_get_img_w_3g +E_LIB buf2d_vox_obj_get_img_h_3g +E_LIB buf2d_vox_obj_draw_1g +E_LIB buf2d_vox_obj_draw_3g +E_LIB buf2d_vox_obj_draw_3g_scaled +E_LIB buf2d_vox_obj_draw_pl +E_LIB buf2d_vox_obj_draw_pl_scaled +E_LIB buf2d_vox_obj_draw_3g_shadows + +purge E_LIB diff --git a/programs/develop/libraries/buf2d/import.inc b/programs/develop/libraries/buf2d/import.inc new file mode 100644 index 000000000..8306497b5 --- /dev/null +++ b/programs/develop/libraries/buf2d/import.inc @@ -0,0 +1,20 @@ +align 4 +import_buf2d: + +macro E_LIB n +{ +if n eq lib_init + dd sz_#n +else if defined sz_#n + n dd sz_#n +end if +} +include 'export.inc' + dd 0,0 +macro E_LIB n +{ +if used n + sz_#n db `n,0 +end if +} +include 'export.inc' \ No newline at end of file diff --git a/programs/develop/libraries/crypt_des/example/crypt_files.asm b/programs/develop/libraries/crypt_des/example/crypt_files.asm index 294df7d60..bcf85934b 100644 --- a/programs/develop/libraries/crypt_des/example/crypt_files.asm +++ b/programs/develop/libraries/crypt_des/example/crypt_files.asm @@ -11,7 +11,7 @@ include '../../../../develop/libraries/box_lib/trunk/box_lib.mac' include '../../../../dll.inc' @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load -caption db 'Шифрование алгоритмом DES 05.03.13',0 ;подпись окна +caption db 'Шифрование алгоритмом DES 06.05.25',0 ;подпись окна struct FileInfoBlock Function dd ? @@ -410,52 +410,9 @@ l_libs_start: lib_4 l_libs lib_name_4, library_path, system_dir_4, import_box_lib l_libs_end: -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw +sz_lib_init db 'lib_init',0 - dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 +include '../../libs-dev/libimg/import.inc' align 4 import_proclib: ;описание экспортируемых функций @@ -465,57 +422,7 @@ dd 0,0 aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 -align 4 -import_buf2d: - init dd sz_init - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - ;buf2d_line dd sz_buf2d_line - ;buf2d_rect_by_size dd sz_buf2d_rect_by_size - ;buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - ;buf2d_circle dd sz_buf2d_circle - ;buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - ;buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - ;buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - ;buf2d_bit_blt dd sz_buf2d_bit_blt - ;buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - ;buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - ;buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - ;buf2d_crop_color dd sz_buf2d_crop_color - ;buf2d_offset_h dd sz_buf2d_offset_h - ;buf2d_flood_fill dd sz_buf2d_flood_fill - ;buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - ;sz_buf2d_line db 'buf2d_line',0 - ;sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - ;sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - ;sz_buf2d_circle db 'buf2d_circle',0 - ;sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - ;sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - ;sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - ;sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - ;sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - ;sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - ;sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - ;sz_buf2d_crop_color db 'buf2d_crop_color',0 - ;sz_buf2d_offset_h db 'buf2d_offset_h',0 - ;sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - ;sz_buf2d_set_pixel db 'buf2d_set_pixel',0 +include '../../buf2d/import.inc' align 4 import_des: ;описание экспортируемых функций @@ -525,22 +432,7 @@ dd 0,0 sz_des_encryption db 'des_encryption',0 sz_des_decryption db 'des_decryption',0 -align 4 -import_box_lib: - ;dd sz_init1 - edit_box_draw dd sz_edit_box_draw - edit_box_key dd sz_edit_box_key - edit_box_mouse dd sz_edit_box_mouse - ;edit_box_set_text dd sz_edit_box_set_text - - dd 0,0 - ;sz_init1 db 'lib_init',0 - sz_edit_box_draw db 'edit_box_draw',0 - sz_edit_box_key db 'edit_box_key',0 - sz_edit_box_mouse db 'edit_box_mouse',0 - ;sz_edit_box_set_text db 'edit_box_set_text',0 - -mouse_dd dd 0x0 +include '../../box_lib/import.inc' align 4 buf_0: dd 0 ;указатель на буфер изображения @@ -564,12 +456,13 @@ buf_1: edit1 edit_box 58, 140,8, 0xffffff, 0xff, 0x80ff, 0, 0x8000, 8, txt_key, mouse_dd, ed_focus+ed_always_focus,8,8 txt_openfile db 'Откройте файл для шифрования или дешифрования.',0 -txt_buf rb 80 txt_key db 'des_0123',0 -mem_key rb 120 align 16 i_end: + txt_buf rb 80 + mem_key rb 120 + mouse_dd rd 1 procinfo process_information sc system_colors rb 2048 diff --git a/programs/develop/libraries/libs-dev/libimg/export.inc b/programs/develop/libraries/libs-dev/libimg/export.inc new file mode 100644 index 000000000..34151ab69 --- /dev/null +++ b/programs/develop/libraries/libs-dev/libimg/export.inc @@ -0,0 +1,34 @@ +; +; Export functions +; + +E_LIB lib_init +E_LIB version +E_LIB img_is_img +E_LIB img_info +E_LIB img_from_file +E_LIB img_to_file +E_LIB img_from_rgb +E_LIB img_to_rgb +E_LIB img_to_rgb2 +E_LIB img_decode +E_LIB img_encode ;supported formats: PNG 24 32, BMP 24 32, PNM 1 8g 24 +E_LIB img_create +E_LIB img_destroy +E_LIB img_destroy_layer +E_LIB img_count +E_LIB img_lock_bits +E_LIB img_unlock_bits +E_LIB img_flip +E_LIB img_flip_layer +E_LIB img_rotate +E_LIB img_rotate_layer +E_LIB img_draw +E_LIB img_scale +E_LIB img_get_scaled_size +E_LIB img_convert +E_LIB img_blend +E_LIB img_resize_data +E_LIB img_formats_table + +purge E_LIB diff --git a/programs/develop/libraries/libs-dev/libimg/import.inc b/programs/develop/libraries/libs-dev/libimg/import.inc new file mode 100644 index 000000000..6e379d6a4 --- /dev/null +++ b/programs/develop/libraries/libs-dev/libimg/import.inc @@ -0,0 +1,20 @@ +align 4 +import_libimg: + +macro E_LIB n +{ +if n eq lib_init + dd sz_#n +else if defined sz_#n + n dd sz_#n +end if +} +include 'export.inc' + dd 0,0 +macro E_LIB n +{ +if used n + sz_#n db `n,0 +end if +} +include 'export.inc' \ No newline at end of file diff --git a/programs/media/img_transform/img_transform.asm b/programs/media/img_transform/img_transform.asm index 65b79af9e..82c4f5c67 100644 --- a/programs/media/img_transform/img_transform.asm +++ b/programs/media/img_transform/img_transform.asm @@ -1,3 +1,7 @@ +; SPDX-License-Identifier: GPL-2.0-only +; ImgTransform - utility for creating textures from images +; Copyright (C) 2020-2025 KolibriOS team + use32 org 0 db 'MENUET01' @@ -9,23 +13,23 @@ include '../../proc32.inc' include '../../KOSfuncs.inc' include '../../load_img.inc' include '../../load_lib.mac' +include '../../develop/libraries/TinyGL/asm_fork/kosgl.inc' include '../../develop/libraries/TinyGL/asm_fork/opengl_const.inc' include '../../develop/libraries/TinyGL/asm_fork/zbuffer.inc' include '../../develop/libraries/libs-dev/libimg/libimg.inc' include '../../develop/info3ds/info_fun_float.inc' @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load -caption db 'Image transform 08.12.20',0 ;подпись окна +caption db 'Image transform 07.05.25',0 BUF_STRUCT_SIZE equ 21 -buf2d_data equ dword[edi] ;данные буфера изображения -buf2d_w equ dword[edi+8] ;ширина буфера -buf2d_h equ dword[edi+12] ;высота буфера -buf2d_l equ word[edi+4] -buf2d_t equ word[edi+6] ;отступ сверху -buf2d_size_lt equ dword[edi+4] ;отступ слева и справа для буфера -buf2d_color equ dword[edi+16] ;цвет фона буфера -buf2d_bits equ byte[edi+20] ;количество бит в 1-й точке изображения +buf2d_data equ dword[edi] ;image buffer data +buf2d_w equ dword[edi+8] ;buffer width +buf2d_h equ dword[edi+12] ;buffer height +buf2d_l equ word[edi+4] ;left space +buf2d_t equ word[edi+6] ;top space +buf2d_color equ dword[edi+16] ;buffer background color +buf2d_bits equ byte[edi+20] ;number of bits in 1 image pixel NAV_WND_L equ 145 NAV_WND_T equ 1 @@ -88,13 +92,13 @@ still: cmp eax,0 je timer_funct - cmp al,1 + cmp al,EV_REDRAW jz red_win - cmp al,2 + cmp al,EV_KEY jz key - cmp al,3 + cmp al,EV_BUTTON jz button - cmp al,6 + cmp al,EV_MOUSE jne @f mcall SF_THREAD_INFO,procinfo,-1 cmp ax,word[procinfo.window_stack_position] @@ -1428,56 +1432,9 @@ l_libs_start: lib_0 l_libs lib_name_0, file_name, system_dir_0, import_proclib lib_1 l_libs lib_name_1, file_name, system_dir_1, import_libimg lib_2 l_libs lib_name_2, library_path, system_dir_2, import_buf2d - lib_3 l_libs lib_name_3, library_path, system_dir_3, import_lib_tinygl + lib_3 l_libs lib_name_3, library_path, system_dir_3, import_tinygl l_libs_end: -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw - - dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 - align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init @@ -1490,76 +1447,10 @@ dd 0,0 aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0 aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0 -align 4 -import_buf2d: - init dd sz_init - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - buf2d_get_pixel dd sz_buf2d_get_pixel - dd 0,0 - sz_init db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - sz_buf2d_get_pixel db 'buf2d_get_pixel',0 - -align 4 -import_lib_tinygl: - -macro E_LIB n -{ - n dd sz_#n -} -include '../../../programs/develop/libraries/TinyGL/asm_fork/export.inc' - dd 0,0 -macro E_LIB n -{ - sz_#n db `n,0 -} -include '../../../programs/develop/libraries/TinyGL/asm_fork/export.inc' +sz_lib_init db 'lib_init',0 +include '../../develop/libraries/libs-dev/libimg/import.inc' +include '../../develop/libraries/buf2d/import.inc' +include '../../develop/libraries/TinyGL/asm_fork/import.inc' align 4 buf_0: dd 0 diff --git a/programs/media/scrshoot/srectwin.inc b/programs/media/scrshoot/srectwin.inc index fb1ac8ad7..dc9066c41 100644 --- a/programs/media/scrshoot/srectwin.inc +++ b/programs/media/scrshoot/srectwin.inc @@ -259,99 +259,12 @@ aOpenDialog_Init db 'OpenDialog_init',0 aOpenDialog_Start db 'OpenDialog_start',0 ;aOpenDialog_Version db 'Version_OpenDialog',0 ;--------------------------------------------------------------------- -align 4 -Box_lib_import: -;init_lib dd a_init -;version_lib dd a_version +sz_lib_init db 'lib_init',0 -edit_box_draw dd aEdit_box_draw -edit_box_key dd aEdit_box_key -edit_box_mouse dd aEdit_box_mouse -edit_box_set_text dd aEdit_box_set_text -;version_ed dd aVersion_ed +Box_lib_import equ import_box_lib +include '../../develop/libraries/box_lib/import.inc' -init_checkbox dd aInit_checkbox -check_box_draw dd aCheck_box_draw -check_box_mouse dd aCheck_box_mouse -;version_ch dd aVersion_ch - -option_box_draw dd aOption_box_draw -option_box_mouse dd aOption_box_mouse -;version_op dd aVersion_op - -PathShow_prepare dd sz_PathShow_prepare -PathShow_draw dd sz_PathShow_draw -;Version_path_show dd szVersion_path_show - dd 0,0 - -;a_init db 'lib_init',0 -;a_version db 'version',0 - -aEdit_box_draw db 'edit_box_draw',0 -aEdit_box_key db 'edit_box_key',0 -aEdit_box_mouse db 'edit_box_mouse',0 -aEdit_box_set_text db 'edit_box_set_text',0 -;aVersion_ed db 'version_ed',0 - - -aInit_checkbox db 'init_checkbox2',0 -aCheck_box_draw db 'check_box_draw2',0 -aCheck_box_mouse db 'check_box_mouse2',0 -;aVersion_ch db 'version_ch2',0 - -aOption_box_draw db 'option_box_draw',0 -aOption_box_mouse db 'option_box_mouse',0 -;aVersion_op db 'version_op',0 - -sz_PathShow_prepare db 'PathShow_prepare',0 -sz_PathShow_draw db 'PathShow_draw',0 -;szVersion_path_show db 'version_PathShow',0 -;--------------------------------------------------------------------- -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw -dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 +include '../../develop/libraries/libs-dev/libimg/import.inc' ;--------------------------------------------------------------------- ;width,left,top,color,shift_color,focus_border_color,\ ; blur_border_color,text_color,max,text,mouse_variable,flags,size,pos diff --git a/programs/other/cnc_control/cnc_control.asm b/programs/other/cnc_control/cnc_control.asm index 0f4f9fbb8..1e23cc407 100644 --- a/programs/other/cnc_control/cnc_control.asm +++ b/programs/other/cnc_control/cnc_control.asm @@ -140,13 +140,13 @@ still: jmp still @@: - cmp al,1 + cmp al,EV_REDRAW jz red_win - cmp al,2 + cmp al,EV_KEY jz key - cmp al,3 + cmp al,EV_BUTTON jz button - cmp al,6 + cmp al,EV_MOUSE jne @f mcall SF_THREAD_INFO,procinfo,-1 cmp ax,word[procinfo.window_stack_position] @@ -757,52 +757,6 @@ l_libs_start: lib_4 l_libs lib_name_4, file_name, system_dir_4, import_libkmenu l_libs_end: -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw - - dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 align 4 import_proclib: @@ -816,110 +770,10 @@ dd 0,0 aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0 ;aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0 -align 4 -import_buf2d: - init dd sz_init - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_line_sm dd sz_buf2d_line_sm - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_flip_h dd sz_buf2d_flip_h - buf2d_flip_v dd sz_buf2d_flip_v - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_line_sm db 'buf2d_line_sm',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_flip_h db 'buf2d_flip_h',0 - sz_buf2d_flip_v db 'buf2d_flip_v',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 - -align 4 -import_box_lib: - dd sz_init1 - - init_checkbox dd sz_Init_checkbox - check_box_draw dd sz_Check_box_draw - check_box_mouse dd sz_Check_box_mouse - ;version_ch dd sz_Version_ch - - option_box_draw dd sz_Option_box_draw - option_box_mouse dd sz_Option_box_mouse - ;version_op dd sz_Version_op - - edit_box_draw dd sz_edit_box_draw - edit_box_key dd sz_edit_box_key - edit_box_mouse dd sz_edit_box_mouse - edit_box_set_text dd sz_edit_box_set_text - scrollbar_ver_draw dd sz_scrollbar_ver_draw - scrollbar_hor_draw dd sz_scrollbar_hor_draw - - progressbar_draw dd sz_progressbar_draw - progressbar_progress dd sz_progressbar_progress - - dd 0,0 - sz_init1 db 'lib_init',0 - - sz_Init_checkbox db 'init_checkbox2',0 - sz_Check_box_draw db 'check_box_draw2',0 - sz_Check_box_mouse db 'check_box_mouse2',0 - ;sz_Version_ch db 'version_ch2',0 - - sz_Option_box_draw db 'option_box_draw',0 - sz_Option_box_mouse db 'option_box_mouse',0 - ;sz_Version_op db 'version_op',0 - - sz_edit_box_draw db 'edit_box_draw',0 - sz_edit_box_key db 'edit_box_key',0 - sz_edit_box_mouse db 'edit_box_mouse',0 - sz_edit_box_set_text db 'edit_box_set_text',0 - sz_scrollbar_ver_draw db 'scrollbar_v_draw',0 - sz_scrollbar_hor_draw db 'scrollbar_h_draw',0 - - sz_progressbar_draw db 'progressbar_draw', 0 - sz_progressbar_progress db 'progressbar_progress', 0 +sz_lib_init db 'lib_init',0 +include '../../develop/libraries/libs-dev/libimg/import.inc' +include '../../develop/libraries/buf2d/import.inc' +include '../../develop/libraries/box_lib/import.inc' align 4 import_libkmenu: diff --git a/programs/other/cnc_editor/cnc_editor.asm b/programs/other/cnc_editor/cnc_editor.asm index b7184f0e2..384a73d2f 100644 --- a/programs/other/cnc_editor/cnc_editor.asm +++ b/programs/other/cnc_editor/cnc_editor.asm @@ -15,16 +15,16 @@ include 'cnc_editor.inc' include '../../develop/info3ds/info_fun_float.inc' @use_library mem.Alloc,mem.Free,mem.ReAlloc,dll.Load -caption db 'CNC editor 23.05.19',0 ;подпись окна +caption db 'CNC editor 07.05.25',0 ;window signature run_file_70 FileInfoBlock offs_last_timer dd 0 ;последний сдвиг показаный в функции таймера IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3 -image_data_toolbar dd 0 ;указатель на временную память. для нужен преобразования изображения -icon_tl_sys dd 0 ;указатель на память для хранения системных иконок -icon_toolbar dd 0 ;указатель на память для хранения иконок объектов +image_data_toolbar dd 0 ;pointer to temporary memory, needed for image conversion +icon_tl_sys dd 0 ;pointer to memory for storing system icons +icon_toolbar dd 0 ;pointer to memory for storing object icons include 'wnd_point_coords.inc' include 'wnd_scale.inc' @@ -111,13 +111,13 @@ still: jmp still @@: - cmp al,1 + cmp al,EV_REDRAW jz red_win - cmp al,2 + cmp al,EV_KEY jz key - cmp al,3 + cmp al,EV_BUTTON jz button - cmp al,6 + cmp al,EV_MOUSE jne @f mcall SF_THREAD_INFO,procinfo,-1 cmp ax,word[procinfo.window_stack_position] @@ -360,8 +360,7 @@ pushad cmp eax,dword[buf_0.h] ;смотрим размер буфера jne @f cmp ebx,dword[buf_0.w] - jne @f - jmp .end0 + je .end0 @@: stdcall [buf2d_resize],buf_0,ebx,eax,1 mov eax,ObjData @@ -2105,53 +2104,6 @@ l_libs_start: lib_3 l_libs lib_name_3, file_name, system_dir_3, import_box_lib l_libs_end: -align 4 -import_libimg: - dd alib_init1 - img_is_img dd aimg_is_img - img_info dd aimg_info - img_from_file dd aimg_from_file - img_to_file dd aimg_to_file - img_from_rgb dd aimg_from_rgb - img_to_rgb dd aimg_to_rgb - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_encode dd aimg_encode - img_create dd aimg_create - img_destroy dd aimg_destroy - img_destroy_layer dd aimg_destroy_layer - img_count dd aimg_count - img_lock_bits dd aimg_lock_bits - img_unlock_bits dd aimg_unlock_bits - img_flip dd aimg_flip - img_flip_layer dd aimg_flip_layer - img_rotate dd aimg_rotate - img_rotate_layer dd aimg_rotate_layer - img_draw dd aimg_draw - - dd 0,0 - alib_init1 db 'lib_init',0 - aimg_is_img db 'img_is_img',0 ;определяет по данным, может ли библиотека сделать из них изображение - aimg_info db 'img_info',0 - aimg_from_file db 'img_from_file',0 - aimg_to_file db 'img_to_file',0 - aimg_from_rgb db 'img_from_rgb',0 - aimg_to_rgb db 'img_to_rgb',0 ;преобразование изображения в данные RGB - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_encode db 'img_encode',0 - aimg_create db 'img_create',0 - aimg_destroy db 'img_destroy',0 - aimg_destroy_layer db 'img_destroy_layer',0 - aimg_count db 'img_count',0 - aimg_lock_bits db 'img_lock_bits',0 - aimg_unlock_bits db 'img_unlock_bits',0 - aimg_flip db 'img_flip',0 - aimg_flip_layer db 'img_flip_layer',0 - aimg_rotate db 'img_rotate',0 - aimg_rotate_layer db 'img_rotate_layer',0 - aimg_draw db 'img_draw',0 - align 4 import_proclib: OpenDialog_Init dd aOpenDialog_Init @@ -2164,162 +2116,11 @@ dd 0,0 aOpenDialog_Set_file_name db 'OpenDialog_set_file_name',0 aOpenDialog_Set_file_ext db 'OpenDialog_set_file_ext',0 -align 4 -import_buf2d: - init dd sz_init - buf2d_create dd sz_buf2d_create - buf2d_create_f_img dd sz_buf2d_create_f_img - buf2d_clear dd sz_buf2d_clear - buf2d_draw dd sz_buf2d_draw - buf2d_delete dd sz_buf2d_delete - buf2d_resize dd sz_buf2d_resize - buf2d_line dd sz_buf2d_line - buf2d_line_sm dd sz_buf2d_line_sm - buf2d_rect_by_size dd sz_buf2d_rect_by_size - buf2d_filled_rect_by_size dd sz_buf2d_filled_rect_by_size - buf2d_circle dd sz_buf2d_circle - buf2d_img_hdiv2 dd sz_buf2d_img_hdiv2 - buf2d_img_wdiv2 dd sz_buf2d_img_wdiv2 - buf2d_conv_24_to_8 dd sz_buf2d_conv_24_to_8 - buf2d_conv_24_to_32 dd sz_buf2d_conv_24_to_32 - buf2d_bit_blt dd sz_buf2d_bit_blt - buf2d_bit_blt_transp dd sz_buf2d_bit_blt_transp - buf2d_bit_blt_alpha dd sz_buf2d_bit_blt_alpha - buf2d_curve_bezier dd sz_buf2d_curve_bezier - buf2d_convert_text_matrix dd sz_buf2d_convert_text_matrix - buf2d_draw_text dd sz_buf2d_draw_text - buf2d_crop_color dd sz_buf2d_crop_color - buf2d_flip_h dd sz_buf2d_flip_h - buf2d_flip_v dd sz_buf2d_flip_v - buf2d_offset_h dd sz_buf2d_offset_h - buf2d_flood_fill dd sz_buf2d_flood_fill - buf2d_set_pixel dd sz_buf2d_set_pixel - dd 0,0 - sz_init db 'lib_init',0 - sz_buf2d_create db 'buf2d_create',0 - sz_buf2d_create_f_img db 'buf2d_create_f_img',0 - sz_buf2d_clear db 'buf2d_clear',0 - sz_buf2d_draw db 'buf2d_draw',0 - sz_buf2d_delete db 'buf2d_delete',0 - sz_buf2d_resize db 'buf2d_resize',0 - sz_buf2d_line db 'buf2d_line',0 - sz_buf2d_line_sm db 'buf2d_line_sm',0 - sz_buf2d_rect_by_size db 'buf2d_rect_by_size',0 - sz_buf2d_filled_rect_by_size db 'buf2d_filled_rect_by_size',0 - sz_buf2d_circle db 'buf2d_circle',0 - sz_buf2d_img_hdiv2 db 'buf2d_img_hdiv2',0 - sz_buf2d_img_wdiv2 db 'buf2d_img_wdiv2',0 - sz_buf2d_conv_24_to_8 db 'buf2d_conv_24_to_8',0 - sz_buf2d_conv_24_to_32 db 'buf2d_conv_24_to_32',0 - sz_buf2d_bit_blt db 'buf2d_bit_blt',0 - sz_buf2d_bit_blt_transp db 'buf2d_bit_blt_transp',0 - sz_buf2d_bit_blt_alpha db 'buf2d_bit_blt_alpha',0 - sz_buf2d_curve_bezier db 'buf2d_curve_bezier',0 - sz_buf2d_convert_text_matrix db 'buf2d_convert_text_matrix',0 - sz_buf2d_draw_text db 'buf2d_draw_text',0 - sz_buf2d_crop_color db 'buf2d_crop_color',0 - sz_buf2d_flip_h db 'buf2d_flip_h',0 - sz_buf2d_flip_v db 'buf2d_flip_v',0 - sz_buf2d_offset_h db 'buf2d_offset_h',0 - sz_buf2d_flood_fill db 'buf2d_flood_fill',0 - sz_buf2d_set_pixel db 'buf2d_set_pixel',0 +sz_lib_init db 'lib_init',0 +include '../../develop/libraries/libs-dev/libimg/import.inc' +include '../../develop/libraries/buf2d/import.inc' +include '../../develop/libraries/box_lib/import.inc' -align 4 -import_box_lib: - dd sz_init1 - - init_checkbox dd sz_Init_checkbox - check_box_draw dd sz_Check_box_draw - check_box_mouse dd sz_Check_box_mouse - ;version_ch dd sz_Version_ch - - option_box_draw dd sz_Option_box_draw - option_box_mouse dd sz_Option_box_mouse - ;version_op dd sz_Version_op - - edit_box_draw dd sz_edit_box_draw - edit_box_key dd sz_edit_box_key - edit_box_mouse dd sz_edit_box_mouse - edit_box_set_text dd sz_edit_box_set_text - scrollbar_ver_draw dd sz_scrollbar_ver_draw - scrollbar_hor_draw dd sz_scrollbar_hor_draw - - tl_data_init dd sz_tl_data_init - tl_data_clear dd sz_tl_data_clear - tl_info_clear dd sz_tl_info_clear - tl_key dd sz_tl_key - tl_mouse dd sz_tl_mouse - tl_draw dd sz_tl_draw - tl_info_undo dd sz_tl_info_undo - tl_info_redo dd sz_tl_info_redo - tl_node_add dd sz_tl_node_add - tl_node_set_data dd sz_tl_node_set_data - tl_node_get_data dd sz_tl_node_get_data - tl_node_delete dd sz_tl_node_delete - tl_node_move_up dd sz_tl_node_move_up - tl_node_move_down dd sz_tl_node_move_down - tl_cur_beg dd sz_tl_cur_beg - tl_cur_next dd sz_tl_cur_next - tl_cur_perv dd sz_tl_cur_perv - tl_node_close_open dd sz_tl_node_close_open - tl_node_lev_inc dd sz_tl_node_lev_inc - tl_node_lev_dec dd sz_tl_node_lev_dec - tl_node_poi_get_info dd sz_tl_node_poi_get_info - tl_node_poi_get_next_info dd sz_tl_node_poi_get_next_info - tl_node_poi_get_data dd sz_tl_node_poi_get_data - - dd 0,0 - sz_init1 db 'lib_init',0 - - sz_Init_checkbox db 'init_checkbox2',0 - sz_Check_box_draw db 'check_box_draw2',0 - sz_Check_box_mouse db 'check_box_mouse2',0 - ;sz_Version_ch db 'version_ch2',0 - - sz_Option_box_draw db 'option_box_draw',0 - sz_Option_box_mouse db 'option_box_mouse',0 - ;sz_Version_op db 'version_op',0 - - sz_edit_box_draw db 'edit_box_draw',0 - sz_edit_box_key db 'edit_box_key',0 - sz_edit_box_mouse db 'edit_box_mouse',0 - sz_edit_box_set_text db 'edit_box_set_text',0 - sz_scrollbar_ver_draw db 'scrollbar_v_draw',0 - sz_scrollbar_hor_draw db 'scrollbar_h_draw',0 - - sz_tl_data_init db 'tl_data_init',0 - sz_tl_data_clear db 'tl_data_clear',0 - sz_tl_info_clear db 'tl_info_clear',0 - sz_tl_key db 'tl_key',0 - sz_tl_mouse db 'tl_mouse',0 - sz_tl_draw db 'tl_draw',0 - sz_tl_info_undo db 'tl_info_undo',0 - sz_tl_info_redo db 'tl_info_redo',0 - sz_tl_node_add db 'tl_node_add',0 - sz_tl_node_set_data db 'tl_node_set_data',0 - sz_tl_node_get_data db 'tl_node_get_data',0 - sz_tl_node_delete db 'tl_node_delete',0 - sz_tl_node_move_up db 'tl_node_move_up',0 - sz_tl_node_move_down db 'tl_node_move_down',0 - sz_tl_cur_beg db 'tl_cur_beg',0 - sz_tl_cur_next db 'tl_cur_next',0 - sz_tl_cur_perv db 'tl_cur_perv',0 - sz_tl_node_close_open db 'tl_node_close_open',0 - sz_tl_node_lev_inc db 'tl_node_lev_inc',0 - sz_tl_node_lev_dec db 'tl_node_lev_dec',0 - sz_tl_node_poi_get_info db 'tl_node_poi_get_info',0 - sz_tl_node_poi_get_next_info db 'tl_node_poi_get_next_info',0 - sz_tl_node_poi_get_data db 'tl_node_poi_get_data',0 - -align 4 -mouse_dd dd 0 -last_time dd 0 - -align 16 -sc system_colors - -align 16 -procinfo process_information align 4 buf_0: dd 0 ;указатель на буфер изображения @@ -2348,7 +2149,7 @@ buf_png: align 4 el_focus dd tree1 tree1 tree_list size_one_list,1000+2, tl_key_no_edit+tl_draw_par_line,\ - 16,16, 0xffffff,0xb0d0ff,0x400040, 5,35,195-16,340, 16,Figure.Caption,0,\ + 16,16, 0xffffff,0xb0d0ff,0x10400040, 5,35,195-16,340, 16,Figure.Caption,0,\ el_focus,w_scr_t1,0 align 4 @@ -2400,6 +2201,14 @@ endp align 16 i_end: +mouse_dd dd 0 +last_time dd 0 + +align 16 +sc system_colors + +align 16 +procinfo process_information rb 2048 thread_coords: rb 2048 diff --git a/programs/other/t_edit/t_data.inc b/programs/other/t_edit/t_data.inc index ea7d45425..59395f7e5 100644 --- a/programs/other/t_edit/t_data.inc +++ b/programs/other/t_edit/t_data.inc @@ -81,148 +81,8 @@ lib_name_5 db 'kmenu.obj',0 ;--------------------------------------------------------------------- -align 4 -import_box_lib: - dd alib_init0 ;функция запускается макросом 1 раз при подключении бибилиотеки, потому в программе метка на нее не нужна - - edit_box_draw dd aEdit_box_draw - edit_box_key dd aEdit_box_key - edit_box_mouse dd aEdit_box_mouse - ;edit_box_set_text dd aEdit_box_set_text - ;version_ed dd aVersion_ed - - init_checkbox dd ainit_checkbox - check_box_draw dd acheck_box_draw - check_box_mouse dd acheck_box_mouse - - option_box_draw dd aOption_box_draw - option_box_mouse dd aOption_box_mouse - ;version_op dd aVersion_op - - scrollbar_ver_draw dd aScrollbar_ver_draw - scrollbar_ver_mouse dd aScrollbar_ver_mouse - scrollbar_hor_draw dd aScrollbar_hor_draw - scrollbar_hor_mouse dd aScrollbar_hor_mouse - ;version_scrollbar dd aVersion_scrollbar - - tl_data_init dd sz_tl_data_init - tl_data_clear dd sz_tl_data_clear - tl_info_clear dd sz_tl_info_clear - tl_key dd sz_tl_key - tl_mouse dd sz_tl_mouse - tl_draw dd sz_tl_draw - tl_info_undo dd sz_tl_info_undo - tl_info_redo dd sz_tl_info_redo - tl_node_add dd sz_tl_node_add - tl_node_set_data dd sz_tl_node_set_data - tl_node_get_data dd sz_tl_node_get_data - tl_node_delete dd sz_tl_node_delete - tl_cur_beg dd sz_tl_cur_beg - tl_cur_next dd sz_tl_cur_next - tl_cur_perv dd sz_tl_cur_perv - ;tl_node_close_open dd sz_tl_node_close_open - tl_node_lev_inc dd sz_tl_node_lev_inc - tl_node_lev_dec dd sz_tl_node_lev_dec - - ted_but_sumb_upper dd sz_ted_but_sumb_upper - ted_but_sumb_lover dd sz_ted_but_sumb_lover - ted_but_convert_by_table dd sz_ted_but_convert_by_table - ted_can_save dd sz_ted_can_save - ted_clear dd sz_ted_clear - ted_delete dd sz_ted_delete - ted_draw dd sz_ted_draw - ted_init dd sz_ted_init - ted_init_scroll_bars dd sz_ted_init_scroll_bars - ted_init_syntax_file dd sz_ted_init_syntax_file - ted_is_select dd sz_ted_is_select - ted_key dd sz_ted_key - ted_mouse dd sz_ted_mouse - ted_open_file dd sz_ted_open_file - ted_save_file dd sz_ted_save_file - ted_text_add dd sz_ted_text_add - ted_but_select_word dd sz_ted_but_select_word - ted_but_cut dd sz_ted_but_cut - ted_but_copy dd sz_ted_but_copy - ted_but_paste dd sz_ted_but_paste - ted_but_undo dd sz_ted_but_undo - ted_but_redo dd sz_ted_but_redo - ted_but_reverse dd sz_ted_but_reverse - ted_but_find dd sz_ted_but_find - ted_but_replace dd sz_ted_but_replace - ted_text_colored dd sz_ted_text_colored - ted_go_to_position dd sz_ted_go_to_position - version_text_edit dd sz_ted_version - -dd 0,0 - alib_init0 db 'lib_init',0 - - aEdit_box_draw db 'edit_box_draw',0 - aEdit_box_key db 'edit_box_key',0 - aEdit_box_mouse db 'edit_box_mouse',0 - ;aEdit_box_set_text db 'edit_box_set_text',0 - ;aVersion_ed db 'version_ed',0 - - ainit_checkbox db 'init_checkbox2',0 - acheck_box_draw db 'check_box_draw2',0 - acheck_box_mouse db 'check_box_mouse2',0 - - aOption_box_draw db 'option_box_draw',0 - aOption_box_mouse db 'option_box_mouse',0 - ;aVersion_op db 'version_op',0 - - aScrollbar_ver_draw db 'scrollbar_v_draw',0 - aScrollbar_ver_mouse db 'scrollbar_v_mouse',0 - aScrollbar_hor_draw db 'scrollbar_h_draw',0 - aScrollbar_hor_mouse db 'scrollbar_h_mouse',0 - ;aVersion_scrollbar db 'version_scrollbar',0 - - sz_tl_data_init db 'tl_data_init',0 - sz_tl_data_clear db 'tl_data_clear',0 - sz_tl_info_clear db 'tl_info_clear',0 - sz_tl_key db 'tl_key',0 - sz_tl_mouse db 'tl_mouse',0 - sz_tl_draw db 'tl_draw',0 - sz_tl_info_undo db 'tl_info_undo',0 - sz_tl_info_redo db 'tl_info_redo',0 - sz_tl_node_add db 'tl_node_add',0 - sz_tl_node_set_data db 'tl_node_set_data',0 - sz_tl_node_get_data db 'tl_node_get_data',0 - sz_tl_node_delete db 'tl_node_delete',0 - sz_tl_cur_beg db 'tl_cur_beg',0 - sz_tl_cur_next db 'tl_cur_next',0 - sz_tl_cur_perv db 'tl_cur_perv',0 - ;sz_tl_node_close_open db 'tl_node_close_open',0 - sz_tl_node_lev_inc db 'tl_node_lev_inc',0 - sz_tl_node_lev_dec db 'tl_node_lev_dec',0 - - sz_ted_but_sumb_upper db 'ted_but_sumb_upper',0 - sz_ted_but_sumb_lover db 'ted_but_sumb_lover',0 - sz_ted_but_convert_by_table db 'ted_but_convert_by_table',0 - sz_ted_can_save db 'ted_can_save',0 - sz_ted_clear db 'ted_clear',0 - sz_ted_delete db 'ted_delete',0 - sz_ted_draw db 'ted_draw',0 - sz_ted_init db 'ted_init',0 - sz_ted_init_scroll_bars db 'ted_init_scroll_bars',0 - sz_ted_init_syntax_file db 'ted_init_syntax_file',0 - sz_ted_is_select db 'ted_is_select',0 - sz_ted_key db 'ted_key',0 - sz_ted_mouse db 'ted_mouse',0 - sz_ted_open_file db 'ted_open_file',0 - sz_ted_save_file db 'ted_save_file',0 - sz_ted_text_add db 'ted_text_add',0 - sz_ted_but_select_word db 'ted_but_select_word',0 - sz_ted_but_cut db 'ted_but_cut',0 - sz_ted_but_copy db 'ted_but_copy',0 - sz_ted_but_paste db 'ted_but_paste',0 - sz_ted_but_undo db 'ted_but_undo',0 - sz_ted_but_redo db 'ted_but_redo',0 - sz_ted_but_reverse db 'ted_but_reverse',0 - sz_ted_but_find db 'ted_but_find',0 - sz_ted_but_replace db 'ted_but_replace',0 - sz_ted_text_colored db 'ted_text_colored',0 - sz_ted_go_to_position db 'ted_go_to_position',0 - sz_ted_version db 'version_text_edit',0 +sz_lib_init db 'lib_init',0 +include '../../develop/libraries/box_lib/import.inc' align 4 import_proclib: @@ -241,18 +101,8 @@ dd 0,0 amb_create db 'mb_create',0 amb_reinit db 'mb_reinit',0 amb_setfunctions db 'mb_setfunctions',0 - -align 4 -import_libimg: - dd alib_init1 - img_to_rgb2 dd aimg_to_rgb2 - img_decode dd aimg_decode - img_destroy dd aimg_destroy -dd 0,0 - alib_init1 db 'lib_init',0 - aimg_to_rgb2 db 'img_to_rgb2',0 - aimg_decode db 'img_decode',0 ;автоматически определяет формат графических данных - aimg_destroy db 'img_destroy',0 + +include '../../develop/libraries/libs-dev/libimg/import.inc' align 4 import_libini: diff --git a/programs/other/t_edit/t_draw.inc b/programs/other/t_edit/t_draw.inc index eb75ca768..aa2a7226a 100644 --- a/programs/other/t_edit/t_draw.inc +++ b/programs/other/t_edit/t_draw.inc @@ -394,11 +394,11 @@ p_syntax: mov ecx,ted_wnd_t shl ecx,16 mov cx,20 - mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] ;Ёшёютрэшх тхЁїэхую Їюэютюую яЁ ьюєуюы№эшър + mcall SF_DRAW_RECT,TED_PANEL_WIDTH,,[sc.work] ;drawing the top background rectangle stdcall [tl_draw], tree1 - mov [ws_dir_lbox.all_redraw],1 ;фы  яюыэющ яхЁхЁшёютъш фюўхЁэхую ёъЁюыышэур - stdcall [scrollbar_ver_draw], ws_dir_lbox + mov [ws_dir_lbox.all_redraw],1 ;for a complete redraw of the child scroll + stdcall [scrollbar_v_draw], ws_dir_lbox ror ecx,16 add ecx,[tree1.box_height] @@ -411,7 +411,7 @@ p_syntax: sub cx,20 sub ecx,[tree1.box_height] inc cx - int 0x40 ;Ёшёютрэшх эшцэхую Їюэютюую яЁ ьюєуюы№эшър + int 0x40 ;drawing the bottom background rectangle mov ecx,ted_wnd_t add ecx,25 @@ -436,7 +436,7 @@ p_syntax: popad ret -MIN_M_WND_H equ 100 ;ьшэшьры№эр  т√ёюЄр уыртэюую юъэр +MIN_M_WND_H equ 100 ;minimum height of main window ;input: ; edi = pointer to tedit struct align 4 diff --git a/programs/other/t_edit/wnd_k_words.inc b/programs/other/t_edit/wnd_k_words.inc index ec81f04e4..399ac0efd 100644 --- a/programs/other/t_edit/wnd_k_words.inc +++ b/programs/other/t_edit/wnd_k_words.inc @@ -80,7 +80,7 @@ pushad @@: mov dword[w_scr_t3.all_redraw],1 - stdcall [scrollbar_ver_draw], w_scr_t3 + stdcall [scrollbar_v_draw], w_scr_t3 stdcall [tl_draw], tree3 stdcall [edit_box_draw], edit3 mcall SF_REDRAW,SSF_END_DRAW