Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 4145 → Rev 4146

/programs/system/icon_new/@icon.asm
36,8 → 36,6
dd 0 ; path
;------------------------------------------------------------------------------
include 'lang.inc'
 
include 'lang.inc'
include '../../macros.inc'
include '../../proc32.inc'
include '../../develop/libraries/box_lib/trunk/box_lib.mac'
360,19 → 358,28
mov bx,ax
shr eax,16
 
add ebx,7
dec eax
 
sub eax,ICON_SIZE/2
jns @f
sub eax,1+ICON_SIZE/2
jnc @f
xor eax,eax
@@:
sub ebx,ICON_SIZE/2
jns @f
 
sub ebx,ICON_SIZE/2-7
jnc @f
xor ebx,ebx
@@:
 
movzx edx,[ScreenX]
cmp ax,[wsX]
jae @f
mov ax,[wsX]
@@:
 
cmp bx,[wsY]
jae @f
mov bx,[wsY]
@@: ;eax,ebx - ॠ«ì­ ï ª®®à¤¨­ â . ‚ᥠª®®à¤¨­ âë ¢ ¯à®£¥ ®â­®á¨â¥«ì­® «¥¢®£® ¢¥àå­¥£® 㣫  à ¡®ç¥© ®¡« áâ¨
 
xor edx,edx
mov dx,[wsXe]
sub edx,ICON_SIZE
cmp eax,edx
jbe @f
379,7 → 386,7
mov eax,edx
@@:
 
movzx edx,[ScreenY]
mov dx,[wsYe]
sub edx,ICON_SIZE
cmp ebx,edx
jbe @f
386,23 → 393,31
mov ebx,edx
@@:
 
xor edx,edx
mov dx,[ScreenX]
xor edx,edx ;¯à¥®¡à §®¢ë¢ ¥¬ ¢ ®â­®á¨â¥«ì­ë¥
mov dx,[wsW]
shr edx,1
add dx,[wsX]
cmp eax,edx
jbe @f
sub ax,[ScreenX]
sub ax,[wsXe]
inc ax
jmp .mov1
@@:
sub ax,[wsX]
.mov1:
 
xor edx,edx
mov dx,[ScreenY]
mov dx,[wsH]
shr edx,1
add dx,[wsY]
cmp ebx,edx
jbe @f
sub bx,[ScreenY]
sub bx,[wsYe]
inc bx
jmp .mov2
@@:
sub bx,[wsY]
.mov2:
 
stdcall SetPosition,[SelIcon],eax,ebx
 
441,12 → 456,10
;ret eax = 1/0 = 㤠ç /®è¨¡ª 
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
 
483,20 → 496,20
add ebx,-1*10000h+0
mcall 4
add ebx,2*10000h+0
mcall 4
mcall ;4
add ebx,-1*10000h-1
mcall 4
mcall ;4
add ebx,0*10000h+2
mcall 4
mcall ;4
add ebx,1*10000h+0
mcall 4
add ebx,0*10000h+1
mcall 4
mcall ;4
inc ebx;add ebx,0*10000h+1
mcall ;4
add ebx,-1*10000h+0
mcall 4
mcall ;4
add ebx,0*10000h-2
mov ecx,88FFFFFFh
mcall 4
mcall ;4
;à¨á㥬 ª à⨭ªã
 
mov edi,esi
540,9 → 553,9
add eax,IMG_SIZE*IMG_SIZE*4
loop @b
DI1:
add eax,[raw_pointer]
add eax,0+4*11
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
617,14 → 630,23
 
test edx,00008000h
jz @f
add dx,[ScreenY]
add dx,[wsYe]
jmp .DI11
@@:
add dx,[wsY]
.DI11:
 
test edx,80000000h
jz @f
rol edx,16
add dx,[ScreenX]
rol edx,16
mov ax,[wsXe]
shl eax,16
add edx,eax
jmp .DI12
@@:
mov ax,[wsX]
shl eax,16
add edx,eax
.DI12:
 
mov ebx,IconArea
mov ecx,ICON_SIZE*10000h+ICON_SIZE
658,14 → 680,20
mov ax,[edi+2]
test ax,8000h
jz @f
add ax,[ScreenX]
add ax,[wsXe]
jmp .rbg1
@@:
add ax,[wsX]
.rbg1:
 
mov bx,[edi]
test bx,8000h
jz @f
add bx,[ScreenY]
add bx,[wsYe]
jmp .rbg2
@@:
add bx,[wsY]
.rbg2:
 
mov cx,ax
shl ecx,16
692,21 → 720,23
xor edx,edx
test eax,8000h
jnz @f
mov dx,[ScreenX] ;¥á«¨ ­ ¤®, â® ¯à¥®¡à §®¢ë¢ ¥¬ ¢
mov dx,[wsW] ;¥á«¨ ­ ¤®, â® ¯à¥®¡à §®¢ë¢ ¥¬ ¢
shr edx,1 ;®âà¨æ â¥«ì­ë¥ ª®®à¤¨­ âë
add dx,[wsX]
cmp eax,edx
jbe @f
sub ax,[ScreenX]
sub ax,[wsW]
inc eax
@@:
 
