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

View File

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

View File

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