Modified icon.ini . Icons do not get dirty. Fixed bug with moving icons.

git-svn-id: svn://kolibrios.org@4007 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
GerdtR 2013-10-11 12:39:43 +00:00
parent 7842239f08
commit 8ee81af2d3
4 changed files with 41 additions and 28 deletions

View File

@ -1,5 +1,3 @@
;<3B>  ¯®â®¬: ¤®¡ ¢¨â § £à㧪ã ico ¨ ¢®§¬®¦­®áâì ¢ë¡®à  ¨ª®­ª¨ ­¥ ¨§ iconstrp
ICONS_DAT equ '/rd/1/icons.dat' ICONS_DAT equ '/rd/1/icons.dat'
ICON_STRIP equ '/rd/1/iconstrp.png' ICON_STRIP equ '/rd/1/iconstrp.png'
ICON_SIZE equ 68 ICON_SIZE equ 68
@ -29,8 +27,8 @@ BegData equ fiStdIco.point
db 'MENUET01' ; 8 byte id db 'MENUET01' ; 8 byte id
dd 0x01 ; header version dd 0x01 ; header version
dd START ; start of code dd START ; start of code
dd I_END ; size of image dd I_END ; size of image
dd ENDMEM ; memory for app dd ENDMEM ; memory for app
dd stack_area ; esp dd stack_area ; esp
dd 0 ; boot parameters dd 0 ; boot parameters
dd 0 ; path dd 0 ; path
@ -140,14 +138,8 @@ START: ; start of execution
and eax,0FFh and eax,0FFh
mov [sbIcons.max_area],eax mov [sbIcons.max_area],eax
; int3
; mov eax,1
; mov eax,[IconsOffs+eax*4]
; stdcall [ini_del_section],IconIni,eax
; ret
;jmp MSGRedrawIcons
mcall 51,1,BGRedrawThread,stack_bredraw mcall 51,1,BGRedrawThread,stack_bredraw
stdcall [OpenDialog_Init],OpenDialog_data
messages: messages:
mcall 10 mcall 10
@ -357,7 +349,7 @@ MovingIcon:
mcall 5,1 ;Sleep 1 mcall 5,1 ;Sleep 1
jmp .WaitLB jmp .WaitLB
.endWaitLB: .endWaitLB:
mov [MovingActiv],0
mcall 37,0 ;GetMousePos mcall 37,0 ;GetMousePos
xor ebx,ebx xor ebx,ebx
@ -416,7 +408,8 @@ MovingIcon:
mov [bNotSave],1 mov [bNotSave],1
mov [IconNoDraw],-1 mov [IconNoDraw],-1
mcall 15,3
mov [MovingActiv],0 ;⮫쪮 ⥯¥àì ®âª«îç ¥¬ ®ª­® á ¬ëèìî
jmp messages jmp messages
@ -515,8 +508,6 @@ local IconData:DWORD
jne GetIconInd jne GetIconInd
PathToIcon: PathToIcon:
;stdcall LoadIcon,edi
;mov esi,eax
mov al,30h ;§ £«ã誠!!!!!!!!!!!!! mov al,30h ;§ £«ã誠!!!!!!!!!!!!!
mov byte[edi+1],0 mov byte[edi+1],0
@ -1158,6 +1149,7 @@ 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
@ -1256,7 +1248,7 @@ else
ErrRunProg db 'Error runing program',0 ErrRunProg db 'Error runing program',0
WarningSave db 'Do not forget to save the changes, run the RDSave',0 WarningSave db 'Do not forget to save the changes, run the RDSave',0
ErrNotFoundIni db 'icon.ini not found',0 ErrNotFoundIni db 'icon.ini not found',0
ErrName db 'The Name "rbmenu" reserved',0 ErrName db 'The name "rbmenu" reserved',0
end if end if
@ -1342,7 +1334,7 @@ OpenDialog_data:
.opendir_pach dd temp_dir_pach ;+16 .opendir_pach dd temp_dir_pach ;+16
.dir_default_pach dd communication_area_default_pach ;+20 .dir_default_pach dd communication_area_default_pach ;+20
.start_path dd open_dialog_path ;+24 .start_path dd open_dialog_path ;+24
.draw_window dd DRedraw;draw_window_for_OD ;+28 .draw_window dd DRedrawWin;draw_window_for_OD ;+28
.status dd 0 ;+32 .status dd 0 ;+32
.openfile_pach dd DAreaPath;fname_Info ;+36 .openfile_pach dd DAreaPath;fname_Info ;+36
.filename_area dd 0;DAreaPath ;+40 .filename_area dd 0;DAreaPath ;+40
@ -1375,6 +1367,8 @@ I_END:
IconArea rb 4*ICON_SIZE*ICON_SIZE IconArea rb 4*ICON_SIZE*ICON_SIZE
;\ ;\
ScreenX rw 1 ScreenX rw 1
ScreenY rw 1 ScreenY rw 1

