Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 5916 → Rev 6213

/programs/media/log_el/trunk/le_pole.inc
97,8 → 97,6
mov edi,pole_index
@@:
stosd ;for(i=0;i<pole_max_cell;i++) pole_index[i]=i;
;mov dword[edi],eax
;add edi,4
inc eax
loop @b
ret
1002,16 → 1000,14
;--------------------------------------
 
align 4
proc pole_draw_pok uses eax ebx ecx edx edi esi, pole:dword
proc pole_draw_pok, pole:dword
pushad
;mov edi,dword[pole]
 
mov eax,4 ;à¨á®¢ ­¨¥ ⥪áâ 
mov ebx,400*65536+5
mov ecx,[sc.work_text]
or ecx,0x80000000 ;or (1 shl 30)
mov edx,txt_zoom
;mov edi,[sc.work]
int 0x40
mcall SF_DRAW_TEXT,(400 shl 16)+5,,txt_zoom
 
add bx,9
mov edx,txt_osob
1021,22 → 1017,20
mov edx,txt_info
int 0x40
 
mov eax,47
movzx ecx,byte[zoom]
mov ebx,(2 shl 16)
mov edx,(400+6*9)*65536+5
mov esi,[sc.work_button_text]
or esi,(1 shl 30)
mov edi,[sc.work_button]
int 0x40 ;¬ áèâ ¡
mcall SF_DRAW_NUMBER,(2 shl 16) ;¬ áèâ ¡
 
mov edi,dword[pole]
mov ecx,pole_index
mov ecx,[ecx]
mov edi,[sc.work_button]
mov ebx,(5 shl 16)
add edx,(6*0)*65536+9
int 0x40 ;ç¨á«® â®ç¥ª
mcall ,(5 shl 16) ;ç¨á«® â®ç¥ª
popad
ret
endp
 
/programs/media/log_el/trunk/log_el.asm
1,13 → 1,7
use32
org 0x0
db 'MENUET01' ;¨¤¥­â¨ä. ¨á¯®«­ï¥¬®£® ä ©«  ¢á¥£¤  8 ¡ ©â
dd 0x1
dd start
dd i_end ;à §¬¥à ¯à¨«®¦¥­¨ï
dd mem
dd stacktop
dd 0
dd sys_path
dd 1,start,i_end,mem,stacktop,0,sys_path
 
ini_def_c_bkgnd equ 0
ini_def_c_border equ 0xff0000
46,14 → 40,14
 
include '../../../macros.inc'
include '../../../proc32.inc'
include '../../../develop/libraries/box_lib/load_lib.mac'
include '../../../KOSfuncs.inc'
include '../../../load_img.inc'
include '../../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../../dll.inc'
include 'le_pole.inc'
include 'le_signal.inc'
 
@use_library_mem mem.Alloc,mem.Free,mem.ReAlloc,dll.Load
caption db '‹®£¨ç¥áª¨¥ í«¥¬¥­âë 15.11.15',0 ;¯®¤¯¨áì ®ª­ 
caption db '‹®£¨ç¥áª¨¥ í«¥¬¥­âë 13.02.16',0 ;¯®¤¯¨áì ®ª­ 
 
panel_0_coord_top equ 5 ;¢¥àå­ïï ª®®à¤¨­ â  0-£® à鸞 ¯ ­¥«¨ ¨­áâà㬥­â®¢
panel_1_coord_top equ 35
60,6 → 54,12
panel_2_coord_top equ 60
panel_3_coord_top equ 85
 
;input:
; eax - coord x
; ebx - coord y
;output:
; eax - coord x + d_x * cos(angle)
; ebx - coord y + d_x * sin(angle)
align 4
proc move_rotate_x_n90 uses ecx edi, d_x:dword, angle:dword
mov edi,[angle] ;㣮« ¯®¢®à®â  / 90 (®â 0-3)
74,20 → 74,9
mov ecx,[d_x]
imul ecx,dword[edi+8]
add ebx,ecx
 
