Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 3920 → Rev 3921

/programs/system/icon_new/@icon.asm
38,7 → 38,6
include 'lang.inc'
include '../../macros.inc'
include '../../proc32.inc'
;include '../../API.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../dll.inc'
;include '../../debug.inc'
49,6 → 48,7
stdcall dll.Load,IMPORTS
test eax,eax
jnz ErrLoadLibs
;-------------------------------------------------------------------------------
 
; unpack deflate
mov eax,[unpack_DeflateUnpack2]
141,11 → 141,8
and eax,0FFh
mov [sbIcons.max_area],eax
 
; int3
; mov eax,1
; mov eax,[IconsOffs+eax*4]
; stdcall [ini_del_section],IconIni,eax
; ret
stdcall [OpenDialog_Init],OpenDialog_data
 
jmp MSGRedrawIcons
 
messages:
301,6 → 298,7
 
;-------------------------------------------------------------------------------
MovingIcon:
;int3
stdcall GetNumIcon,[MouseX],[MouseY],-1
mov [SelIcon],eax
stdcall RestoreBackgrnd,[SelIcon]
369,7 → 367,7
;qweqwe:
 
mov [MovingActiv],1
mcall 51,1,MovingWnd,stack_dlg ;CreateThread MovingWnd,stack_dlg
mcall 51,1,MovingWnd,stack_move ;CreateThread MovingWnd,stack_dlg
.WaitLB:
mcall 37,2 ;GetMouseKey
test al,001b
458,7 → 456,7
jmp @b
@@:
 
mcall 51,1,RButtonWin,stack_dlg ;CreateThread RButtonWin,stack_dlg
mcall 51,1,RButtonWin,stack_rb ;CreateThread RButtonWin,stack_dlg
 
jmp messages
 
1178,13 → 1176,16
align 4
MaxNumIcon dd 0 ;ª®«¨ç¥á⢮ ¨ª®­®ª
 
bFixIcons dd 0
bFixIcons dd 1
bNotSave dd 0
 
LButtonActiv dd 0
RButtonActiv dd 0
MovingActiv dd 0
DlgAddActiv dd 0
 
slotDlgAdd dd 0
 
IconIni db '/rd/1/icon.ini',0
 
 
1242,6 → 1243,7
;----- RButton.inc -------------------------------------------------------------
;-------------------------------------------------------------------------------
secRButt db 'rbmenu',0
keyMenuColor db 'menucolor',0
 
if lang eq ru
RMenuRedrawFon db '¥à¥à¨á®¢ âì',0
1291,7 → 1293,6
DCaptPath db 'ãâì',0
DCaptParams db ' à ¬¥âàë',0
DCaptIcon db 'ˆª®­ª ',0
;DCaptChange db '.',0
DCaptCreate db '‘®§¤ âì',0
DCaptProperties db 'ˆ§¬¥­¨âì',0
DCaptCancel db 'Žâ¬¥­¨âì',0
1303,7 → 1304,6
DCaptPath db 'Path',0
DCaptParams db 'Parameters',0
DCaptIcon db 'Icon',0
;DCaptChange db '.',0
DCaptCreate db 'Create',0
DCaptProperties db 'Change',0
DCaptCancel db 'Cancel',0
1404,6 → 1404,7
AddY rd 1
 
SelIcon rd 1
DlgSelIcon rd 1
 
sc system_colors
 
1438,12 → 1439,17
 
align 4
RBProcInfo rb 1024
align 4
RBMenuColor rd 1
 
 
 
; OpenDialog
temp_dir_pach rb 1024
fname_Info rb 1024
;-------------------------------------------------------------------------------
rb 256
stack_move:
stack_rb:
rb 1024
stack_dlg:
align 4
/programs/system/icon_new/DlgAdd.inc
6,7 → 6,9
 
DlgAdd:
DlgProp:
 
mov eax,[SelIcon]
mov [DlgSelIcon],eax
cmp eax,-1
jne SetProp
 
92,6 → 94,10
 
 
startDlg:
mcall 9,RBProcInfo,-1
mcall 18,21,dword[RBProcInfo+30]
mov [slotDlgAdd],eax
 
or [edtName.flags],ed_focus
 
mcall 40,100111b ;SetMaskMessage 100111b
108,8 → 114,6
mov dword[MaxPage],1
@@:
 
stdcall [OpenDialog_Init],OpenDialog_data
 
DReDraw:
mcall 48,3,sc,40
 
