From 1483ec84620153526c28fd10d705b89eea1edde0 Mon Sep 17 00:00:00 2001 From: IgorA Date: Mon, 14 Jul 2025 08:20:32 +0200 Subject: [PATCH] Libraries (box_lib, buf2d, libimg, tinygl): optimize function import (#231) Libraries (box_lib, buf2d, libimg, tinygl): optimize function import Programs updated: - gears, test3, test_glu1, test_glu2, - test_array1, textures0, textures1, textures2, - ctrldemo, editbox_ex, crypt_files, img_transform, - scrshoot, t_edit, cnc_control, cnc_editor Reviewed-on: https://git.kolibrios.org/KolibriOS/kolibrios/pulls/231 Reviewed-by: Mikhail Frolov Reviewed-by: Ivan B Co-authored-by: IgorA Co-committed-by: IgorA --- .../TinyGL/asm_fork/examples/gears.asm | 22 +- .../TinyGL/asm_fork/examples/test3.asm | 34 +-- .../TinyGL/asm_fork/examples/test_array1.asm | 23 +- .../TinyGL/asm_fork/examples/test_glu1.asm | 124 +--------- .../TinyGL/asm_fork/examples/test_glu2.asm | 124 +--------- .../TinyGL/asm_fork/examples/textures0.asm | 124 +--------- .../TinyGL/asm_fork/examples/textures1.asm | 124 +--------- .../TinyGL/asm_fork/examples/textures2.asm | 124 +--------- .../libraries/TinyGL/asm_fork/import.inc | 18 ++ programs/develop/libraries/box_lib/export.inc | 117 +++++++++ programs/develop/libraries/box_lib/import.inc | 24 ++ programs/develop/libraries/buf2d/export.inc | 48 ++++ programs/develop/libraries/buf2d/import.inc | 20 ++ .../crypt_des/example/crypt_files.asm | 131 +--------- .../libraries/libs-dev/libimg/export.inc | 34 +++ .../libraries/libs-dev/libimg/import.inc | 20 ++ programs/load_lib.mac | 15 +- .../media/img_transform/img_transform.asm | 152 ++---------- programs/media/scrshoot/srectwin.inc | 95 +------ programs/other/cnc_control/cnc_control.asm | 161 +----------- programs/other/cnc_editor/cnc_editor.asm | 234 ++---------------- programs/other/t_edit/t_data.inc | 157 +----------- programs/other/t_edit/t_draw.inc | 10 +- programs/other/t_edit/wnd_k_words.inc | 2 +- 24 files changed, 397 insertions(+), 1540 deletions(-) create mode 100644 programs/develop/libraries/TinyGL/asm_fork/import.inc create mode 100644 programs/develop/libraries/box_lib/export.inc create mode 100644 programs/develop/libraries/box_lib/import.inc create mode 100644 programs/develop/libraries/buf2d/export.inc create mode 100644 programs/develop/libraries/buf2d/import.inc create mode 100644 programs/develop/libraries/libs-dev/libimg/export.inc create mode 100644 programs/develop/libraries/libs-dev/libimg/import.inc 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..0b6e0d855 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,9 @@ 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: - -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..debcfc1e1 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,9 @@ 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: - -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..c59546665 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/textures0.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/textures0.asm @@ -433,127 +433,9 @@ 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: - -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..db15b9c77 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/textures1.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/textures1.asm @@ -364,127 +364,9 @@ angle_y dd 0.0 delt_size dd 3.0 ;-------------------------------------------------- -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' - -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..2d0ffdd2c 100644 --- a/programs/develop/libraries/TinyGL/asm_fork/examples/textures2.asm +++ b/programs/develop/libraries/TinyGL/asm_fork/examples/textures2.asm @@ -315,127 +315,9 @@ angle_y dd 0.0 delt_size dd 3.0 ;-------------------------------------------------- -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' - -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/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..5484316e2 --- /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 strz_#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..2c27d05a0 --- /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 strz_#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..076b14ecb 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 21.05.25',0 ; struct FileInfoBlock Function dd ? @@ -112,13 +112,13 @@ align 4 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 - cmp al,6 ; + cmp al,EV_MOUSE jne @f jmp mouse @@: @@ -410,52 +410,7 @@ 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 - - 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 +420,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 +430,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 +454,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..6de3c03ce --- /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 strz_#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/load_lib.mac b/programs/load_lib.mac index cd4101f29..bf66e929b 100644 --- a/programs/load_lib.mac +++ b/programs/load_lib.mac @@ -23,6 +23,9 @@ library_fun_memory_free equ mem_free library_fun_memory_realloc equ mem_realloc library_fun_dll_load equ dll_load +align 4 +strz_lib_init db 'lib_init',0 + align 4 arrea_xx dd 0 file_name db '/sys/@notify',0 @@ -214,7 +217,7 @@ end if jmp i_error align 4 i_begin: - import_boxlib myimport + import_some_library myimport test eax,eax jz i_exit i_error: @@ -234,13 +237,13 @@ macro load_library library_name__, library_path__, system_path__, myimport, poin local i_begin local i_error local i_exit - push ebx if point_dir_name__ eq copy_path library_name__, [32], library_path__,0 else ;the macros making way /current path a program/ + name system library copy_path library_name__, [32], library_path__,point_dir_name__ end if + push ebx mcall SF_SYS_MISC,SSF_LOAD_DLL,library_path__ ; load of alternative test eax,eax jnz i_begin @@ -251,7 +254,7 @@ end if jmp i_error align 4 i_begin: - import_boxlib myimport + import_some_library myimport test eax,eax jz i_exit i_error: @@ -309,7 +312,7 @@ align 4 align 4 end_steep: mov adr_load_lib,eax ;save adr lib in memory - import_boxlib my_import + import_some_library my_import test eax,eax jz cycle0n or status_lib,2 ; status of code - enable error - import error @@ -387,7 +390,7 @@ align 4 align 4 end_steep: mov adr_load_lib,eax ;save adr lib in memory - import_boxlib my_import + import_some_library my_import test eax,eax jz cycle0n or status_lib,2 ; status of code - enable error - import error @@ -451,7 +454,7 @@ pop ebx eax ;output: ; eax - ᫨ 㤠筮 0 㪠⥫ 㭪樨 㤠 㧨 ; ebx - ࠧ蠥 -macro import_boxlib myimport +macro import_some_library myimport { local import_loop local import_find diff --git a/programs/media/img_transform/img_transform.asm b/programs/media/img_transform/img_transform.asm index 65b79af9e..5f58ca6d1 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 21.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,9 @@ 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' +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..f9d3eb907 100644 --- a/programs/media/scrshoot/srectwin.inc +++ b/programs/media/scrshoot/srectwin.inc @@ -259,99 +259,10 @@ 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 -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 -;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 +Box_lib_import equ import_box_lib +include '../../develop/libraries/box_lib/import.inc' +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..f0fd0d1ca 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,9 @@ 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 +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..f00c68586 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,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 +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 +2148,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 +2200,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..f47862116 100644 --- a/programs/other/t_edit/t_data.inc +++ b/programs/other/t_edit/t_data.inc @@ -81,148 +81,7 @@ 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 +include '../../develop/libraries/box_lib/import.inc' align 4 import_proclib: @@ -241,18 +100,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