ret
endp
 
struct FileInfoBlock
Function dd ?
Position dd ?
Flags dd ?
Count dd ?
Buffer dd ?
db ?
FileName dd ?
ends
 
macro elOpt nam,col,box_x,box_y,table, tbl_i_legs, ol0, ol1, ol2
{
@@: db nam,0
181,61 → 170,16
-1, 0, 0,-1,\
0,-1, 1, 0
 
run_file_70 FileInfoBlock
image_data dd 0 ;㪠§ â¥«ì ­  ¢à¥¬¥­­ãî ¯ ¬ïâì. ¤«ï ­ã¦¥­ ¯à¥®¡à §®¢ ­¨ï ¨§®¡à ¦¥­¨ï
 
IMAGE_TOOLBAR_ICON_SIZE equ 16*16*3
IMAGE_TOOLBAR_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*25
image_data_toolbar dd 0
 
TREE_ICON_SYS16_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*11+54 ;à §¬¥à bmp ä ©«  á á¨á⥬­ë¬¨ ¨ª®­ª ¬¨
icon_tl_sys dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï á¨á⥬­ëå ¨ª®­®ª
TOOLBAR_ICON_BMP_SIZE equ IMAGE_TOOLBAR_ICON_SIZE*5+54 ;à §¬¥à bmp ä ©«  á ¨ª®­ª ¬¨ ®¡ê¥ªâ®¢
icon_toolbar dd 0 ;㪠§ â¥«ì ­  ¯ ¬ïâì ¤«ï åà ­¥­¨ï ¨ª®­®ª ®¡ê¥ªâ®¢
 
IMAGE_FONT_SIZE equ 128*144*3
image_data_gray dd 0 ;¯ ¬ïâì á ¢à¥¬¥­­ë¬¨ á¥à묨 ¨§®¡à ¦¥­¨ï¬¨ ¢ ä®à¬ â¥ 24-bit, ¨§ ª®â®àëå ¡ã¤ãâ ᮧ¤ ¢ âìáï âà ä à¥âë
 
cursors_count equ 4
IMAGE_CURSORS_SIZE equ 4096*cursors_count ;à §¬¥à ª à⨭ª¨ á ªãàá®à ¬¨
 
macro load_image_file path,buf,size { ;¬ ªà®á ¤«ï § £à㧪¨ ¨§®¡à ¦¥­¨©
;path - ¬®¦¥â ¡ëâì ¯¥à¥¬¥­­®© ¨«¨ áâப®¢ë¬ ¯ à ¬¥â஬
if path eqtype '' ;¯à®¢¥à塞 § ¤ ­ «¨ áâப®© ¯ à ¬¥âà path
jmp @f
local .path_str
.path_str db path ;ä®à¬¨à㥬 «®ª «ì­ãî ¯¥à¥¬¥­­ãî
db 0
@@:
;32 - áâ ­¤ àâ­ë©  ¤à¥á ¯® ª®â®à®¬ã ¤®«¦¥­ ¡ëâì ¡ãä¥à á á¨á⥬­ë¬ ¯ã⥬
copy_path .path_str,[32],file_name,0
else
copy_path path,[32],file_name,0x0 ;ä®à¬¨à㥬 ¯®«­ë© ¯ãâì ª ä ©«ã ¨§®¡à ¦¥­¨ï, ¯®¤à §ã¬¥¢ ¥¬ çâ® ®­ ¢ ®¤­®© ¯ ¯ª¥ á ¯à®£à ¬¬®©
end if
 
stdcall mem.Alloc, dword size ;¢ë¤¥«ï¥¬ ¯ ¬ïâì ¤«ï ¨§®¡à ¦¥­¨ï
mov [buf],eax
 
mov [run_file_70.Function], 0
mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0
mov [run_file_70.Count], dword size
m2m [run_file_70.Buffer], eax
mov byte[run_file_70+20], 0
mov [run_file_70.FileName], file_name
mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©« ¨§®¡à ¦¥­¨ï
cmp ebx,0xffffffff
je @f
;®¯à¥¤¥«ï¥¬ ¢¨¤ ¨§®¡à ¦¥­¨ï ¨ ¯¥à¥¢®¤¨¬ ¥£® ¢® ¢à¥¬¥­­ë© ¡ãä¥à image_data
stdcall dword[img_decode], dword[buf],ebx,0
mov dword[image_data],eax
;¯à¥®¡à §ã¥¬ ¨§®¡à ¦¥­¨¥ ª ä®à¬ âã rgb
stdcall dword[img_to_rgb2], dword[image_data],dword[buf]
;㤠«ï¥¬ ¢à¥¬¥­­ë© ¡ãä¥à image_data
stdcall dword[img_destroy], dword[image_data]
@@:
}
 
ini_name db 'log_el.ini',0 ;¨¬ï ä ©« 
ini_sec_color db 'Colors',0
key_color_bkgnd db 'background',0
255,10 → 199,10
mov ebp,lib_7
cmp dword [ebp+ll_struc_size-4],0
jz @f
mcall -1 ;exit not correct
mcall SF_TERMINATE_PROCESS
@@:
mcall 48,3,sc,sizeof.system_colors
mcall 40,0x27
mcall SF_STYLE_SETTINGS,SSF_GET_COLORS,sc,sizeof.system_colors
mcall SF_SET_EVENTS_MASK,0x27
 
;*** áç¨â뢠­¨¥ ­ áâ஥ª ¨§ *.ini ä ©« 
copy_path ini_name,sys_path,file_name,0x0
295,7 → 239,7
;*** ¯®¤£®â®¢ª  ¤¨ «®£ 
stdcall [OpenDialog_Init],OpenDialog_data
stdcall [buf2d_create], buf_0 ;ᮧ¤ ­¨¥ ¡ãä¥à 
load_image_file 'toolbar.png', image_data_toolbar,IMAGE_TOOLBAR_SIZE
load_image_file 'toolbar.png', image_data_toolbar
 
stdcall pole_init, pole
stdcall dword[tl_data_init], tree1
302,7 → 246,7
stdcall dword[tl_data_init], tree2
 
;á¨á⥬­ë¥ ¨ª®­ª¨ 16*16 ¤«ï tree_list
load_image_file 'tl_sys_16.png', icon_tl_sys,TREE_ICON_SYS16_BMP_SIZE
load_image_file 'tl_sys_16.png', icon_tl_sys
;¥á«¨ ¨§®¡à ¦¥­¨¥ ­¥ ®âªàë«®áì, â® ¢ icon_tl_sys ¡ã¤ãâ
;­¥ ¨­¨æ¨ «¨§¨à®¢ ­­ë¥ ¤ ­­ë¥, ­® ®è¨¡ª¨ ­¥ ¡ã¤¥â, â. ª. ¡ãä¥à ­ã¦­®£® à §¬¥à 
mov eax,dword[icon_tl_sys]
309,13 → 253,13
mov dword[tree1.data_img_sys],eax
mov dword[tree2.data_img_sys],eax
 
load_image_file 'objects.png', icon_toolbar,TOOLBAR_ICON_BMP_SIZE
load_image_file 'objects.png', icon_toolbar
mov eax,dword[icon_toolbar]
mov dword[tree1.data_img],eax
mov dword[tree2.data_img],eax
 
;*** § £à㧪  èà¨äâ 
load_image_file 'font6x9.bmp', image_data_gray,IMAGE_FONT_SIZE
load_image_file 'font6x9.bmp', image_data_gray
stdcall [buf2d_create_f_img], buf_font,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à
stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
 
323,11 → 267,11
stdcall [buf2d_convert_text_matrix], buf_font
 
;*** § £à㧪  ªãàá®à®¢
load_image_file 'cursors_gr.png',image_data_gray,IMAGE_CURSORS_SIZE
load_image_file 'cursors_gr.png',image_data_gray
stdcall [buf2d_create_f_img], buf_curs_8,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à
stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
 
load_image_file 'cursors.png',image_data_gray, IMAGE_CURSORS_SIZE
load_image_file 'cursors.png',image_data_gray
stdcall [buf2d_create_f_img], buf_curs,[image_data_gray] ;ᮧ¤ ¥¬ ¡ãä¥à
stdcall mem.Free,[image_data_gray] ;®á¢®¡®¦¤ ¥¬ ¯ ¬ïâì
 
346,7 → 290,7
stdcall [tl_cur_beg], tree2
 
;*** ãáâ ­®¢ª  ¢à¥¬¥­¨ ¤«ï â ©¬¥à 
mcall 26,9
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
mov [last_time],eax
 
align 4
355,7 → 299,7
 
align 4
still:
mcall 26,9
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
mov ebx,[last_time]
add ebx,10 ;§ ¤¥à¦ª 
cmp ebx,eax
363,11 → 307,7
mov ebx,eax
@@:
sub ebx,eax
;cmp ebx,10 ;§ ¤¥à¦ª 
;ja timer_funct
;test ebx,ebx
;jz timer_funct
mcall 23
mcall SF_WAIT_EVENT_TIMEOUT
cmp eax,0
je timer_funct
 
386,7 → 326,7
align 4
timer_funct:
pushad
mcall 26,9
mcall SF_SYSTEM_GET,SSF_TIME_COUNT
mov [last_time],eax
 
cmp byte[tim_ch],0
424,7 → 364,7
stdcall [tl_mouse], tree2
 
pushad
mcall 37,2 ;­ ¦ âë¥ ª­®¯ª¨ ¬ëè¨
mcall SF_MOUSE_GET,SSF_BUTTON
bt eax,0 ;«¥¢ ï ª­®¯ª  ­ ¦ â ?
jc @f
bt eax,1 ;¯à ¢ ï ª­®¯ª  ­ ¦ â ?
436,7 → 376,7
@@:
mov esi,eax
 
mcall 37,1 ;eax = (x shl 16) + y
mcall SF_MOUSE_GET,SSF_WINDOW_POSITION ;eax = (x shl 16) + y
cmp ax,word[buf_0.t]
jl .end_buf_wnd ;­¥ ¯®¯ «¨ ¢ ®ª­® ¡ãä¥à  ¯® ®á¨ y
 
693,24 → 633,16
align 4
draw_window:
pushad
mcall 12,1
mcall SF_REDRAW,SSF_BEGIN_DRAW
 
; *** à¨á®¢ ­¨¥ £« ¢­®£® ®ª­  (¢ë¯®«­ï¥âáï 1 à § ¯à¨ § ¯ã᪥) ***
xor eax,eax
mov ebx,(20 shl 16)+580
mov ecx,(20 shl 16)+415
mov edx,[sc.work]
or edx,(3 shl 24)+0x10000000+0x20000000
mov edi,caption
int 0x40
mcall SF_CREATE_WINDOW, (20 shl 16)+580,(20 shl 16)+415
 
; *** ᮧ¤ ­¨¥ ª­®¯®ª ­  ¯ ­¥«ì ***
mov eax,8
mov ebx,(5 shl 16)+20
mov ecx,(panel_0_coord_top shl 16)+20
mov edx,3
mov esi,[sc.work_button]
int 0x40
mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (panel_0_coord_top shl 16)+20, 3,, [sc.work_button]
 
add ebx,25 shl 16
mov edx,4
769,11 → 701,8
int 0x40
 
; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
mov eax,7
mov ebx,[image_data_toolbar]
mov ecx,(16 shl 16)+16
mov edx,(7 shl 16)+panel_0_coord_top+2 ;icon new
int 0x40
mcall SF_PUT_IMAGE, [image_data_toolbar],(16 shl 16)+16
 
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16) ;icon open
830,7 → 759,7
 
