2013-08-05 00:58:46 +04:00
|
|
|
|
ICONS_DAT equ '/rd/1/icons.dat'
|
|
|
|
|
ICON_STRIP equ '/rd/1/iconstrp.png'
|
|
|
|
|
ICON_SIZE equ 68
|
|
|
|
|
IMG_SIZE equ 32
|
|
|
|
|
TEXT_BOTTOM_Y equ 14
|
|
|
|
|
IMAGE_TOP_Y equ 10 ;>=1
|
|
|
|
|
ALIGN_SIZE equ 68
|
|
|
|
|
NAME_LENGTH equ 11
|
|
|
|
|
MIN_NO_MOVING equ 8
|
|
|
|
|
;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ᮧ<><E1AEA7><EFBFBD><EFBFBD><EFBFBD>/।<><E0A5A4><EFBFBD><EFBFBD><EFBFBD><E0AEA2><EFBFBD><EFBFBD>
|
|
|
|
|
ICONSX equ 20
|
2013-10-10 23:43:44 +04:00
|
|
|
|
ICONSY equ 80
|
2013-08-05 00:58:46 +04:00
|
|
|
|
ICONS_DRAW_COUNTW equ 10 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><>ਭ<EFBFBD>
|
|
|
|
|
ICONS_DRAW_COUNTH equ 2 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
SPCW equ 3 ;<3B><EFBFBD><E0AEA1> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>ਧ<EFBFBD><E0A8A7>⠫<EFBFBD>
|
|
|
|
|
SPCH equ 3
|
|
|
|
|
END_ICONS_AREAW equ ICONSX+(IMG_SIZE+SPCW)*ICONS_DRAW_COUNTW-SPCW
|
|
|
|
|
END_ICONS_AREAH equ ICONSY+(IMG_SIZE+SPCH)*ICONS_DRAW_COUNTH-SPCH
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
SizeData equ bufStdIco+32
|
|
|
|
|
BegData equ fiStdIco.point
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
use32
|
|
|
|
|
org 0x0
|
|
|
|
|
db 'MENUET01' ; 8 byte id
|
|
|
|
|
dd 0x01 ; header version
|
|
|
|
|
dd START ; start of code
|
2013-10-11 16:39:43 +04:00
|
|
|
|
dd I_END ; size of image
|
|
|
|
|
dd ENDMEM ; memory for app
|
2013-08-05 00:58:46 +04:00
|
|
|
|
dd stack_area ; esp
|
|
|
|
|
dd 0 ; boot parameters
|
|
|
|
|
dd 0 ; path
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
include 'lang.inc'
|
|
|
|
|
include '../../macros.inc'
|
|
|
|
|
include '../../proc32.inc'
|
|
|
|
|
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
|
|
|
|
|
include '../../dll.inc'
|
2013-10-10 23:43:44 +04:00
|
|
|
|
;include '../../debug.inc'
|
2013-10-04 02:53:51 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
START: ; start of execution
|
|
|
|
|
mcall 68,11
|
|
|
|
|
stdcall dll.Load,IMPORTS
|
|
|
|
|
test eax,eax
|
|
|
|
|
jnz ErrLoadLibs
|
|
|
|
|
|
|
|
|
|
; unpack deflate
|
|
|
|
|
mov eax,[unpack_DeflateUnpack2]
|
|
|
|
|
mov [deflate_unpack],eax
|
|
|
|
|
;---------------------------------------------------------------------
|
|
|
|
|
; get size of file ICONSTRP.PNG
|
|
|
|
|
mcall 70,fiStdIco
|
|
|
|
|
test eax,eax
|
|
|
|
|
jnz ErrorStrp
|
|
|
|
|
; get memory for ICONSTRP.PNG
|
|
|
|
|
mov ecx,dword[bufStdIco+32]
|
|
|
|
|
mov [fiStdIco.size],ecx
|
|
|
|
|
mov [img_size],ecx
|
|
|
|
|
mcall 68,12
|
|
|
|
|
mov [fiStdIco.point],eax
|
|
|
|
|
mov [image_file],eax
|
|
|
|
|
; load ICONSTRP.PNG
|
|
|
|
|
mov dword[fiStdIco],0
|
|
|
|
|
mcall 70,fiStdIco
|
|
|
|
|
test eax,eax
|
|
|
|
|
jnz close
|
|
|
|
|
; convert PNG to RAW
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov [return_code],eax
|
|
|
|
|
;int3
|
|
|
|
|
|
|
|
|
|
push image_file
|
|
|
|
|
call [cnv_png_import.Start]
|
|
|
|
|
|
|
|
|
|
mov eax,[raw_pointer]
|
|
|
|
|
mov ebx,[eax+32]
|
|
|
|
|
mov [strip_file_size],ebx
|
|
|
|
|
mov eax,[eax+28]
|
|
|
|
|
add eax,[raw_pointer]
|
|
|
|
|
mov [strip_file],eax
|
|
|
|
|
; back memory to system
|
|
|
|
|
mcall 68,13,[fiStdIco.point]
|
|
|
|
|
|
|
|
|
|
mov eax,[raw_pointer]
|
|
|
|
|
mov eax,[eax+8]
|
|
|
|
|
shr eax,5
|
|
|
|
|
mov [icon_count],eax
|
|
|
|
|
|
|
|
|
|
and eax,0x7
|
|
|
|
|
mov [cur_band_compensation],eax
|
|
|
|
|
|
|
|
|
|
;########## <20><><EFBFBD><EFBFBD>㦠<EFBFBD><E3A6A0> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> ##########################
|
|
|
|
|
|
|
|
|
|
mcall 70,fiIni ;<3B>뤥<EFBFBD>塞 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>筮<EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> ini 䠩<><E4A0A9>. <20><> <20><>筮 墠<><E5A2A0><EFBFBD> <20><><EFBFBD> <20>࠭<EFBFBD><E0A0AD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
test eax,eax
|
|
|
|
|
jnz ErrorIni
|
|
|
|
|
|
|
|
|
|
cmp dword[bufIni+32],0
|
|
|
|
|
je ErrorIni
|
|
|
|
|
mcall 68,12,dword[bufIni+32]
|
|
|
|
|
mov dword[BegData],eax
|
|
|
|
|
jmp NoErrIni
|
|
|
|
|
|
|
|
|
|
ErrorIni:
|
|
|
|
|
mcall 70,fiRunProg
|
|
|
|
|
mcall -1
|
|
|
|
|
|
|
|
|
|
NoErrIni:
|
|
|
|
|
m2m [PIcoDB],[BegData]
|
|
|
|
|
|
|
|
|
|
stdcall [ini_enum_sections],IconIni,LoadIconsData
|
|
|
|
|
;int3
|
|
|
|
|
mov eax,dword[PIcoDB]
|
|
|
|
|
sub eax,[BegData]
|
|
|
|
|
mov dword[SizeData],eax
|
|
|
|
|
mov eax,[BegData]
|
|
|
|
|
cmp eax,[PIcoDB]
|
|
|
|
|
jne @f
|
|
|
|
|
mov dword[eax],0
|
|
|
|
|
mov dword[SizeData],0
|
|
|
|
|
@@:
|
|
|
|
|
;######################################################################
|
|
|
|
|
|
2013-10-15 03:04:34 +04:00
|
|
|
|
call FillIconsOffs ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MaxNumIcon,IconsOffs
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
2013-10-15 03:04:34 +04:00
|
|
|
|
mcall 40,0100000b ;<3B>㦭<EFBFBD> ⮫쪮 ᮡ<><E1AEA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20> <20><>㣮<EFBFBD> <20><>⮪<EFBFBD>
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
mov eax,[icon_count]
|
|
|
|
|
mov bl,ICONS_DRAW_COUNTH
|
|
|
|
|
div bl
|
|
|
|
|
test ah,ah
|
|
|
|
|
jz @f
|
|
|
|
|
inc al
|
|
|
|
|
@@:
|
|
|
|
|
and eax,0FFh
|
|
|
|
|
mov [sbIcons.max_area],eax
|
|
|
|
|
|
2013-10-15 03:04:34 +04:00
|
|
|
|
mcall 51,1,BGRedrawThread,stack_bredraw ;<3B><><EFBFBD><EFBFBD>᪠<EFBFBD><E1AAA0> <20><>⮪ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2013-10-11 16:39:43 +04:00
|
|
|
|
stdcall [OpenDialog_Init],OpenDialog_data
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
messages:
|
|
|
|
|
mcall 10
|
2013-10-04 02:53:51 +04:00
|
|
|
|
sub eax,6
|
2013-08-05 00:58:46 +04:00
|
|
|
|
jz MSGMouse
|
|
|
|
|
|
|
|
|
|
jmp messages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
MSGMouse:
|
|
|
|
|
mcall 37,0 ;GetMousePos
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
mov bx,ax
|
|
|
|
|
shr eax,16
|
|
|
|
|
mov ecx,ebx
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
|
|
|
|
|
mcall 34
|
|
|
|
|
cmp eax,1
|
|
|
|
|
jne messages
|
|
|
|
|
|
|
|
|
|
cmp [RButtonActiv],1
|
|
|
|
|
je messages
|
|
|
|
|
|
|
|
|
|
mov [MouseY],ecx
|
|
|
|
|
mov [MouseX],ebx
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mcall 37,2
|
|
|
|
|
test al,001b
|
|
|
|
|
jnz LButtonPress
|
|
|
|
|
test al,010b
|
|
|
|
|
jnz RButtonPress
|
|
|
|
|
jmp messages
|
|
|
|
|
|
|
|
|
|
ErrLoadLibs:
|
|
|
|
|
;dps '<27><> 㤠<><E3A4A0><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>㧨<EFBFBD><E3A7A8> <20><><EFBFBD><EFBFBD>室<EFBFBD><E5AEA4><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥪<EFBFBD>'
|
|
|
|
|
;debug_newline
|
|
|
|
|
jmp close
|
|
|
|
|
ErrorStrp:
|
|
|
|
|
;dps '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> iconstrp.png'
|
|
|
|
|
;debug_newline
|
|
|
|
|
close:
|
|
|
|
|
mcall -1
|
|
|
|
|
|
|
|
|
|
LButtonPress:
|
|
|
|
|
stdcall GetNumIcon,[MouseX],[MouseY],-1
|
|
|
|
|
;int3
|
|
|
|
|
cmp eax,-1
|
|
|
|
|
jnz @f
|
|
|
|
|
|
|
|
|
|
WaitLB1:
|
|
|
|
|
mcall 37,2
|
|
|
|
|
test al,001b
|
|
|
|
|
jz messages
|
|
|
|
|
;Yield
|
|
|
|
|
mcall 5,1
|
|
|
|
|
jmp WaitLB1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@@:
|
|
|
|
|
push eax
|
|
|
|
|
stdcall DrawIcon,eax,1
|
|
|
|
|
WaitLB:
|
|
|
|
|
mcall 37,2
|
|
|
|
|
test al,001b
|
|
|
|
|
jz endWaitLB
|
|
|
|
|
|
|
|
|
|
mcall 37,0
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
mov bx,ax
|
|
|
|
|
shr eax,16
|
|
|
|
|
sub eax,[MouseX]
|
|
|
|
|
jns @f
|
|
|
|
|
neg eax
|
|
|
|
|
@@:
|
|
|
|
|
sub ebx,[MouseY]
|
|
|
|
|
jns @f
|
|
|
|
|
neg ebx
|
|
|
|
|
@@:
|
|
|
|
|
cmp [bFixIcons],0
|
|
|
|
|
jne @f
|
|
|
|
|
cmp eax,MIN_NO_MOVING
|
|
|
|
|
ja MovingIcon
|
|
|
|
|
cmp ebx,MIN_NO_MOVING
|
|
|
|
|
ja MovingIcon
|
|
|
|
|
@@:
|
|
|
|
|
;Yield
|
|
|
|
|
mcall 5,1 ;Sleep 1
|
2013-10-04 02:53:51 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
jmp WaitLB
|
|
|
|
|
endWaitLB:
|
|
|
|
|
|
|
|
|
|
mcall 37,0
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
mov bx,ax
|
|
|
|
|
shr eax,16
|
|
|
|
|
mov ecx,ebx
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
mov [MouseX],ebx
|
|
|
|
|
mov [MouseY],ecx
|
|
|
|
|
|
|
|
|
|
stdcall GetNumIcon,[MouseX],[MouseY],-1
|
|
|
|
|
cmp eax,[esp] ;[esp] = <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
jne @f
|
|
|
|
|
|
|
|
|
|
mov edi,[IconsOffs+eax*4]
|
|
|
|
|
or ecx,-1
|
|
|
|
|
xor al,al
|
|
|
|
|
repne scasb
|
|
|
|
|
mov ebx,edi
|
|
|
|
|
repne scasb
|
|
|
|
|
;run program
|
|
|
|
|
mov dword[fiRunProg+8],edi
|
|
|
|
|
mov dword[fiRunProg+21],ebx
|
|
|
|
|
mcall 70,fiRunProg
|
|
|
|
|
test eax,80000000h
|
|
|
|
|
jz @f
|
|
|
|
|
|
|
|
|
|
mov dword[fiRunProg+8],ErrRunProg
|
|
|
|
|
mov dword[fiRunProg+21],pthNotify
|
|
|
|
|
mcall 70,fiRunProg
|
|
|
|
|
|
|
|
|
|
@@:
|
|
|
|
|
pop eax
|
|
|
|
|
stdcall RestoreBackgrnd,eax
|
|
|
|
|
jmp messages
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
MovingIcon:
|
|
|
|
|
stdcall GetNumIcon,[MouseX],[MouseY],-1
|
|
|
|
|
mov [SelIcon],eax
|
2013-10-04 02:53:51 +04:00
|
|
|
|
mov [IconNoDraw],eax
|
2013-08-05 00:58:46 +04:00
|
|
|
|
stdcall RestoreBackgrnd,[SelIcon]
|
|
|
|
|
|
|
|
|
|
; mov ecx,[MaxNumIcon]
|
|
|
|
|
; xor ebx,ebx
|
|
|
|
|
; .MI: push ecx
|
|
|
|
|
; cmp ebx,[SelIcon]
|
|
|
|
|
; je @f
|
|
|
|
|
; stdcall DrawIcon,ebx,0
|
|
|
|
|
; @@:
|
|
|
|
|
; inc ebx
|
|
|
|
|
; pop ecx
|
|
|
|
|
; loop .MI
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;dps 'Moving'
|
|
|
|
|
;debug_newline
|
|
|
|
|
; mov edi,[SelIcon]
|
|
|
|
|
; mov edi,[IconsOffs+edi*4]
|
|
|
|
|
; or ecx,-1
|
|
|
|
|
; xor al,al
|
|
|
|
|
; repne scasb
|
|
|
|
|
; repne scasb
|
|
|
|
|
; repne scasb
|
|
|
|
|
; repne scasb
|
|
|
|
|
; xor ebx,ebx
|
|
|
|
|
; xor esi,esi
|
|
|
|
|
; mov bx,word[edi+2]
|
|
|
|
|
; mov si,word[edi]
|
|
|
|
|
; stdcall GetNumIcon,ebx,esi,[SelIcon]
|
|
|
|
|
; cmp eax,-1
|
|
|
|
|
; je @f
|
|
|
|
|
; dps 'Q'
|
|
|
|
|
; stdcall DrawIcon,eax,0
|
|
|
|
|
; @@:
|
|
|
|
|
;
|
|
|
|
|
; add ebx,ICON_SIZE-1
|
|
|
|
|
; stdcall GetNumIcon,ebx,esi,[SelIcon]
|
|
|
|
|
; cmp eax,-1
|
|
|
|
|
; je @f
|
|
|
|
|
; dps 'Q'
|
|
|
|
|
; stdcall DrawIcon,eax,0
|
|
|
|
|
;
|
|
|
|
|
; @@:
|
|
|
|
|
; add esi,ICON_SIZE-1
|
|
|
|
|
; stdcall GetNumIcon,ebx,esi,[SelIcon]
|
|
|
|
|
; cmp eax,-1
|
|
|
|
|
; je @f
|
|
|
|
|
; dps 'Q'
|
|
|
|
|
; stdcall DrawIcon,eax,0
|
|
|
|
|
;
|
|
|
|
|
; @@:
|
|
|
|
|
; sub ebx,ICON_SIZE-1
|
|
|
|
|
; stdcall GetNumIcon,ebx,esi,[SelIcon]
|
|
|
|
|
; cmp eax,-1
|
|
|
|
|
; je @f
|
|
|
|
|
; dps 'Q'
|
|
|
|
|
; stdcall DrawIcon,eax,0
|
|
|
|
|
; @@:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
; Sleep 40
|
|
|
|
|
|
|
|
|
|
;qweqwe:
|
|
|
|
|
|
|
|
|
|
mov [MovingActiv],1
|
2013-10-15 03:04:34 +04:00
|
|
|
|
mcall 51,1,MovingWnd,stack_mov ;CreateThread MovingWnd,stack_dlg
|
2013-08-05 00:58:46 +04:00
|
|
|
|
.WaitLB:
|
2013-10-03 00:50:38 +04:00
|
|
|
|
mcall 37,2 ;GetMouseKey
|
2013-08-05 00:58:46 +04:00
|
|
|
|
test al,001b
|
|
|
|
|
jz .endWaitLB
|
|
|
|
|
|
|
|
|
|
;Yield
|
|
|
|
|
mcall 5,1 ;Sleep 1
|
|
|
|
|
jmp .WaitLB
|
|
|
|
|
.endWaitLB:
|
2013-10-11 16:39:43 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
mcall 37,0 ;GetMousePos
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
mov bx,ax
|
|
|
|
|
shr eax,16
|
|
|
|
|
|
|
|
|
|
add ebx,7
|
|
|
|
|
dec eax
|
|
|
|
|
|
|
|
|
|
sub eax,ICON_SIZE/2
|
|
|
|
|
jns @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
@@:
|
|
|
|
|
sub ebx,ICON_SIZE/2
|
|
|
|
|
jns @f
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
movzx edx,[ScreenX]
|
|
|
|
|
sub edx,ICON_SIZE
|
|
|
|
|
cmp eax,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
mov eax,edx
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
movzx edx,[ScreenY]
|
|
|
|
|
sub edx,ICON_SIZE
|
|
|
|
|
cmp ebx,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
mov ebx,edx
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov dx,[ScreenX]
|
|
|
|
|
shr edx,1
|
|
|
|
|
cmp eax,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
sub ax,[ScreenX]
|
|
|
|
|
inc ax
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov dx,[ScreenY]
|
|
|
|
|
shr edx,1
|
|
|
|
|
cmp ebx,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
sub bx,[ScreenY]
|
|
|
|
|
inc bx
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
stdcall SetPosition,[SelIcon],eax,ebx
|
2013-10-08 03:32:08 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
m2m [PIcoDB],[BegData]
|
|
|
|
|
stdcall [ini_enum_sections],IconIni,Ini_SavePos ;in RButton.inc
|
|
|
|
|
|
|
|
|
|
mov [bNotSave],1
|
2013-10-04 02:53:51 +04:00
|
|
|
|
mov [IconNoDraw],-1
|
2013-10-11 16:39:43 +04:00
|
|
|
|
|
|
|
|
|
mov [MovingActiv],0 ;⮫쪮 ⥯<><E2A5AF><EFBFBD> <20>⪫<EFBFBD>砥<EFBFBD> <20><><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD>
|
2013-10-08 03:32:08 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
jmp messages
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
RButtonPress:
|
|
|
|
|
cmp [RButtonActiv],1
|
|
|
|
|
je messages
|
|
|
|
|
mov [RButtonActiv],1
|
|
|
|
|
|
|
|
|
|
@@:
|
|
|
|
|
mcall 37,2 ;GetMouseKey
|
|
|
|
|
test al,010b
|
|
|
|
|
jz @f
|
|
|
|
|
mcall 5,1 ;Yield
|
|
|
|
|
jmp @b
|
|
|
|
|
@@:
|
|
|
|
|
|
2013-10-03 00:50:38 +04:00
|
|
|
|
mcall 51,1,RButtonWin,stack_dlg ;CreateThread RButtonWin,stack_dlg
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
jmp messages
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;###############################################################################
|
|
|
|
|
;ret eax = 1/0 = 㤠<><E3A4A0>/<2F>訡<EFBFBD><E8A8A1>
|
|
|
|
|
proc DrawIcon NumIcon:DWORD,Activ:DWORD ;NumIcon = 0..n
|
|
|
|
|
local IconData:DWORD
|
|
|
|
|
; int3
|
|
|
|
|
push ebx edi esi
|
|
|
|
|
|
|
|
|
|
mov ecx,ICON_SIZE*ICON_SIZE
|
|
|
|
|
xor eax,eax
|
|
|
|
|
;mov eax,0FFFFFFFh
|
|
|
|
|
mov edi,IconArea
|
|
|
|
|
rep stosd
|
|
|
|
|
|
|
|
|
|
mov eax,[NumIcon]
|
|
|
|
|
cmp eax,[MaxNumIcon]
|
|
|
|
|
jb @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop esi edi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov esi,[IconsOffs+eax*4]
|
|
|
|
|
mov [IconData],esi
|
|
|
|
|
|
|
|
|
|
;<3B><><EFBFBD>㥬 ⥪<><E2A5AA>
|
|
|
|
|
mov edi,esi
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
mov edx,esi
|
|
|
|
|
mov eax,edi
|
|
|
|
|
sub eax,esi
|
|
|
|
|
dec eax
|
|
|
|
|
shl eax,1 ;*6
|
|
|
|
|
lea eax,[eax*2+eax]
|
|
|
|
|
mov ebx,ICON_SIZE
|
|
|
|
|
sub ebx,eax
|
|
|
|
|
shr ebx,1 ;ebx = x ⥪<><E2A5AA><EFBFBD>
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,ICON_SIZE
|
|
|
|
|
sub bx,TEXT_BOTTOM_Y
|
|
|
|
|
mov ecx,88000000h
|
|
|
|
|
mov edi,IconAreaH
|
|
|
|
|
add ebx,-1*10000h+0
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,2*10000h+0
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,-1*10000h-1
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,0*10000h+2
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,1*10000h+0
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,0*10000h+1
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,-1*10000h+0
|
|
|
|
|
mcall 4
|
|
|
|
|
add ebx,0*10000h-2
|
|
|
|
|
mov ecx,88FFFFFFh
|
|
|
|
|
mcall 4
|
|
|
|
|
;<3B><><EFBFBD>㥬 <20><><EFBFBD>⨭<EFBFBD><E2A8AD>
|
|
|
|
|
|
|
|
|
|
mov edi,esi
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
mov al,[edi]
|
|
|
|
|
cmp al,'9'
|
|
|
|
|
ja PathToIcon
|
|
|
|
|
cmp al,'/'
|
|
|
|
|
jne GetIconInd
|
|
|
|
|
|
|
|
|
|
PathToIcon:
|
|
|
|
|
mov al,30h ;<3B><><EFBFBD><EFBFBD><EFBFBD>誠!!!!!!!!!!!!!
|
|
|
|
|
mov byte[edi+1],0
|
|
|
|
|
|
|
|
|
|
jmp CopyToMem
|
|
|
|
|
GetIconInd:
|
|
|
|
|
|
|
|
|
|
sub al,30h
|
|
|
|
|
cmp byte[edi+1],0
|
|
|
|
|
je @f
|
|
|
|
|
shl eax,1
|
|
|
|
|
lea eax,[eax*4+eax]
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov dl,[edi+1]
|
|
|
|
|
sub dl,30h
|
|
|
|
|
add eax,edx
|
|
|
|
|
@@: ;eax=num icon
|
|
|
|
|
cmp eax,[icon_count]
|
|
|
|
|
jb @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
@@:
|
|
|
|
|
test eax,eax
|
|
|
|
|
je DI1
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
xor eax,eax
|
|
|
|
|
@@:
|
|
|
|
|
add eax,IMG_SIZE*IMG_SIZE*4
|
|
|
|
|
loop @b
|
|
|
|
|
DI1:
|
|
|
|
|
mov esi,eax
|
|
|
|
|
add esi,[raw_pointer]
|
|
|
|
|
add esi,0+4*11
|
|
|
|
|
|
|
|
|
|
CopyToMem:
|
|
|
|
|
mov edi,IconArea+((IMAGE_TOP_Y*ICON_SIZE)+((ICON_SIZE-IMG_SIZE)/2))*4
|
|
|
|
|
|
|
|
|
|
mov eax,IMG_SIZE
|
|
|
|
|
mov edx,eax
|
|
|
|
|
@@:
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
rep movsd
|
|
|
|
|
add edi,(ICON_SIZE-IMG_SIZE)*4
|
|
|
|
|
dec edx
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
;-----------------
|
|
|
|
|
;<3B> <20><><EFBFBD><EFBFBD>, <20><> <20><><EFBFBD>㥬 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
cmp [Activ],0
|
|
|
|
|
je .NoSelect
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea
|
|
|
|
|
mov eax,0FF000000h
|
|
|
|
|
mov ecx,ICON_SIZE
|
|
|
|
|
rep stosd
|
|
|
|
|
;mov edi,IconArea+ICON_SIZE*1
|
|
|
|
|
|
|
|
|
|
mov ecx,ICON_SIZE-1
|
|
|
|
|
@@: mov dword[edi],eax
|
|
|
|
|
add edi,(ICON_SIZE)*4
|
|
|
|
|
loop @b
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea+ICON_SIZE*2*4-4
|
|
|
|
|
mov ecx,ICON_SIZE-1
|
|
|
|
|
@@: mov dword[edi],eax
|
|
|
|
|
add edi,(ICON_SIZE)*4
|
|
|
|
|
loop @b
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea+ICON_SIZE*(ICON_SIZE-1)*4+4
|
|
|
|
|
mov ecx,ICON_SIZE-2
|
|
|
|
|
rep stosd
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea+ICON_SIZE*4+4
|
|
|
|
|
mov eax,0FFFFFFFFh
|
|
|
|
|
mov ecx,ICON_SIZE-2
|
|
|
|
|
rep stosd
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea+ICON_SIZE*4+4
|
|
|
|
|
mov ecx,ICON_SIZE-2
|
|
|
|
|
@@: mov dword[edi],eax
|
|
|
|
|
add edi,(ICON_SIZE)*4
|
|
|
|
|
loop @b
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea+ICON_SIZE*2*4-4*2
|
|
|
|
|
mov ecx,ICON_SIZE-3
|
|
|
|
|
@@: mov dword[edi],eax
|
|
|
|
|
add edi,(ICON_SIZE)*4
|
|
|
|
|
loop @b
|
|
|
|
|
|
|
|
|
|
mov edi,IconArea+ICON_SIZE*(ICON_SIZE-2)*4+4*2
|
|
|
|
|
mov ecx,ICON_SIZE-3
|
|
|
|
|
rep stosd
|
|
|
|
|
;--------------
|
|
|
|
|
|
|
|
|
|
.NoSelect:
|
|
|
|
|
mov edi,[IconData]
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
mov edx,[edi]
|
|
|
|
|
|
|
|
|
|
test edx,00008000h
|
|
|
|
|
jz @f
|
|
|
|
|
add dx,[ScreenY]
|
|
|
|
|
@@:
|
|
|
|
|
test edx,80000000h
|
|
|
|
|
jz @f
|
|
|
|
|
rol edx,16
|
|
|
|
|
add dx,[ScreenX]
|
|
|
|
|
rol edx,16
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov ebx,IconArea
|
|
|
|
|
mov ecx,ICON_SIZE*10000h+ICON_SIZE
|
|
|
|
|
mcall 25
|
|
|
|
|
|
|
|
|
|
; mov eax,1
|
|
|
|
|
pop esi edi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
proc RestoreBackgrnd,NumIcon:DWORD
|
|
|
|
|
push ebx edi
|
|
|
|
|
mov eax,[NumIcon]
|
|
|
|
|
cmp eax,[MaxNumIcon]
|
|
|
|
|
jb @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov edi,[IconsOffs+eax*4]
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
|
|
|
|
|
mov ax,[edi+2]
|
|
|
|
|
test ax,8000h
|
|
|
|
|
jz @f
|
|
|
|
|
add ax,[ScreenX]
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov bx,[edi]
|
|
|
|
|
test bx,8000h
|
|
|
|
|
jz @f
|
|
|
|
|
add bx,[ScreenY]
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov cx,ax
|
|
|
|
|
shl ecx,16
|
|
|
|
|
add ax,ICON_SIZE
|
|
|
|
|
mov cx,ax
|
|
|
|
|
mov dx,bx
|
|
|
|
|
shl edx,16
|
|
|
|
|
add bx,ICON_SIZE
|
|
|
|
|
mov dx,bx
|
|
|
|
|
dec ecx
|
|
|
|
|
dec edx
|
|
|
|
|
mcall 15,9
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
;ret eax=numIcon
|
|
|
|
|
proc AddIcon stdcall,x,y,lpIcon,lpName,lpExeFile,lpParams
|
|
|
|
|
push ebx edi esi
|
|
|
|
|
|
|
|
|
|
mov eax,[x]
|
|
|
|
|
mov ebx,[y]
|
|
|
|
|
|
|
|
|
|
xor edx,edx
|
|
|
|
|
test eax,8000h
|
|
|
|
|
jnz @f
|
|
|
|
|
mov dx,[ScreenX] ;<3B> <20><><EFBFBD><EFBFBD>, <20><> <20>८<EFBFBD>ࠧ<EFBFBD><E0A0A7>뢠<EFBFBD><EBA2A0> <20>
|
|
|
|
|
shr edx,1 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⥫<EFBFBD><E2A5AB><EFBFBD><EFBFBD> <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD>
|
|
|
|
|
cmp eax,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
sub ax,[ScreenX]
|
|
|
|
|
inc eax
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
test ebx,8000h
|
|
|
|
|
jnz @f
|
|
|
|
|
mov dx,[ScreenY]
|
|
|
|
|
shr edx,1
|
|
|
|
|
cmp ebx,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
sub bx,[ScreenY]
|
|
|
|
|
inc ebx
|
|
|
|
|
@@:
|
|
|
|
|
;<3B><><EFBFBD>ࠢ<EFBFBD><E0A0A2> <20><> <20><><EFBFBD>砩 <20><>室<EFBFBD> <20><> <20>ࠩ <20><>࠭<EFBFBD>
|
|
|
|
|
|
|
|
|
|
test eax,8000h
|
|
|
|
|
jnz @f
|
|
|
|
|
mov dx,[ScreenX]
|
|
|
|
|
sub edx,ICON_SIZE
|
|
|
|
|
cmp eax,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
mov eax,edx
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
test ebx,8000h
|
|
|
|
|
jnz @f
|
|
|
|
|
mov dx,[ScreenY]
|
|
|
|
|
sub edx,ICON_SIZE
|
|
|
|
|
cmp ebx,edx
|
|
|
|
|
jbe @f
|
|
|
|
|
mov ebx,edx
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov [x],eax
|
|
|
|
|
mov [y],ebx
|
|
|
|
|
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
mov edi,[lpName]
|
|
|
|
|
repne scasb
|
|
|
|
|
sub edi,[lpName]
|
|
|
|
|
mov ebx,edi
|
|
|
|
|
mov edi,[lpExeFile]
|
|
|
|
|
repne scasb
|
|
|
|
|
sub edi,[lpExeFile]
|
|
|
|
|
add ebx,edi
|
|
|
|
|
mov edi,[lpParams]
|
|
|
|
|
repne scasb
|
|
|
|
|
sub edi,[lpParams]
|
|
|
|
|
add ebx,edi
|
|
|
|
|
mov edi,[lpIcon]
|
|
|
|
|
repne scasb
|
|
|
|
|
sub edi,[lpIcon]
|
|
|
|
|
add ebx,edi
|
|
|
|
|
add ebx,4
|
|
|
|
|
mov ecx,dword[SizeData]
|
|
|
|
|
add ecx,ebx
|
|
|
|
|
mov edx,[IconsOffs]
|
|
|
|
|
mcall 68,20
|
|
|
|
|
|
|
|
|
|
mov edx,dword[SizeData]
|
|
|
|
|
mov dword[SizeData],ecx
|
|
|
|
|
mov dword[BegData],eax
|
|
|
|
|
mov edi,eax
|
|
|
|
|
add edi,edx
|
|
|
|
|
mov esi,[lpName]
|
|
|
|
|
@@: lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test al,al
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
mov esi,[lpExeFile]
|
|
|
|
|
@@: lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test al,al
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
mov esi,[lpParams]
|
|
|
|
|
@@: lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test al,al
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
mov esi,[lpIcon]
|
|
|
|
|
@@: lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test al,al
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
mov eax,[x]
|
|
|
|
|
mov ebx,[y]
|
|
|
|
|
shl eax,16
|
|
|
|
|
mov ax,bx
|
|
|
|
|
mov dword[edi],eax
|
|
|
|
|
|
|
|
|
|
stdcall FillIconsOffs
|
|
|
|
|
|
|
|
|
|
pop esi edi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
proc EditIcon stdcall,NumIcon,lpIcon,lpName,lpExeFile,lpParams
|
|
|
|
|
push edi
|
|
|
|
|
mov eax,[NumIcon]
|
|
|
|
|
mov edi,[IconsOffs+eax*4]
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
push dword[edi]
|
|
|
|
|
stdcall DelIcon,[NumIcon]
|
|
|
|
|
pop edx
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov ax,dx
|
|
|
|
|
shr edx,16
|
|
|
|
|
stdcall AddIcon,edx,eax,DAreaIcon,DAreaName,DAreaPath,DAreaParams
|
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
proc SetPosition stdcall,NumIcon,x,y
|
|
|
|
|
push edi
|
|
|
|
|
mov eax,[NumIcon]
|
|
|
|
|
mov edi,[IconsOffs+eax*4]
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
mov eax,[x]
|
|
|
|
|
shl eax,16
|
|
|
|
|
mov ax,word[y]
|
|
|
|
|
mov dword[edi],eax
|
|
|
|
|
pop edi
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
proc GetNumIcon stdcall,x,y,NumIconI ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><EFBFBD><E0AEA2><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD> -1
|
|
|
|
|
local posX:WORD,\
|
|
|
|
|
posY:WORD
|
|
|
|
|
push ebx edi
|
|
|
|
|
mov ecx,[MaxNumIcon]
|
|
|
|
|
test ecx,ecx
|
|
|
|
|
jnz @f
|
|
|
|
|
or eax,-1
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
.TestIcon:
|
|
|
|
|
cmp dword[NumIconI],-1
|
|
|
|
|
je @f
|
|
|
|
|
|
|
|
|
|
cmp ebx,[NumIconI]
|
|
|
|
|
jne @f
|
|
|
|
|
inc ebx
|
|
|
|
|
dec ecx
|
|
|
|
|
test ecx,ecx
|
|
|
|
|
jz .NoIcon
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
push ecx
|
|
|
|
|
|
|
|
|
|
or ecx,-1
|
|
|
|
|
xor al,al
|
|
|
|
|
mov edi,[IconsOffs+ebx*4]
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
|
|
|
|
|
mov ax,[edi+2]
|
|
|
|
|
test ax,8000h
|
|
|
|
|
jz @f
|
|
|
|
|
add ax,[ScreenX]
|
|
|
|
|
@@:
|
|
|
|
|
mov [posX],ax
|
|
|
|
|
|
|
|
|
|
mov ax,[edi]
|
|
|
|
|
test ax,8000h
|
|
|
|
|
jz @f
|
|
|
|
|
add ax,[ScreenY]
|
|
|
|
|
@@:
|
|
|
|
|
mov [posY],ax
|
|
|
|
|
|
|
|
|
|
mov eax,[x]
|
|
|
|
|
mov edx,[y]
|
|
|
|
|
|
|
|
|
|
cmp ax,[posX]
|
|
|
|
|
jb @f
|
|
|
|
|
add word[posX],ICON_SIZE
|
|
|
|
|
cmp ax,[posX]
|
|
|
|
|
ja @f
|
|
|
|
|
|
|
|
|
|
cmp dx,[posY]
|
|
|
|
|
jb @f
|
|
|
|
|
add word[posY],ICON_SIZE
|
|
|
|
|
cmp dx,[posY]
|
|
|
|
|
ja @f
|
|
|
|
|
|
|
|
|
|
jmp .OkIcon
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
inc ebx
|
|
|
|
|
pop ecx
|
|
|
|
|
|
|
|
|
|
;loop .TestIcon
|
|
|
|
|
dec ecx
|
|
|
|
|
jnz .TestIcon
|
|
|
|
|
jmp .NoIcon
|
|
|
|
|
.OkIcon:
|
|
|
|
|
mov eax,ebx
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
.NoIcon:
|
|
|
|
|
or eax,-1
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
proc DelIcon stdcall,NumIcon
|
|
|
|
|
push ebx edi esi
|
|
|
|
|
|
|
|
|
|
cmp [MaxNumIcon],0
|
|
|
|
|
je .end
|
|
|
|
|
|
|
|
|
|
cmp [MaxNumIcon],1
|
|
|
|
|
je .OhneIco
|
|
|
|
|
|
|
|
|
|
mov ebx,[NumIcon]
|
|
|
|
|
|
|
|
|
|
mov eax,[MaxNumIcon]
|
|
|
|
|
dec eax
|
|
|
|
|
mov [MaxNumIcon],eax
|
|
|
|
|
cmp ebx,eax
|
|
|
|
|
je @f
|
|
|
|
|
|
|
|
|
|
shl ebx,2
|
|
|
|
|
|
|
|
|
|
mov ecx,dword[BegData]
|
|
|
|
|
add ecx,dword[SizeData]
|
|
|
|
|
sub ecx,[IconsOffs+4+ebx]
|
|
|
|
|
|
|
|
|
|
mov edx,[IconsOffs+4+ebx]
|
|
|
|
|
sub edx,[IconsOffs+ebx]
|
|
|
|
|
sub dword[SizeData],edx
|
|
|
|
|
|
|
|
|
|
mov esi,[IconsOffs+4+ebx]
|
|
|
|
|
mov edi,[IconsOffs+ebx]
|
|
|
|
|
rep movsb
|
|
|
|
|
jmp .endDel
|
|
|
|
|
|
|
|
|
|
@@:
|
|
|
|
|
mov ecx,dword[BegData]
|
|
|
|
|
add ecx,dword[SizeData]
|
|
|
|
|
sub ecx,[IconsOffs+ebx*4]
|
|
|
|
|
sub dword[SizeData],ecx
|
|
|
|
|
|
|
|
|
|
.endDel:
|
|
|
|
|
stdcall FillIconsOffs
|
|
|
|
|
jmp .end
|
|
|
|
|
|
|
|
|
|
.OhneIco:
|
|
|
|
|
mov edi,[BegData]
|
|
|
|
|
mov [SizeData],0
|
|
|
|
|
mov dword[edi],0
|
|
|
|
|
mov [MaxNumIcon],0
|
|
|
|
|
mov dword[IconsOffs],0
|
|
|
|
|
.end:
|
|
|
|
|
mcall 15,3
|
|
|
|
|
pop esi edi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MaxNumIcon,IconsOffs
|
|
|
|
|
proc FillIconsOffs
|
|
|
|
|
push ebx edi
|
|
|
|
|
mov edi,[BegData]
|
|
|
|
|
mov dword[MaxNumIcon],0
|
|
|
|
|
cmp dword[edi],0
|
|
|
|
|
jne @f
|
|
|
|
|
mov dword[IconsOffs],0
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov [IconsOffs],edi
|
|
|
|
|
xor al,al
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mov ebx,dword[SizeData]
|
|
|
|
|
add ebx,dword[BegData]
|
|
|
|
|
or ecx,-1
|
|
|
|
|
.CalcNumIc:
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
repne scasb
|
|
|
|
|
add edi,4
|
|
|
|
|
mov dword[IconsOffs+edx+4],edi
|
|
|
|
|
inc dword[MaxNumIcon]
|
|
|
|
|
add edx,4
|
|
|
|
|
|
|
|
|
|
cmp edi,ebx
|
|
|
|
|
jae @f
|
|
|
|
|
jmp .CalcNumIc
|
|
|
|
|
@@:
|
|
|
|
|
|
|
|
|
|
mov dword[IconsOffs+edx],0
|
|
|
|
|
pop edi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
|
|
|
|
proc LoadIconsData stdcall,f_name,sec_name
|
|
|
|
|
push ebx esi edi
|
|
|
|
|
|
|
|
|
|
mov edi,secRButt
|
|
|
|
|
mov esi,[sec_name]
|
|
|
|
|
@@: lodsb
|
|
|
|
|
scasb
|
|
|
|
|
jnz .lid1
|
|
|
|
|
test al,al
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
mov eax,1
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
.lid1:
|
|
|
|
|
|
|
|
|
|
mov edi,[PIcoDB]
|
|
|
|
|
mov esi,[sec_name]
|
|
|
|
|
@@: lodsb
|
|
|
|
|
stosb
|
|
|
|
|
test al,al
|
|
|
|
|
jnz @b
|
|
|
|
|
|
|
|
|
|
stdcall [ini_get_str],[f_name],[sec_name],keyPath,edi,4096,0
|
|
|
|
|
test eax,eax
|
|
|
|
|
jz @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
|
|
|
|
|
stdcall [ini_get_str],[f_name],[sec_name],keyParams,edi,4096,0
|
|
|
|
|
test eax,eax
|
|
|
|
|
jz @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
|
|
|
|
|
stdcall [ini_get_str],[f_name],[sec_name],keyIco,edi,4096,0
|
|
|
|
|
test eax,eax
|
|
|
|
|
jz @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
xor al,al
|
|
|
|
|
or ecx,-1
|
|
|
|
|
repne scasb
|
|
|
|
|
|
|
|
|
|
stdcall [ini_get_int],[f_name],[sec_name],keyX,80000000h
|
|
|
|
|
cmp eax,80000000h
|
|
|
|
|
jne @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
mov word[edi+2],ax
|
|
|
|
|
|
|
|
|
|
stdcall [ini_get_int],[f_name],[sec_name],keyY,80000000h
|
|
|
|
|
cmp eax,80000000h
|
|
|
|
|
jne @f
|
|
|
|
|
xor eax,eax
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
mov word[edi],ax
|
|
|
|
|
add edi,4
|
|
|
|
|
mov [PIcoDB],edi
|
|
|
|
|
|
|
|
|
|
mov eax,1
|
|
|
|
|
pop edi esi ebx
|
|
|
|
|
ret
|
|
|
|
|
endp
|
|
|
|
|
|
2013-10-10 23:43:44 +04:00
|
|
|
|
include 'bgredraw.inc'
|
2013-08-05 00:58:46 +04:00
|
|
|
|
include 'RButton.inc'
|
|
|
|
|
include 'DlgAdd.inc'
|
|
|
|
|
include 'Moving.inc'
|
|
|
|
|
|
|
|
|
|
;'Eolite',0,'/sys/File managers/eolite',0,'/hd0/3/Muzik',0,'1',0,00010001h
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
;##### DATA ####################################################################
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
; not change this section!!!
|
|
|
|
|
; start section
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
image_file dd 0 ;+0
|
|
|
|
|
raw_pointer dd 0 ;+4
|
|
|
|
|
return_code dd 0 ;+8
|
|
|
|
|
img_size dd 0 ;+12
|
|
|
|
|
deflate_unpack dd 0 ;+16 ; not use for scaling
|
|
|
|
|
raw_pointer_2 dd 0 ;+20 ; not use for scaling
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
; end section
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
fiStdIco:
|
|
|
|
|
dd 5
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
.size dd 0
|
|
|
|
|
.point dd bufStdIco
|
|
|
|
|
db ICON_STRIP,0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
fiRunProg: ;<3B><><EFBFBD> <20><><EFBFBD><EFBFBD>᪠ <20>ணࠬ<E0AEA3>
|
|
|
|
|
dd 7
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd ErrNotFoundIni
|
|
|
|
|
db 0
|
|
|
|
|
dd pthNotify
|
|
|
|
|
|
|
|
|
|
fiIni dd 5 ;<3B><><EFBFBD> ini 䠩<><E4A0A9>
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd bufIni
|
|
|
|
|
db '/rd/1/icon.ini',0
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
IconsFile db ICON_STRIP,0
|
|
|
|
|
NameIconsDat db ICONS_DAT,0
|
|
|
|
|
align 4
|
|
|
|
|
MaxNumIcon dd 0 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2013-10-04 02:53:51 +04:00
|
|
|
|
IconNoDraw dd -1 ;-1 <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><>ᮢ<EFBFBD><E1AEA2><EFBFBD>( <20><><EFBFBD><EFBFBD><EFBFBD> <20><> <20><>᪠<EFBFBD><E1AAA0> :))
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
2013-09-21 16:25:30 +04:00
|
|
|
|
bFixIcons dd 1
|
2013-08-05 00:58:46 +04:00
|
|
|
|
bNotSave dd 0
|
|
|
|
|
|
|
|
|
|
LButtonActiv dd 0
|
|
|
|
|
RButtonActiv dd 0
|
|
|
|
|
MovingActiv dd 0
|
2013-09-21 16:25:30 +04:00
|
|
|
|
DlgAddActiv dd 0
|
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
IconIni db '/rd/1/icon.ini',0
|
|
|
|
|
|
|
|
|
|
|
2013-10-04 02:53:51 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
;keyName db 'name',0
|
|
|
|
|
keyPath db 'path',0
|
|
|
|
|
keyParams db 'param',0
|
|
|
|
|
keyIco db 'ico',0
|
|
|
|
|
keyX db 'x',0
|
|
|
|
|
keyY db 'y',0
|
2013-10-03 00:50:38 +04:00
|
|
|
|
keyMenuColor db 'menucolor',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
IMPORTS:
|
|
|
|
|
library cnv_png,'cnv_png.obj',\
|
|
|
|
|
archiver,'archiver.obj',\
|
|
|
|
|
box_lib,'box_lib.obj',\
|
|
|
|
|
proc_lib,'proc_lib.obj',\
|
|
|
|
|
libini,'libini.obj'
|
|
|
|
|
|
|
|
|
|
import cnv_png,\
|
|
|
|
|
cnv_png_import.Start,'START',\
|
|
|
|
|
cnv_png_import.Version,'version',\
|
|
|
|
|
cnv_png_import.Check,'Check_Header',\
|
|
|
|
|
cnv_png_import.Assoc,'Associations'
|
|
|
|
|
|
|
|
|
|
import archiver,\
|
|
|
|
|
unpack_DeflateUnpack2,'deflate_unpack2'
|
|
|
|
|
|
|
|
|
|
import box_lib,\
|
|
|
|
|
edit_box_draw,'edit_box',\
|
|
|
|
|
edit_box_key,'edit_box_key',\
|
|
|
|
|
edit_box_mouse,'edit_box_mouse',\
|
|
|
|
|
scrollbar_h_draw,'scrollbar_h_draw',\
|
|
|
|
|
scrollbar_h_mouse,'scrollbar_h_mouse'
|
|
|
|
|
|
|
|
|
|
import proc_lib,\
|
|
|
|
|
OpenDialog_Init,'OpenDialog_init',\
|
|
|
|
|
OpenDialog_Start,'OpenDialog_start'
|
|
|
|
|
|
|
|
|
|
import libini,\
|
|
|
|
|
ini_enum_sections,'ini_enum_sections',\
|
|
|
|
|
ini_enum_keys,'ini_enum_keys',\
|
|
|
|
|
ini_get_str,'ini_get_str',\
|
|
|
|
|
ini_set_str,'ini_set_str',\
|
|
|
|
|
ini_get_color,'ini_get_color',\
|
|
|
|
|
ini_get_int,'ini_get_int',\
|
|
|
|
|
ini_set_int,'ini_set_int',\
|
|
|
|
|
ini_del_section,'ini_del_section'
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;ini.get_str (f_name, sec_name, key_name, buffer, buf_len, def_val)
|
|
|
|
|
;ini.set_str (f_name, sec_name, key_name, buffer, buf_len)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
;----- RButton.inc -------------------------------------------------------------
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
secRButt db 'rbmenu',0
|
|
|
|
|
|
|
|
|
|
if lang eq ru
|
|
|
|
|
RMenuRedrawFon db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2><EFBFBD>',0
|
|
|
|
|
RMenuAlign db '<27><><EFBFBD><E0AEA2><EFBFBD><EFBFBD> <20><> <20><>⪥',0
|
|
|
|
|
RMenuAdd db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
RMenuDel db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
RMenuProp db '<27><><EFBFBD><EFBFBD><EFBFBD>⢠',0
|
|
|
|
|
RMenuOffMoving db '<27><><EFBFBD>९<EFBFBD><E0A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
RMenuOnMoving db '<27><><EFBFBD>९<EFBFBD><E0A5AF><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
2013-10-03 00:50:38 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
else
|
|
|
|
|
|
|
|
|
|
RMenuRedrawFon db 'Redraw',0
|
|
|
|
|
RMenuAlign db 'Snap to Grid',0
|
|
|
|
|
RMenuAdd db 'Add',0
|
|
|
|
|
RMenuDel db 'Delete',0
|
|
|
|
|
RMenuProp db 'Properties',0
|
|
|
|
|
RMenuOffMoving db 'Fix the icons',0
|
|
|
|
|
RMenuOnMoving db 'Unfix the icons',0
|
|
|
|
|
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
if lang eq ru
|
|
|
|
|
|
|
|
|
|
ErrRunProg db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD>᪠ <20>ணࠬ<E0AEA3><E0A0AC>',0
|
|
|
|
|
WarningSave db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RDSave',0
|
|
|
|
|
ErrNotFoundIni db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> icon.ini',0
|
2013-10-10 23:43:44 +04:00
|
|
|
|
ErrName db '<27><><EFBFBD> "rbmenu" <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
else
|
|
|
|
|
|
|
|
|
|
ErrRunProg db 'Error runing program',0
|
|
|
|
|
WarningSave db 'Do not forget to save the changes, run the RDSave',0
|
|
|
|
|
ErrNotFoundIni db 'icon.ini not found',0
|
2013-10-11 16:39:43 +04:00
|
|
|
|
ErrName db 'The name "rbmenu" reserved',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
pthNotify db '/rd/1/@notify',0
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
;------- AddDlg.inc ---------------------------------------------------------------
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
if lang eq ru
|
2013-10-03 00:50:38 +04:00
|
|
|
|
DTitleAdd db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
DTitleProp db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
DCaptName db '<27><><EFBFBD>',0
|
|
|
|
|
DCaptPath db '<27><><EFBFBD><EFBFBD>',0
|
|
|
|
|
DCaptParams db '<27><>ࠬ<EFBFBD><E0A0AC><EFBFBD><EFBFBD>',0
|
|
|
|
|
DCaptIcon db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
2013-10-03 00:50:38 +04:00
|
|
|
|
;DCaptChange db '.',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
DCaptCreate db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
DCaptProperties db '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>',0
|
|
|
|
|
DCaptCancel db '<27>⬥<EFBFBD><E2ACA5><EFBFBD><EFBFBD>',0
|
|
|
|
|
|
|
|
|
|
else
|
2013-10-03 00:50:38 +04:00
|
|
|
|
DTitleAdd db 'Add icon',0
|
|
|
|
|
DTitleProp db 'Change icon',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
DCaptName db 'Name',0
|
|
|
|
|
DCaptPath db 'Path',0
|
|
|
|
|
DCaptParams db 'Parameters',0
|
|
|
|
|
DCaptIcon db 'Icon',0
|
2013-10-03 00:50:38 +04:00
|
|
|
|
;DCaptChange db '.',0
|
2013-08-05 00:58:46 +04:00
|
|
|
|
DCaptCreate db 'Create',0
|
|
|
|
|
DCaptProperties db 'Change',0
|
|
|
|
|
DCaptCancel db 'Cancel',0
|
|
|
|
|
end if
|
|
|
|
|
|
|
|
|
|
;/<2F><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
edtName edit_box NAME_LENGTH*6+4,70+20+IMG_SIZE,6,0FFFFFFh,06F9480h,0FFh,0h,0,NAME_LENGTH,\
|
|
|
|
|
DAreaName,mouse_dd,0,0,0
|
|
|
|
|
edtExePath edit_box 281-3-20-IMG_SIZE,70+20+IMG_SIZE,26,0FFFFFFh,06F9480h,0FFh,0h,0,256,\
|
|
|
|
|
DAreaPath,mouse_dd,0,0,0
|
|
|
|
|
edtParams edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,46,0FFFFFFh,06F9480h,0FFh,0h,0,256,\
|
|
|
|
|
DAreaParams,mouse_dd,0,0,0
|
|
|
|
|
edtIcon edit_box 295-20-IMG_SIZE,70+20+IMG_SIZE,66,0FFFFFFh,06F9480h,0FFh,0h,0,256,\
|
|
|
|
|
DAreaIcon,mouse_dd,0,0,0
|
|
|
|
|
endEdits:
|
|
|
|
|
;\
|
|
|
|
|
|
|
|
|
|
sbIcons:
|
|
|
|
|
dw END_ICONS_AREAW-ICONSX
|
|
|
|
|
dw ICONSX
|
|
|
|
|
dw 15
|
|
|
|
|
dw END_ICONS_AREAH+3
|
|
|
|
|
dd 0
|
|
|
|
|
dd 1
|
|
|
|
|
.max_area dd 0
|
|
|
|
|
.cur_area dd ICONS_DRAW_COUNTW
|
|
|
|
|
.position dd 0
|
|
|
|
|
.bckg_col dd 0
|
|
|
|
|
.frnt_col dd 0
|
|
|
|
|
.line_col dd 0
|
|
|
|
|
.redraw dd 0
|
|
|
|
|
.delta dd 0
|
|
|
|
|
.delta2 dd 0
|
|
|
|
|
.r_size_x dw 0
|
|
|
|
|
.r_start_x dw 0
|
|
|
|
|
.r_size_y dw 0
|
|
|
|
|
.r_start_y dw 0
|
|
|
|
|
.m_pos dd 0
|
|
|
|
|
.m_pos2 dd 0
|
|
|
|
|
.m_keys dd 0
|
|
|
|
|
.run_size dd 0
|
|
|
|
|
.position2 dd 0
|
|
|
|
|
.work_size dd 0
|
|
|
|
|
.all_redraw dd 0
|
|
|
|
|
.ar_offset dd 0
|
|
|
|
|
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
OpenDialog_data:
|
|
|
|
|
.type dd 0
|
|
|
|
|
.procinfo dd RBProcInfo ;+4
|
|
|
|
|
.com_area_name dd communication_area_name ;+8
|
|
|
|
|
.com_area dd 0 ;+12
|
|
|
|
|
.opendir_pach dd temp_dir_pach ;+16
|
|
|
|
|
.dir_default_pach dd communication_area_default_pach ;+20
|
|
|
|
|
.start_path dd open_dialog_path ;+24
|
2013-10-11 16:39:43 +04:00
|
|
|
|
.draw_window dd DRedrawWin;draw_window_for_OD ;+28
|
2013-08-05 00:58:46 +04:00
|
|
|
|
.status dd 0 ;+32
|
|
|
|
|
.openfile_pach dd DAreaPath;fname_Info ;+36
|
|
|
|
|
.filename_area dd 0;DAreaPath ;+40
|
|
|
|
|
.filter_area dd Filter
|
|
|
|
|
.x:
|
|
|
|
|
.x_size dw 420 ;+48 ; Window X size
|
|
|
|
|
.x_start dw 100 ;+50 ; Window X position
|
|
|
|
|
.y:
|
|
|
|
|
.y_size dw 320 ;+52 ; Window y size
|
|
|
|
|
.y_start dw 100 ;+54 ; Window Y position
|
|
|
|
|
|
|
|
|
|
communication_area_name:
|
|
|
|
|
db 'FFFFFFFF_open_dialog',0
|
|
|
|
|
open_dialog_path:
|
|
|
|
|
db '/sys/File managers/opendial',0
|
|
|
|
|
|
|
|
|
|
communication_area_default_pach:
|
|
|
|
|
db '/sys',0
|
|
|
|
|
|
|
|
|
|
Filter dd 0
|
|
|
|
|
|
|
|
|
|
;open_dialog db 0
|
|
|
|
|
;-------------------------------------------------------------------------------
|
|
|
|
|
|
|
|
|
|
;/<2F><> ࠧ<><E0A0A7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
align 4
|
|
|
|
|
IconAreaH dd ICON_SIZE,ICON_SIZE
|
|
|
|
|
I_END:
|
|
|
|
|
;##### UDATA ###################################################################
|
|
|
|
|
IconArea rb 4*ICON_SIZE*ICON_SIZE
|
|
|
|
|
;\
|
|
|
|
|
|
2013-10-15 03:04:34 +04:00
|
|
|
|
sc system_colors
|
2013-10-11 16:39:43 +04:00
|
|
|
|
|
2013-10-15 03:04:34 +04:00
|
|
|
|
align 4
|
2013-08-05 00:58:46 +04:00
|
|
|
|
ScreenX rw 1
|
|
|
|
|
ScreenY rw 1
|
|
|
|
|
|
|
|
|
|
MouseX rd 1
|
|
|
|
|
MouseY rd 1
|
|
|
|
|
|
|
|
|
|
RBSlot rd 1
|
|
|
|
|
|
|
|
|
|
AddX rd 1
|
|
|
|
|
AddY rd 1
|
|
|
|
|
|
|
|
|
|
SelIcon rd 1
|
2013-09-21 16:25:30 +04:00
|
|
|
|
DlgSelIcon rd 1
|
2013-10-03 00:50:38 +04:00
|
|
|
|
slotDlgAdd rd 1
|
2013-10-15 03:04:34 +04:00
|
|
|
|
DlgBufImg rb IMG_SIZE*IMG_SIZE*3
|
|
|
|
|
|
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
bufStdIco rb 40
|
|
|
|
|
IconsOffs rd 100
|
|
|
|
|
PIcoDB rd 1
|
|
|
|
|
|
2013-10-03 00:50:38 +04:00
|
|
|
|
|
2013-08-05 00:58:46 +04:00
|
|
|
|
align 4
|
|
|
|
|
icon_count rd 1
|
|
|
|
|
strip_file rd 1
|
|
|
|
|
strip_file_size rd 1
|
|
|
|
|
|
|
|
|
|
cur_band_compensation rd 1
|
|
|
|
|
|
|
|
|
|
;---- RButton -----------------------------------------------------------------------
|
|
|
|
|
bufIni rb 40
|
|
|
|
|
NumUserButt rd 1
|
|
|
|
|
RBUser rd 16*2+1
|
|
|
|
|
RMenuW rw 1
|
|
|
|
|
RMenuH rw 1
|
|
|
|
|
RMenuHsb rw 1
|
|
|
|
|
|
|
|
|
|
MaxPage rd 1
|
2013-10-03 00:50:38 +04:00
|
|
|
|
RBMenuColor rd 1
|
2013-08-05 00:58:46 +04:00
|
|
|
|
mouse_dd rd 1
|
|
|
|
|
|
|
|
|
|
DAreaName rb NAME_LENGTH+1
|
|
|
|
|
DAreaPath rb 256+1
|
|
|
|
|
DAreaParams rb 256+1
|
|
|
|
|
DAreaIcon rb 256+1
|
|
|
|
|
|
|
|
|
|
align 4
|
|
|
|
|
RBProcInfo rb 1024
|
2013-10-03 00:50:38 +04:00
|
|
|
|
align 4
|
2013-08-05 00:58:46 +04:00
|
|
|
|
|
|
|
|
|
; OpenDialog
|
|
|
|
|
temp_dir_pach rb 1024
|
|
|
|
|
fname_Info rb 1024
|
|
|
|
|
;-------------------------------------------------------------------------------
|
2013-10-15 03:04:34 +04:00
|
|
|
|
rb 512
|
|
|
|
|
stack_mov:
|
|
|
|
|
rb 512
|
2013-08-05 00:58:46 +04:00
|
|
|
|
stack_dlg:
|
2013-10-15 03:04:34 +04:00
|
|
|
|
rb 512
|
2013-10-04 02:53:51 +04:00
|
|
|
|
stack_bredraw:
|
2013-10-15 03:04:34 +04:00
|
|
|
|
rb 512
|
2013-08-05 00:58:46 +04:00
|
|
|
|
stack_area:
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
ENDMEM:
|