Receives a IPC-message about creating icons
git-svn-id: svn://kolibrios.org@5017 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
@@ -2,7 +2,7 @@ ICON_STRIP equ '/rd/1/iconstrp.png'
|
|||||||
ICON_INI equ '/rd/1/settings/icon.ini'
|
ICON_INI equ '/rd/1/settings/icon.ini'
|
||||||
ICON_SIZE equ 68 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ICON_SIZE equ 68 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
IMG_SIZE equ 32 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
IMG_SIZE equ 32 ;ࠧ<><E0A0A7><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
TEXT_BOTTOM_Y equ 15 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Y ⥪<><E2A5AA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
TEXT_BOTTOM_Y equ 14 ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><> Y ⥪<><E2A5AA><EFBFBD> <20><> <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
IMAGE_TOP_Y equ 10 ;>=1 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
IMAGE_TOP_Y equ 10 ;>=1 <20><><EFBFBD>न<EFBFBD><E0A4A8><EFBFBD><EFBFBD> Y <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
ALIGN_SIZE equ 68 ;ࠧ<><E0A0A7><EFBFBD> <20><>⪨ <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
ALIGN_SIZE equ 68 ;ࠧ<><E0A0A7><EFBFBD> <20><>⪨ <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
NAME_LENGTH equ 11 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
NAME_LENGTH equ 11 ;<3B><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
@@ -132,8 +132,13 @@ START: ; start of execution
|
|||||||
;######################################################################
|
;######################################################################
|
||||||
call FillIconsOffs ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MaxNumIcon,IconsOffs
|
call FillIconsOffs ;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> MaxNumIcon,IconsOffs
|
||||||
|
|
||||||
mcall 40,0100000b ;<3B>㦭<EFBFBD> ⮫쪮 ᮡ<><E1AEA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>, <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20> <EFBFBD><EFBFBD>㣮<EFBFBD> <EFBFBD><EFBFBD>⮪<EFBFBD>
|
;<EFBFBD><EFBFBD><EFBFBD>樠<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> IPC <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
mov dword[IPCbuffer],0
|
||||||
|
mov dword[IPCbuffer+4],8
|
||||||
|
mcall 60,1,IPCbuffer,1024
|
||||||
|
|
||||||
|
mcall 40,01100000b ;<3B>㦭<EFBFBD> ⮫쪮 ᮡ<><E1AEA1><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> <20> IPC,
|
||||||
|
;<3B><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ᮢ<EFBFBD><E1AEA2> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20>㤥<EFBFBD> <20> <20><>㣮<EFBFBD> <20><>⮪<EFBFBD>
|
||||||
mov eax,[icon_count]
|
mov eax,[icon_count]
|
||||||
mov bl,ICONS_DRAW_COUNTH
|
mov bl,ICONS_DRAW_COUNTH
|
||||||
div bl
|
div bl
|
||||||
@@ -153,9 +158,13 @@ messages:
|
|||||||
mcall 10
|
mcall 10
|
||||||
sub eax,6
|
sub eax,6
|
||||||
jz MSGMouse
|
jz MSGMouse
|
||||||
|
dec eax
|
||||||
|
jz MSGIPC
|
||||||
jmp messages
|
jmp messages
|
||||||
|
|
||||||
|
MSGIPC:
|
||||||
|
call IPCCreateIcon
|
||||||
|
jmp messages
|
||||||
|
|
||||||
MSGMouse:
|
MSGMouse:
|
||||||
mcall 37,0 ;GetMousePos
|
mcall 37,0 ;GetMousePos
|
||||||
@@ -896,6 +905,71 @@ proc GenerateID ;ax = ID
|
|||||||
ret
|
ret
|
||||||
endp
|
endp
|
||||||
|
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
;<3B><>ଠ<EFBFBD> IPC-ᮮ<>饭<EFBFBD><E9A5AD>
|
||||||
|
;dd X
|
||||||
|
;dd Y
|
||||||
|
;asciiz Icon
|
||||||
|
;asciiz Name
|
||||||
|
;asciiz Path
|
||||||
|
;asciiz Params
|
||||||
|
;-------------------------------------------------------------------------------
|
||||||
|
proc IPCCreateIcon
|
||||||
|
locals
|
||||||
|
ix rd 1
|
||||||
|
iy rd 1
|
||||||
|
endl
|
||||||
|
|
||||||
|
mov eax,IPCbuffer+8
|
||||||
|
mov dword[IPCbuffer],1
|
||||||
|
;mov edx,dword[IPCbuffer+4]
|
||||||
|
lea edx,[eax+8]
|
||||||
|
|
||||||
|
m2m dword[ix],dword[edx]
|
||||||
|
m2m dword[iy],dword[edx+4]
|
||||||
|
|
||||||
|
lea esi,[edx+8]
|
||||||
|
|
||||||
|
mov ecx,256
|
||||||
|
mov edi,DAreaIcon
|
||||||
|
@@: lodsb
|
||||||
|
stosb
|
||||||
|
test al,al
|
||||||
|
jnz @b
|
||||||
|
|
||||||
|
mov ecx,NAME_LENGTH+1
|
||||||
|
mov edi,DAreaName
|
||||||
|
@@: lodsb
|
||||||
|
stosb
|
||||||
|
test al,al
|
||||||
|
jz @f
|
||||||
|
loop @b
|
||||||
|
@@:
|
||||||
|
|
||||||
|
mov edi,DAreaPath
|
||||||
|
@@: lodsb
|
||||||
|
stosb
|
||||||
|
test al,al
|
||||||
|
jnz @b
|
||||||
|
|
||||||
|
mov edi,DAreaParams
|
||||||
|
@@: lodsb
|
||||||
|
stosb
|
||||||
|
test al,al
|
||||||
|
jnz @b
|
||||||
|
|
||||||
|
mov dword[IPCbuffer+4],8
|
||||||
|
mov dword[IPCbuffer],0
|
||||||
|
|
||||||
|
stdcall AddIcon,[ix],[iy],DAreaIcon,DAreaName,DAreaPath,DAreaParams
|
||||||
|
|
||||||
|
mcall 15,3
|
||||||
|
ret
|
||||||
|
endp
|
||||||
|
|
||||||
|
|
||||||
include 'iconman.inc'
|
include 'iconman.inc'
|
||||||
include 'bgredraw.inc'
|
include 'bgredraw.inc'
|
||||||
include 'RButton.inc'
|
include 'RButton.inc'
|
||||||
@@ -1052,15 +1126,15 @@ else
|
|||||||
end if
|
end if
|
||||||
|
|
||||||
if lang eq ru
|
if lang eq ru
|
||||||
ErrRunProg db '"Icon\n<EFBFBD>訡<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪠ <20>ணࠬ<E0AEA3><E0A0AC>" -tE"',0
|
ErrRunProg db '<27>訡<EFBFBD><E8A8A1> <20><><EFBFBD><EFBFBD>᪠ <20>ணࠬ<E0AEA3><E0A0AC>',0
|
||||||
WarningSave db '"Icon\n<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RDSave" -tI',0
|
WarningSave db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>࠭<EFBFBD><E0A0AD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> RDSave',0
|
||||||
ErrNotFoundIni db '"Icon\n<EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> icon.ini" -tE',0
|
ErrNotFoundIni db '<27><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> icon.ini',0
|
||||||
ErrName db '"Icon\n<EFBFBD><EFBFBD><EFBFBD> \"rbmenu\" <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>" -tE',0
|
ErrName db '<27><><EFBFBD> "rbmenu" <20><>१<EFBFBD>ࢨ<E0A2A8><E0AEA2><EFBFBD>',0
|
||||||
else
|
else
|
||||||
ErrRunProg db '"Icon\nError running program" -tE',0
|
ErrRunProg db 'Error runing program',0
|
||||||
WarningSave db '"Icon\nDo not forget to save the changes, run RDSave" -tI',0
|
WarningSave db 'Do not forget to save the changes, run the RDSave',0
|
||||||
ErrNotFoundIni db '"Icon\nicon.ini not found" -tE',0
|
ErrNotFoundIni db 'icon.ini not found',0
|
||||||
ErrName db '"Icon\nThe name \"rbmenu\" is reserved" -tE',0
|
ErrName db 'The name "rbmenu" reserved',0
|
||||||
end if
|
end if
|
||||||
|
|
||||||
;-------------------------------------------------------------------------------
|
;-------------------------------------------------------------------------------
|
||||||
@@ -1180,6 +1254,10 @@ sc system_colors
|
|||||||
sc.workL rd 1
|
sc.workL rd 1
|
||||||
sc.workH rd 1
|
sc.workH rd 1
|
||||||
|
|
||||||
|
|
||||||
|
align 4
|
||||||
|
IPCbuffer rb 1024
|
||||||
|
|
||||||
align 4
|
align 4
|
||||||
|
|
||||||
ScreenW rw 1
|
ScreenW rw 1
|
||||||
|
@@ -24,7 +24,7 @@ DlgProp:
|
|||||||
cmp bx,[wsY]
|
cmp bx,[wsY]
|
||||||
jae @f
|
jae @f
|
||||||
mov bx,[wsY]
|
mov bx,[wsY]
|
||||||
@@: ;eax,ebx - <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
@@: ;eax,ebx - ॠ<EFBFBD>쭠<EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD>. <EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>न<EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>ண<EFBFBD> <EFBFBD>⭮<EFBFBD><EFBFBD>⥫쭮 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>孥<EFBFBD><EFBFBD> 㣫<EFBFBD> ࠡ<EFBFBD>祩 <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
xor edx,edx
|
xor edx,edx
|
||||||
mov dx,[wsXe]
|
mov dx,[wsXe]
|
||||||
@@ -41,7 +41,7 @@ DlgProp:
|
|||||||
mov ebx,edx
|
mov ebx,edx
|
||||||
@@:
|
@@:
|
||||||
|
|
||||||
xor edx,edx ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
xor edx,edx ;<EFBFBD>८<EFBFBD>ࠧ<EFBFBD><EFBFBD>뢠<EFBFBD><EFBFBD> <EFBFBD> <EFBFBD>⭮<EFBFBD><EFBFBD>⥫<EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
mov dx,[wsW]
|
mov dx,[wsW]
|
||||||
shr edx,1
|
shr edx,1
|
||||||
add dx,[wsX]
|
add dx,[wsX]
|
||||||
@@ -193,10 +193,8 @@ DReDraw:
|
|||||||
m2m [sbIcons.frnt_col],[sc.work]
|
m2m [sbIcons.frnt_col],[sc.work]
|
||||||
m2m [sbIcons.line_col],[sc.work_graph]
|
m2m [sbIcons.line_col],[sc.work_graph]
|
||||||
|
|
||||||
edit_boxes_set_sys_color edtName,edtExePath,sc
|
|
||||||
edit_boxes_set_sys_color edtExePath,edtParams,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
|
||||||
|
edit_boxes_set_sys_color edtName,endEdits,sc
|
||||||
|
|
||||||
call DRedrawWin
|
call DRedrawWin
|
||||||
|
|
||||||
@@ -624,7 +622,7 @@ local IcoX:DWORD,\
|
|||||||
add edi,3
|
add edi,3
|
||||||
loop @b
|
loop @b
|
||||||
|
|
||||||
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
;<EFBFBD><EFBFBD><EFBFBD><EFBFBD>࠭<EFBFBD><EFBFBD> <EFBFBD><EFBFBD> <EFBFBD>ᯮ<EFBFBD>짮<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
jmp .Dalee
|
jmp .Dalee
|
||||||
|
|
||||||
.DrawIcons2:
|
.DrawIcons2:
|
||||||
@@ -667,7 +665,7 @@ proc DrawSelIcon
|
|||||||
cmp al,'/'
|
cmp al,'/'
|
||||||
jne .GetIconInd
|
jne .GetIconInd
|
||||||
.PathToIcon:
|
.PathToIcon:
|
||||||
mov al,30h ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!!!!!!!!!!!!!
|
mov al,30h ;<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>誠!!!!!!!!!!!!!
|
||||||
mov byte[edi+1],0
|
mov byte[edi+1],0
|
||||||
.GetIconInd:
|
.GetIconInd:
|
||||||
;int3
|
;int3
|
||||||
|
Reference in New Issue
Block a user