; *** ᮧ¤ ­¨¥ ª­®¯®ª ãáâ ­®¢ª¨ ᨣ­ «®¢ set_0 ¨ set_1 ***
mov esi,[sc.work_button]
mcall 8, (5 shl 16)+20, (panel_1_coord_top shl 16)+20, 20
mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (panel_1_coord_top shl 16)+20, 20
 
add ebx,25 shl 16
mov edx,21
855,7 → 784,7
mov ecx,[sc.work_text]
or ecx,0x80000000 ;or (1 shl 30)
;mov edi,[sc.work]
mcall 4, (12 shl 16)+panel_1_coord_top+6,, txt_set_0
mcall SF_DRAW_TEXT, (12 shl 16)+panel_1_coord_top+6,, txt_set_0
 
add ebx,25 shl 16
mov edx,txt_set_1
864,7 → 793,7
; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
mov ebx,[image_data_toolbar]
add ebx,IMAGE_TOOLBAR_ICON_SIZE*15
mcall 7,, (16 shl 16)+16, (62 shl 16)+panel_1_coord_top+2
mcall SF_PUT_IMAGE,, (16 shl 16)+16, (62 shl 16)+panel_1_coord_top+2
 
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(25 shl 16)
880,7 → 809,7
 
; *** ᮧ¤ ­¨¥ ª­®¯®ª à¨á®¢ ­¨ï ¯à®¢®¤  ***
mov esi,[sc.work_button]
mcall 8, (5 shl 16)+20, (panel_2_coord_top shl 16)+20, 30
mcall SF_DEFINE_BUTTON, (5 shl 16)+20, (panel_2_coord_top shl 16)+20, 30
 