test ebx,8000h
jnz @f
mov dx,[ScreenY]
mov dx,[wsY]
shr edx,1
add dx,[wsH]
cmp ebx,edx
jbe @f
sub bx,[ScreenY]
sub bx,[wsH]
inc ebx
@@:
;¯®¯à ¢ª  ­  á«ãç © ¢ë室  §  ªà © íªà ­ 
713,7 → 743,7
 
test eax,8000h
jnz @f
mov dx,[ScreenX]
mov dx,[wsXe]
sub edx,ICON_SIZE
cmp eax,edx
jbe @f
722,7 → 752,7
 
test ebx,8000h
jnz @f
mov dx,[ScreenY]
mov dx,[wsYe]
sub edx,ICON_SIZE
cmp ebx,edx
jbe @f
876,15 → 906,22
mov ax,[edi+2]
test ax,8000h
jz @f
add ax,[ScreenX]
add ax,[wsXe]
jmp .gni1
@@:
add ax,[wsX]
.gni1:
mov [posX],ax
 
mov ax,[edi]
test ax,8000h
jz @f
add ax,[ScreenY]
add ax,[wsYe]
jmp .gni2
@@:
add ax,[wsY]
.gni2:
 
mov [posY],ax
 
mov eax,[x]
908,9 → 945,9
dec ebx
pop ecx
 
loop .TestIcon
;dec ecx
;jnz .TestIcon
;loop .TestIcon
dec ecx
jnz .TestIcon
jmp .NoIcon
.OkIcon:
mov eax,ebx
1369,9 → 1406,17
sc.workH rd 1
 
align 4
ScreenX rw 1
ScreenY rw 1
 
ScreenW rw 1
ScreenH rw 1
wsX rw 1
wsY rw 1
wsXe rw 1
wsYe rw 1
wsW rw 1
wsH rw 1
 
 
MouseX rd 1
MouseY rd 1
 
/programs/system/icon_new/DlgAdd.inc
12,9 → 12,65
cmp eax,-1
jne SetProp
 
m2m dword[AddX],dword[MouseX]
m2m dword[AddY],dword[MouseY]
;-----------
mov eax,[MouseX]
mov ebx,[MouseY]
 
cmp ax,[wsX]
jae @f
mov ax,[wsX]
@@:
 
cmp bx,[wsY]
jae @f
mov bx,[wsY]
@@: ;eax,ebx - ॠ«ì­ ï ª®®à¤¨­ â . ‚ᥠª®®à¤¨­ âë ¢ ¯à®£¥ ®â­®á¨â¥«ì­® «¥¢®£® ¢¥àå­¥£® 㣫  à ¡®ç¥© ®¡« áâ¨
 
xor edx,edx
mov dx,[wsXe]
sub edx,ICON_SIZE
cmp eax,edx
jbe @f
mov eax,edx
@@:
 
mov dx,[wsYe]
sub edx,ICON_SIZE
cmp ebx,edx
jbe @f
mov ebx,edx
@@:
 
xor edx,edx ;¯à¥®¡à §®¢ë¢ ¥¬ ¢ ®â­®á¨â¥«ì­ë¥
mov dx,[wsW]
shr edx,1
add dx,[wsX]
cmp eax,edx
jbe @f
sub ax,[wsXe]
inc ax
jmp .dlg1
@@:
sub ax,[wsX]
.dlg1:
 
xor edx,edx
mov dx,[wsH]
shr edx,1
add dx,[wsY]
cmp ebx,edx
jbe @f
sub bx,[wsYe]
inc bx
jmp .dlg2
@@:
sub bx,[wsY]
.dlg2:
 
mov [AddX],eax
mov [AddY],ebx
;-----------
 
mov ecx,NAME_LENGTH
mov edi,DAreaName
xor al,al
/programs/system/icon_new/RButton.inc
1,11 → 1,4
 
;idbRRedrawFon equ 100
;idbRAlign equ 101
;idbRFixIcons equ 102
;idbRAdd equ 103
;idbRDel equ 104
;idbRProp equ 105
 
DELTA_COLOR equ 70
COLOR_SEL_BUT equ 00F7092Dh
MAX_USER_BUTTONS equ 30
628,11 → 621,12
jmp .AI6
@@:
 
mov dx,[ScreenX]
mov dx,[wsW]
shr dx,1
add dx,[wsX]
cmp ax,dx
jbe .AI6
sub ax,[ScreenX]
sub ax,[wsW]
.AI6:
mov word[edi+2],ax
 
645,11 → 639,12
jmp .AI7
@@:
 
mov dx,[ScreenY]
mov dx,[wsH]
shr dx,1
add dx,[wsY]
cmp ax,dx
jbe .AI7
sub ax,[ScreenY]
sub ax,[wsH]
.AI7:
mov word[edi],ax
 
/programs/system/icon_new/bgredraw.inc
4,15 → 4,27
 
BGRTRedrawIcons:
mcall 48,5
 
mov [wsXe],ax
mov [wsYe],bx
 
mov dx,ax
shr eax,16
mov [wsX],ax
sub dx,ax
mov [ScreenX],dx
mov [wsW],dx
 
mov ax,bx
shr ebx,16
mov [wsY],bx
sub ax,bx
mov [ScreenY],ax
mov [wsH],ax
 
mcall 14
mov [ScreenH],ax
shr eax,16
mov [ScreenW],ax
 
mov ecx,[MaxNumIcon]
test ecx,ecx
jz .NoDraw