332,14 → 336,14
mcall 70,fiRunProg
 
 
cmp [SelIcon],-1
cmp [DlgSelIcon],-1
je @f
;㤠«ï¥¬ ¨§ ini áâ àãî ¨ª®­ªã
mov ebx,[SelIcon]
mov ebx,[DlgSelIcon]
mov eax,[IconsOffs+ebx*4]
stdcall [ini_del_section],IconIni,eax
 
stdcall EditIcon,[SelIcon],DAreaIcon,DAreaName,DAreaPath,DAreaParams
stdcall EditIcon,[DlgSelIcon],DAreaIcon,DAreaName,DAreaPath,DAreaParams
jmp DExitAndSave
@@:
stdcall AddIcon,[AddX],[AddY],DAreaIcon,DAreaName,DAreaPath,DAreaParams
354,7 → 358,9
stdcall [ini_set_int],IconIni,DAreaName,keyY,[MouseY]
 
DExit:
mcall -1 ;ExitProcess
mov [DlgAddActiv],0
mov [slotDlgAdd],0
mcall -1 ;ExitThread
 
;##################################################################
proc DRedraw
404,7 → 410,7
or ecx,80000000h
mcall ,<309,35+END_ICONS_AREAH>,,DCaptCancel
 
cmp [SelIcon],-1
cmp [DlgSelIcon],-1
jne @f
mpack ebx,255,35+END_ICONS_AREAH
mov edx,DCaptCreate
419,7 → 425,7
mcall ,<315,35+END_ICONS_AREAH>,,DCaptCancel
 
 
cmp [SelIcon],-1
cmp [DlgSelIcon],-1
jne @f
mpack ebx,257,35+END_ICONS_AREAH
mov edx,DCaptCreate
/programs/system/icon_new/RButton.inc
63,7 → 63,7
 
xor ebx,ebx
mov bx,[RMenuW]
mov esi,0888888h
mov esi,[RBMenuColor];0888888h
mcall 8
 
mov ebx,50000h
93,7 → 93,7
mov cx,dx
 
;¯¥à¢ ï à §¤¥«¨â¥«ì­ ï «¨­¨ï
mcall 38,,,0888888h
mcall 38,,,[RBMenuColor];0888888h
add ecx,00010001h
mcall ,,,
 
103,7 → 103,7
shl ecx,16
mov cx,16
 
mcall 8,,,idbRRedrawFon,0888888h ;3 ª­®¯ª¨ ¢â®à®£® ¡«®ª 
mcall 8,,,idbRRedrawFon,[RBMenuColor];0888888h ;3 ª­®¯ª¨ ¢â®à®£® ¡«®ª 
add ecx,00100000h
mcall ,,,idbRAlign
add ecx,00100000h
134,7 → 134,7
mov dx,cx
shl ecx,16
mov cx,dx
mcall 38,,,0888888h
mcall 38,,,[RBMenuColor];0888888h
add ecx,00010001h
mcall ,,,
;------------
146,9 → 146,9
cmp dword[SelIcon],-1
je @f
 
mcall 8,,,idbRDel,0888888h
mcall 8,,,idbRDel,[RBMenuColor];0888888h
add ecx,00100000h
mcall ,,,idbRProp,0888888h
mcall ,,,idbRProp,[RBMenuColor];0888888h
 
mov ebx,50000h
mov bx,word[esp]
160,7 → 160,7
jmp .endRM
@@:
 
mcall 8,,,idbRAdd,0888888h
mcall 8,,,idbRAdd,[RBMenuColor];0888888h
mov ebx,50000h
mov bx,word[esp]
add bx,16*3+4+5
266,7 → 266,10
jmp RBWExit
 
RBAdd:
; mov [DlgAddActiv],1
cmp [DlgAddActiv],1
je RBWSetActivWin
mov [DlgAddActiv],1
 
mcall 51,1,DlgAdd,stack_dlg ;CreateThread DlgAdd,stack_dlg
jmp RBWExit
 
289,10 → 292,16
jmp RBRedrawFon
 
RBPropeties:
; mov [DlgAddActiv],1
cmp [DlgAddActiv],1
je RBWSetActivWin
mov [DlgAddActiv],1
 
mcall 51,1,DlgProp,stack_dlg ;CreateThread DlgProp,stack_dlg
jmp RBWExit
 
RBWSetActivWin:
mcall 18,3,[slotDlgAdd]
jmp RBWExit
 
 
proc AlignIcons
443,6 → 452,19
 
push ebx esi edi
 
mov edi,[key_name]
mov esi,keyMenuColor
@@: lodsb
scasb
jne @f
test al,al
jnz @b
 