add ebx,30 shl 16
mov edx,31
903,13 → 832,9
int 0x40
 
; *** à¨á®¢ ­¨¥ ¨ª®­®ª ­  ª­®¯ª å ***
mov eax,7
mov ebx,[image_data_toolbar]
mov ecx,(16 shl 16)+16
mov edx,(7 shl 16)+panel_2_coord_top+2 ;¨ª®­ª  áâ५ 
 
add ebx,IMAGE_TOOLBAR_ICON_SIZE*19
int 0x40
mcall SF_PUT_IMAGE,, (16 shl 16)+16,(7 shl 16)+panel_2_coord_top+2 ;¨ª®­ª  áâ५ 
 
add ebx,IMAGE_TOOLBAR_ICON_SIZE
add edx,(30 shl 16) ;icon - à¨á®¢ ­¨¥ ¯à®¢®¤ 
931,21 → 856,21
add edx,(25 shl 16) ;icon - § â¨à çª 
int 0x40
 
mcall 12,2
mcall SF_REDRAW,SSF_END_DRAW
popad
ret
 
align 4
key:
mcall 2
stdcall [tl_key], dword tree1
stdcall [tl_key], dword tree2
mcall SF_GET_KEY
stdcall [tl_key], tree1
stdcall [tl_key], tree2
jmp still
 
 
align 4
button:
mcall 17
mcall SF_GET_BUTTON
cmp ah,3
jne @f
call but_new_file
1087,9 → 1012,9
stdcall [tl_data_clear], tree2
cmp [cursor_pointer],0
je @f
mcall 37,6,[cursor_pointer]
mcall SF_MOUSE_GET,SSF_DEL_CURSOR,[cursor_pointer]
@@:
mcall -1
mcall SF_TERMINATE_PROCESS
 
