Subversion Repositories Kolibri OS

Compare Revisions

Ignore whitespace Rev 7436 → Rev 7437

/programs/system/icon_new/DlgAdd.inc
92,7 → 92,7
 
mov ecx,256
mov edi,DAreaIcon
 
mov [DAreaIcon],'0'
mov dword[edtIcon.size],1
mov dword[edtIcon.pos],1
196,7 → 196,7
 
;edit_boxes_set_sys_color edtIcon,endEdits,sc
edit_boxes_set_sys_color edtName,endEdits,sc
 
m2m [edtIcon.color],[sc.work]
m2m [edtIcon.blur_border_color],[sc.work]
 
348,27 → 348,10
cmp eax,[icon_count]
jae DMessages
 
mov bl,10
div bl
; stdcall byteToHex,al,DAreaIcon ;2
stdcall intToStr,eax,DAreaIcon
mov dword[edtIcon.size],edx
 
add ah,30h
test al,al
jz @f
 
add al,30h
mov byte[DAreaIcon],al
mov byte[DAreaIcon+1],ah
mov byte[DAreaIcon+2],0
mov dword[edtIcon.size],2
jmp .RedrawNum
 
@@:
mov byte[DAreaIcon],ah
mov byte[DAreaIcon+1],0
mov dword[edtIcon.size],1
jmp .RedrawNum
.RedrawNum:
; stdcall [edit_box_draw],edtIcon
 
call DrawSelIcon
465,14 → 448,14
 
stdcall [scrollbar_h_draw],sbIcons
mcall 38,<ICONSX+1,END_ICONS_AREAW-2>,<END_ICONS_AREAH+3,END_ICONS_AREAH+3>,[sc.work_graph]
mcall ,<ICONSX+1,END_ICONS_AREAW-2>,<END_ICONS_AREAH+3+15,END_ICONS_AREAH+3+15>,[sc.work_graph]
mcall ,<ICONSX+1,END_ICONS_AREAW-2>,<END_ICONS_AREAH+3+15,END_ICONS_AREAH+3+15>,[sc.work_graph]
 
mcall ,<ICONSX,ICONSX>,<END_ICONS_AREAH+3+1,END_ICONS_AREAH+3+15-1>,[sc.work_graph]
mcall ,<END_ICONS_AREAW-1,END_ICONS_AREAW-1>,<END_ICONS_AREAH+3+1,END_ICONS_AREAH+3+15-1>, [sc.work_graph]
mcall ,<ICONSX,ICONSX>,<END_ICONS_AREAH+3+1,END_ICONS_AREAH+3+15-1>,[sc.work_graph]
mcall ,<END_ICONS_AREAW-1,END_ICONS_AREAW-1>,<END_ICONS_AREAH+3+1,END_ICONS_AREAH+3+15-1>,[sc.work_graph]
 
;BUTTONS
mcall 8,<265,75>,<30+END_ICONS_AREAH,24>,idbCreate,[sc.work_button]
mcall ,<360,77>, ,idbCancel
mcall ,<360,77>, ,idbCancel
mcall ,<END_ICONS_AREAW-30,30>,<30,20> ,idbChange
 
;CAPTIONS
647,11 → 630,9
endp
 
proc DrawSelIcon
 
mov edx,[sc.work]
mcall 13,<ICONSX+18,3*8>,<59,12>
 
mov ecx,[sc.work_text]
or ecx,90000000h
mcall 4,<ICONSX+18,59>,,DAreaIcon
662,25 → 643,8
ret
@@:
 
mov al,[edi]
cmp al,'9'
ja .PathToIcon
cmp al,'/'
jne .GetIconInd
.PathToIcon:
mov al,30h ;§ £«ã誠!!!!!!!!!!!!!
mov byte[edi+1],0
.GetIconInd:
;int3
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
;stdcall hexToInt, edi
stdcall strToInt, edi
@@: ;eax=num icon
cmp eax,[icon_count]
jb @f
724,4 → 688,155
mcall 7,DlgBufImg,<IMG_SIZE,IMG_SIZE>,<30,15>
 
ret
endp
endp
 
;NOT USED
proc hexToInt strz:DWORD
push ebx
mov ebx,[strz]
mov al,[ebx]
xor edx,edx
.loop:
xor ecx,ecx
inc ebx
shl edx,4
cmp al,'0'
jb .err
cmp al,'9'
jbe .conv
mov ecx,10
sub al,11h
cmp al,'0'
jb .err
cmp al,'6'
ja .err
.conv:
sub al,30h
add dl,al
mov al,[ebx]
add dl,cl
test al,al
jnz .loop
mov eax,edx
pop ebx
ret
.err:
xor eax,eax
pop ebx
ret
endp
 
 
;NOT USED
proc byteToHex byti:BYTE,target:DWORD
push ebx
mov ebx,[target]
mov dl,[byti]
rol dl,4
mov ecx,2
.loop:
mov al,dl
and al,0xF
cmp al,10
jae @f
add al,0x30
jmp .n
@@:
add al,0x41-10
.n:
mov [ebx],al
inc ebx
rol dl,4
loop .loop
 