stdcall [ini_get_color],[f_name],[sec_name],[key_name],0888888h
mov [RBMenuColor],eax
ret
@@:
 
mov edi,[key_name] ;®¯à¥¤¥«ï¥¬ è¨à¨­ã ¬¥­î
xor eax,eax
or ecx,-1
491,7 → 513,7
 
proc Ini_SavePos stdcall,f_name,sec_name
push ebx edi esi
;int3
 
xor ebx,ebx
.SearchSect:
mov edi,[IconsOffs+ebx*4]
520,6 → 542,7
repne scasb
repne scasb
 
;int3
movzx eax,word[edi+2]
test eax,8000h
jz @f
/programs/system/icon_new/build.bat
0,0 → 1,5
@echo lang fix en >lang.inc
@fasm -m 16384 @icon.asm @icon
@erase lang.inc
@kpack @icon
@pause
/programs/system/icon_new/build.sh
0,0 → 1,13
#!/bin/bash
# This script does for linux the same as build.bat for DOS,
 
echo "lang fix en"
echo "lang fix en" > lang.inc
fasm -m 16384 @icon.asm @icon
kpack @icon
rm -f lang.inc
exit 0
 
 
 
 
/programs/system/icon_new/ico.inc
0,0 → 1,131
include 'libimg/libimg.asm'
 
 
;¢®§¢à é ¥â 㪠§ â¥«ì ­  ¯ ¬ïâì «¨¡® 0
LoadIcon:
path equ ebp+8
BuffR equ ebp-16
BuffH equ ebp-22
endTablI equ ebp-26
 
push ebp
mov ebp,esp
add esp,-26
 
push ebx edi esi
 
;--------------------------- ¯à®¢¥à塞 - § £à㦥­  «¨ íâ®â ä ©« á ¨ª®­ª®© ------
xor ebx,ebx
.SearchIco:
mov edi,[path]
mov esi,[IcoTable+ebx]
@@: lodsb
scasb
jne @f
test al,al
jnz @b
 
mov eax,[IcoTable+ebx+4]
pop esi edi ebx
leave
ret 4
@@:
add ebx,8
cmp ebx,50*8
jne @f
 
xor eax,eax
pop esi edi ebx
leave
ret 4
@@:
cmp [IcoTable+ebx],0
jnz .SearchIco
 
;-------------------------------------------------------------------------------
mov [endTablI],ebx
 
m2m dword[fiIcon.path],dword[path]
mcall 70,fiIcon
test eax,eax
jz @f
 
xor eax,eax
pop esi edi ebx
leave
ret 4
 
@@:
xor ecx,ecx
mov cx,[BuffH+4]
xor edi,edi
.TestRecord:
cmp word[BuffR],2020h
jne .NextRec
cmp byte[BuffR+2],0
jne .NextRec
 
lea eax,[BuffR]
stdcall LoadIco32b, [path],eax
 
 
pop esi edi ebx
leave
ret 4
 
.NextRec:
inc edi
 
mov eax,edi
shl eax,4
add eax,6
mov dword[fiIcon.pos],eax
mcall 70,fiIcon
 
loop .TestRecord
 
xor eax,eax
pop esi edi ebx
leave
ret 4
restore path
restore BuffH
restore BuffR
 
proc LoadIco32b, path,bufHeader
local ImgBuff:DWORD
mov edi,[bufHeader]
cmp dword[edi+8],10A8h
je @f
 
xor eax,eax
ret
 
@@:
mcall 68,12,32*32*4*2
mov ebx,[endTablI]
mov [IcoTable+ebx],eax
add eax,4096
mov [IcoTable+ebx+4],eax
mov [ImgBuff],eax
m2m dword[fiIcon.pos],dword[edi+12]
mov dword[fiIcon.size],32*32*4
mcall 70,fiIcon
 
mov eax,[ImgBuff]
ret
endp
 
 
 
fiIcon:
dd 0
.pos dd 0
dd 0
.size dd 22
.point dd 0
db 0
.path dd 0
 
 
IcoTable rd 2*50 ;(name(4), data(4)). End - dword 0
/programs/system/icon_new/icon.ini
3,6 → 3,7
„¨á¯¥âç¥à ¯à®æ¥áᮢ=/rd/1/cpu
“¯à ¢«¥­¨¥ ⥬®©=desktop
 áâனª  ãáâனáâ¢=setup
menucolor=128,128,128
[KFM]
path=/SYS/FILE MANAGERS/KFM
param=