;ᮧ¤ ­¨¥ ­®¢®© á奬ë
align 4
1132,7 → 1057,7
jne .end_open_file
;ª®¤ ¯à¨ 㤠筮¬ ®âªàë⨨ ¤¨ «®£ 
 
mov [run_file_70.Function], 0
mov [run_file_70.Function], SSF_READ_FILE
mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0
mov dword[run_file_70.Count], open_file_lif.end-open_file_lif
1139,7 → 1064,7
m2m [run_file_70.Buffer], open_file_lif
mov byte[run_file_70+20], 0
mov dword[run_file_70.FileName], openfile_path
mcall 70,run_file_70 ;§ £à㦠¥¬ ä ©«
mcall SF_FILE,run_file_70 ;§ £à㦠¥¬ ä ©«
cmp ebx,0xffffffff
je .end_open_file
 
1146,7 → 1071,7
mov dword[f_size],ebx
add ebx,open_file_lif
mov byte[ebx],0 ;­  á«ãç © ¥á«¨ à ­¥¥ ¡ë« ®âªàëâ ä ©« ¡®«ì襣® à §¬¥à  ç¨á⨬ ª®­¥æ ¡ãä¥à  á ä ©«®¬
mcall 71,1,openfile_path
mcall SF_SET_CAPTION,1,openfile_path
;---
 