mov byte[ebx],0
@@: pop ebx
ret
jmp @b
endp
 
 
proc strToInt strz:DWORD
push ebx edi esi
stdcall strLen, [strz]
xor edx,edx
xor ebx,ebx
xor edi,edi
std
inc ebx
mov esi,[strz]
lea esi,[esi+eax-2]
.loop:
xor eax,eax
lodsb
cmp al,'0'
jb .err
cmp al,'9'
ja .err
 
sub al,0x30
mul ebx
lea ebx,[ebx*4+ebx] ;ebx = ebx*10
shl ebx,1
add edi,eax
cmp esi,[strz]
jae .loop
cld
mov eax,edi
pop esi edi ebx
ret
.err:
cld
or eax,-1
pop esi edi ebx
ret
endp
 
 
;ret: target - string, edx - length string
proc intToStr inti:DWORD, target:DWORD
locals
resl rb 16
endl
lea edi,[resl]
mov eax,[inti]
xor ecx,ecx
mov ebx,10
jmp .stlp
.loop:
xor edx,edx
div ebx
mov [edi],dl
inc edi
inc ecx
.stlp: cmp eax,10
jae .loop
mov [edi],al
inc ecx
mov edx,ecx
mov ebx,[target]
.conv:
mov al,[edi]
add al,0x30
mov [ebx],al
inc ebx
dec edi
loop .conv
mov byte[ebx],0
ret
endp
 
;for 'ab',0 strLen = 3
proc strLen stringZ:DWORD
push edi
xor al,al
mov edi,[stringZ]
or ecx,-1
repne scasb
sub edi,[stringZ]
mov eax,edi
pop edi
ret
endp
 
 
/programs/system/icon_new/icon.asm
39,9 → 39,18
include '../../proc32.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
include '../../dll.inc'
;include '../../debug.inc'
include '../../debug.inc'
 
 
; include '../include/lang.inc'
; include '../include/macros.inc'
; include '../include/proc32.inc'
; include '../include/box_lib.mac'
; include '../include/dll.inc'
 
;------------------------------------------------------------------------------
START: ; start of execution
 
mcall 68,11
stdcall dll.Load,IMPORTS
test eax,eax
119,7 → 128,7
rep stosd
mov [nLoadIcon],0
stdcall [ini_enum_sections],IconIni,LoadIconsData
;int3
 
mov eax,dword[PIcoDB]
sub eax,[BegData]
mov dword[SizeData],eax
274,7 → 283,7
mov dword[fiRunProg+8],edi
mov dword[fiRunProg+21],ebx
mcall 70,fiRunProg
 
test eax,80000000h
jz @f
 
533,28 → 542,9
repne scasb
repne scasb
repne scasb
mov al,[edi]
;cmp al,'9'
;ja PathToIcon
cmp al,'/'
jne GetIconInd
 
PathToIcon:
mov al,30h ;§ £«ã誠!!!!!!!!!!!!!
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
;stdcall hexToInt,edi
stdcall strToInt,edi
@@: ;eax=num icon
cmp eax,[icon_count]
jb @f
913,7 → 903,7
;ä®à¬ â IPC-á®®¡é¥­¨ï
;dd X
;dd Y
;asciiz Icon
;asciiz Icon - in decimal
;asciiz Name
;asciiz Path
;asciiz Params
926,7 → 916,6
 
mov eax,IPCbuffer+8
mov dword[IPCbuffer],1
;mov edx,dword[IPCbuffer+4]
lea edx,[eax+8]
 
m2m dword[ix],dword[edx]
1285,10 → 1274,10
 
align 4
bufStdIco rb 40
IconsOffs rd 100 ;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
PIcoDB rd 1
IconsOffs rd 100h ;â ¡«¨æ  á 㪠§ â¥«ï¬¨ ­  ª®­ªà¥â­ë¥ ¨ª®­ª¨(¤«ï ã᪮७¨ï)
PIcoDB rd 1 ;㪠§ â¥«ì ­  ¡ãää¥à á ¨­ä®© ®¡® ¢á¥å ¨ª®­ª å
nLoadIcon rd 1 ;­®¬¥à ç¨â ¥¬®© ¨§ ini ¨ª®­ª¨
IconsID rd 100 ;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
IconsID rd 100h ;ID ¨ª®­®ª - 2 ¡ ©âa + ¡ ©â 0 + ¢ëà ¢­¨¢ î騩 ¡ ©â - áâப  á 2¬ï è¥á­ ¤æ¥â¨à¨ç­ë¬¨ æ¨äà ¬¨
 
nameSection rb 4
 
1335,4 → 1324,8
rb 512
stack_main:
;------------------------------------------------------------------------------
 
 
 
 
ENDMEM: