Given the flow of dialogue and move windows icons different stack. The dialog window now draws the icon in its own buffer.

git-svn-id: svn://kolibrios.org@4027 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
GerdtR 2013-10-14 23:04:34 +00:00
parent a0126a688c
commit 562cdf4dca
3 changed files with 20 additions and 40 deletions

View File

@ -124,9 +124,9 @@ START: ; start of execution
@@:
;######################################################################
call FillIconsOffs
call FillIconsOffs ;§ ¯®«­ï¥â MaxNumIcon,IconsOffs
mcall 40,0100000b
mcall 40,0100000b ;­ã¦­ë ⮫쪮 ᮡëâ¨ï ¬ëè¨, ¯¥à¥à¨á®¢ª  ¨ª®­®ª ¡ã¤¥â ¢ ¤à㣮¬ ¯®â®ª¥
mov eax,[icon_count]
mov bl,ICONS_DRAW_COUNTH
@ -138,7 +138,7 @@ START: ; start of execution
and eax,0FFh
mov [sbIcons.max_area],eax
mcall 51,1,BGRedrawThread,stack_bredraw
mcall 51,1,BGRedrawThread,stack_bredraw ;§ ¯ã᪠¥¬ ¯®â®ª ¯¥à¥à¨á®¢ª¨ ¨ª®­®ª
stdcall [OpenDialog_Init],OpenDialog_data
messages:
@ -339,7 +339,7 @@ MovingIcon:
;qweqwe:
mov [MovingActiv],1
mcall 51,1,MovingWnd,stack_dlg ;CreateThread MovingWnd,stack_dlg
mcall 51,1,MovingWnd,stack_mov ;CreateThread MovingWnd,stack_dlg
.WaitLB:
mcall 37,2 ;GetMouseKey
test al,001b
@ -1149,7 +1149,6 @@ IconNoDraw dd -1 ;-1
bFixIcons dd 1
bNotSave dd 0
bIcoBuff dd 0 ;1, ĽáŤ¨ IconArea § ­ďâ
LButtonActiv dd 0
RButtonActiv dd 0
@ -1367,8 +1366,9 @@ I_END:
IconArea rb 4*ICON_SIZE*ICON_SIZE
;\
sc system_colors
align 4
ScreenX rw 1
ScreenY rw 1
@ -1383,10 +1383,11 @@ AddY rd 1
SelIcon rd 1
DlgSelIcon rd 1
slotDlgAdd rd 1
DlgBufImg rb IMG_SIZE*IMG_SIZE*3
sc system_colors
align 4
bufStdIco rb 40
IconsOffs rd 100
PIcoDB rd 1
@ -1424,12 +1425,13 @@ align 4
temp_dir_pach rb 1024
fname_Info rb 1024
;-------------------------------------------------------------------------------
rb 1024
rb 512
stack_mov:
rb 512
stack_dlg:
align 4
rb 1024
rb 512
stack_bredraw:
rb 1024
rb 512
stack_area:
;------------------------------------------------------------------------------
ENDMEM:

View File

@ -474,15 +474,6 @@ local IcoX:DWORD,\
IcoY:DWORD,\
iIcon:DWORD
@@: ;Ś¤ńŹ, ŞŽŁ¤  Žá˘ŽĄŽ¤¨âáď ĄăääĽŕ
cmp [bIcoBuff],1
jne @f
mcall 5,1
jmp @b
@@:
mov [bIcoBuff],1 ;ĄŤŽŞ¨ŕ㼏 IconArea
mov ecx,[sbIcons.position]
xor eax,eax
m2m dword[iIcon],0
@ -510,7 +501,7 @@ local IcoX:DWORD,\
.DrawIcoStolb:
push ecx
mov edi,IconArea
mov edi,DlgBufImg
mov edx,IMG_SIZE
.DrawLine:
@ -538,7 +529,7 @@ local IcoX:DWORD,\
mov edx,[IcoX]
shl edx,16
mov dx,word[IcoY]
mcall 7,IconArea,<IMG_SIZE,IMG_SIZE>
mcall 7,DlgBufImg,<IMG_SIZE,IMG_SIZE>
inc [iIcon]
mov eax,[iIcon]
@ -557,7 +548,7 @@ local IcoX:DWORD,\
.endDrawIcon:
mov ecx,IMG_SIZE*IMG_SIZE
mov edi,IconArea
mov edi,DlgBufImg
mov eax,[sc.work]
mov ebx,eax
shr ebx,16
@ -581,7 +572,7 @@ local IcoX:DWORD,\
mov edx,[IcoX]
shl edx,16
mov dx,word[IcoY]
mcall 7,IconArea,<IMG_SIZE,IMG_SIZE>
mcall 7,DlgBufImg,<IMG_SIZE,IMG_SIZE>
.Dalee:
add dword[IcoY],IMG_SIZE+SPCH
@ -594,7 +585,6 @@ local IcoX:DWORD,\
.endProc:
mov [bIcoBuff],0 ;ŕ §ĄŤŽŞ¨ŕ㼏 ĄăäĽŕ
ret
endp
@ -641,7 +631,7 @@ proc DrawSelIcon
add esi,[raw_pointer]
add esi,44
mov edi,IconArea
mov edi,DlgBufImg
mov edx,IMG_SIZE
.DrawLine:
@ -664,7 +654,7 @@ proc DrawSelIcon
dec edx
jnz .DrawLine
mcall 7,IconArea,<IMG_SIZE,IMG_SIZE>,<15,15>
mcall 7,DlgBufImg,<IMG_SIZE,IMG_SIZE>,<15,15>
ret
endp

View File

@ -3,15 +3,6 @@ BGRedrawThread:
mcall 40,010000b
BGRTRedrawIcons:
@@:
cmp [bIcoBuff],1 ;¤«ï ¡«®ª¨à®¢ª¨ ¯à¥à¥à¨á®¢ª¨ ¨ª®­®ª
jne @f
mcall 5,1
jmp @b
@@:
mov [bIcoBuff],1
mcall 48,5
mov dx,ax
shr eax,16
@ -36,9 +27,6 @@ BGRTRedrawIcons:
loop @b
.NoDraw:
mov [bIcoBuff],0
BGRTmessages:
mcall 10
sub eax,5