;§ ¤ ¥¬ ¬¨­¨¬ «ì­ë¥ §­ ç¥­¨ï, ­  á«ãç © ¥á«¨ ¢ ä ©«¥ ¡ã¤ãâ ­¥ª®à¥ªâ­ë¥ à §¬¥àë
1820,7 → 1745,7
stdcall str_len,edi
 
;*** § ¯¨áì ä ©« 
mov [run_file_70.Function], 2
mov [run_file_70.Function], SSF_CREATE_FILE
mov [run_file_70.Position], 0
mov [run_file_70.Flags], 0
mov dword[run_file_70.Count], eax
1827,7 → 1752,7
mov [run_file_70.Buffer], edi
mov byte[run_file_70+20], 0
mov dword[run_file_70.FileName], openfile_path
mcall 70,run_file_70 ;á®å࠭塞 ä ©«
mcall SF_FILE,run_file_70 ;á®å࠭塞 ä ©«
 
call redraw_pole
.end_save_file:
2345,7 → 2270,7
cmp [cursor_pointer],0
je @f
push eax ebx ecx
mcall 37,6,[cursor_pointer]
mcall SF_MOUSE_GET,SSF_DEL_CURSOR,[cursor_pointer]
pop ecx ebx eax
@@:
ret
2363,12 → 2288,12
mov ecx,[icon]
shl ecx,12 ;㬭®¦ ¥¬ ­  4 ª¡
add ecx,[buf_curs.data]
mcall 37,4
mcall SF_MOUSE_GET,SSF_LOAD_CURSOR
 
cmp eax,0
je @f
mov [cursor_pointer],eax
mcall 37,5,[cursor_pointer]
mcall SF_MOUSE_GET,SSF_SET_CURSOR,[cursor_pointer]
@@:
ret
endp
2689,10 → 2614,11
@@: ;cmp al,10 ;¯à®¢¥à¨âì ­¥ ¬¥­ìè¥ «¨ §­ ç¥­¨¥ ¢ al 祬 10 (¤«ï á¨á⥬ë áç¨á«¥­ï 10 ¤ ­­ ï ª®¬ ­¤  - «¨è­ ï))
or al,0x30 ;¤ ­­ ï ª®¬ ­¤  ª®à®ç¥ 祬 ¤¢¥ ¢ëè¥
stosb ;§ ¯¨á âì í«¥¬¥­â ¨§ ॣ¨áâà  al ¢ ï祪㠯 ¬ï⨠es:edi
ret ;¢¥à­ãâìáï ç¥­ì ¨­â¥à¥á­ë© 室 â.ª. ¯®ª  ¢ á⥪¥ åà ­¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
ret ;¢¥à­ãâìáï ®ç¥­ì ¨­â¥à¥á­ë© 室 â.ª. ¯®ª  ¢ á⥪¥ åà ­¨âìáï ª®«-¢® ¢ë§®¢®¢ â® á⮫쪮 à § ¬ë ¨ ¡ã¤¥¬ ¢ë§ë¢ âìáï
 
align 16
i_end:
run_file_70 FileInfoBlock
rb 1024
stacktop:
sys_path rb 1024