View File

@ -142,7 +142,7 @@ DReDraw:
edit_boxes_set_sys_color edtParams,edtIcon,sc edit_boxes_set_sys_color edtParams,edtIcon,sc
;edit_boxes_set_sys_color edtIcon,endEdits,sc ;edit_boxes_set_sys_color edtIcon,endEdits,sc
call DRedraw call DRedrawWin
DMessages: DMessages:
mcall 10 ;WaitMessage mcall 10 ;WaitMessage
@ -201,9 +201,9 @@ DNextEdit:
.DNE3: .DNE3:
and [edtParams.flags],not ed_focus and [edtParams.flags],not ed_focus
or [edtIcon.flags],ed_focus or [edtName.flags],ed_focus
stdcall [edit_box_draw],edtParams stdcall [edit_box_draw],edtParams
stdcall [edit_box_draw],edtIcon stdcall [edit_box_draw],edtName
jmp DMessages jmp DMessages
;.DNE4: ;.DNE4:
@ -312,7 +312,7 @@ DMouse:
.RedrawNum: .RedrawNum:
; stdcall [edit_box_draw],edtIcon ; stdcall [edit_box_draw],edtIcon
call DrawSelIcon call DrawSelIcon
@ -377,7 +377,7 @@ DExit:
mcall -1 ;ExitThread mcall -1 ;ExitThread
;################################################################## ;##################################################################
proc DRedraw proc DRedrawWin
mcall 12,1 ;RedrawWinBeg mcall 12,1 ;RedrawWinBeg
mov edx,[sc.work] mov edx,[sc.work]
or edx,34000000h or edx,34000000h
@ -474,6 +474,15 @@ 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
@ -491,7 +500,6 @@ local IcoX:DWORD,\
mov [IcoX],ICONSX mov [IcoX],ICONSX
mov ecx,ICONS_DRAW_COUNTW mov ecx,ICONS_DRAW_COUNTW
.DrawIcons: .DrawIcons:
push ecx push ecx
@ -517,7 +525,7 @@ local IcoX:DWORD,\
mov eax,[sc.work] mov eax,[sc.work]
@@: @@:
mov word[edi],ax mov [edi],ax
shr eax,16 shr eax,16
mov [edi+2],al mov [edi+2],al
add edi,3 add edi,3
@ -585,6 +593,8 @@ local IcoX:DWORD,\
loop .DrawIcons2 loop .DrawIcons2
.endProc: .endProc:
mov [bIcoBuff],0 ;à §¡«®ª¨à㥬 ¡ãä¥à
ret ret
endp endp

View File

@ -3,6 +3,15 @@ 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
@ -27,6 +36,7 @@ BGRTRedrawIcons:
loop @b loop @b
.NoDraw: .NoDraw:
mov [bIcoBuff],0
BGRTmessages: BGRTmessages:

View File

@ -1,9 +1,8 @@
[rbmenu] [rbmenu]
Š®­á®«ì=/rd/1/shell
„¨á¯¥âç¥à ¯à®æ¥áᮢ=/rd/1/cpu
“¯à ¢«¥­¨¥ ⥬®©=desktop
<EFBFBD> áâனª  ãáâனáâ¢=setup <EFBFBD> áâனª  ãáâனáâ¢=setup
menucolor=128,128,128 “¯à ¢«¥­¨¥ ⥬®©=desktop
„¨á¯¥âç¥à ¯à®æ¥áᮢ=/rd/1/cpu
Š®­á®«ì=/rd/1/shell
[KFM] [KFM]
path=/SYS/FILE MANAGERS/KFM path=/SYS/FILE MANAGERS/KFM
param= param=