TASK PANEL v2.0
1) New logic of switching windows (turnoff/restore) 2) New logic of button "clear desktop". 3) Win+D (restore/clear desktop), Win+R (start RUN application). 4) Using the library LibINI to set the parameters. 5) New style of panel. 6) Start application Menu with boot options. 7) Two versions of the location of the panel - the bottom of the desktop and on top of the desktop. git-svn-id: svn://kolibrios.org@2619 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
caaeede667
commit
c1c36c0b6a
@ -243,7 +243,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
|
||||
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
|
||||
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
|
||||
menu.dat:MENU.DAT \
|
||||
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
|
||||
panel.ini:PANEL.INI setup.dat:SETUP.DAT \
|
||||
shell:SHELL table:TABLE \
|
||||
vmode:VMODE 3d/3dsheart:3D/3DSHEART \
|
||||
3d/cubeline:3D/CUBELINE 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \
|
||||
|
@ -1 +0,0 @@
|
||||
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x
|
31
data/Vortex86MX-eng/panel.ini
Normal file
31
data/Vortex86MX-eng/panel.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[Variables]
|
||||
PanelHeight=24
|
||||
PanelWidth=0
|
||||
SoftenHeight=5
|
||||
ButtonTopOffset=4
|
||||
ButtonBottOffset=2
|
||||
|
||||
[Flags]
|
||||
SoftenUp=1
|
||||
SoftenDown=0
|
||||
MinLeftButton=1
|
||||
MinRightButton=1
|
||||
MenuButton=1
|
||||
RunApplButtons=1
|
||||
ClnDesktButton=1
|
||||
Clock=1
|
||||
CpuUsage=1
|
||||
ChangeLang=1
|
||||
PageList=1
|
||||
Attachment=1
|
||||
ButtonsStyle=1
|
||||
|
||||
[Colors]
|
||||
MenuButton=0,100,0
|
||||
ClnDesktButton=0,128,255
|
||||
Clock=0,128,255
|
||||
CpuUsage=0,100,0
|
||||
CpuUsageBckgr=255,0,0
|
||||
ChangeLang=0,128,255
|
||||
PageList=255,255,255
|
||||
|
@ -249,7 +249,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
|
||||
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
|
||||
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
|
||||
menu.dat:MENU.DAT \
|
||||
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
|
||||
panel.ini:PANEL.INI setup.dat:SETUP.DAT \
|
||||
shell:SHELL table:TABLE \
|
||||
vmode:VMODE 3d/3dsheart:3D/3DSHEART \
|
||||
3d/cubeline:3D/CUBELINE 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \
|
||||
|
@ -1 +0,0 @@
|
||||
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x
|
31
data/eng/panel.ini
Normal file
31
data/eng/panel.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[Variables]
|
||||
PanelHeight=24
|
||||
PanelWidth=0
|
||||
SoftenHeight=5
|
||||
ButtonTopOffset=4
|
||||
ButtonBottOffset=2
|
||||
|
||||
[Flags]
|
||||
SoftenUp=1
|
||||
SoftenDown=0
|
||||
MinLeftButton=1
|
||||
MinRightButton=1
|
||||
MenuButton=1
|
||||
RunApplButtons=1
|
||||
ClnDesktButton=1
|
||||
Clock=1
|
||||
CpuUsage=1
|
||||
ChangeLang=1
|
||||
PageList=1
|
||||
Attachment=1
|
||||
ButtonsStyle=1
|
||||
|
||||
[Colors]
|
||||
MenuButton=0,100,0
|
||||
ClnDesktButton=0,128,255
|
||||
Clock=0,128,255
|
||||
CpuUsage=0,100,0
|
||||
CpuUsageBckgr=255,0,0
|
||||
ChangeLang=0,128,255
|
||||
PageList=255,255,255
|
||||
|
@ -173,7 +173,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
|
||||
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
|
||||
lang.inc:LANG.INC lang.ini:LANG.INI \
|
||||
menu.dat:MENU.DAT \
|
||||
panel.dat:PANEL.DAT setup.dat:SETUP.DAT \
|
||||
panel.ini:PANEL.INI setup.dat:SETUP.DAT \
|
||||
shell:SHELL \
|
||||
vmode:VMODE \
|
||||
File|Managers/eolite.ini:File|Managers/EOLITE.INI \
|
||||
|
@ -1 +0,0 @@
|
||||
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x
|
31
data/new-stack/panel.ini
Normal file
31
data/new-stack/panel.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[Variables]
|
||||
PanelHeight=24
|
||||
PanelWidth=0
|
||||
SoftenHeight=5
|
||||
ButtonTopOffset=4
|
||||
ButtonBottOffset=2
|
||||
|
||||
[Flags]
|
||||
SoftenUp=1
|
||||
SoftenDown=0
|
||||
MinLeftButton=1
|
||||
MinRightButton=1
|
||||
MenuButton=1
|
||||
RunApplButtons=1
|
||||
ClnDesktButton=1
|
||||
Clock=1
|
||||
CpuUsage=1
|
||||
ChangeLang=1
|
||||
PageList=1
|
||||
Attachment=1
|
||||
ButtonsStyle=1
|
||||
|
||||
[Colors]
|
||||
MenuButton=0,100,0
|
||||
ClnDesktButton=0,128,255
|
||||
Clock=0,128,255
|
||||
CpuUsage=0,100,0
|
||||
CpuUsageBckgr=255,0,0
|
||||
ChangeLang=0,128,255
|
||||
PageList=255,255,255
|
||||
|
@ -242,7 +242,7 @@ OTHER_FILES:=autorun.dat:AUTORUN.DAT \
|
||||
kernel.mnt:KERNEL.MNT kerpack:KERPACK keymap.key:KEYMAP.KEY \
|
||||
kuzkina.mid:KUZKINA.MID lang.inc:LANG.INC lang.ini:LANG.INI \
|
||||
menu.dat:MENU.DAT \
|
||||
panel.dat:PANEL.DAT pipetka:PIPETKA setup.dat:SETUP.DAT \
|
||||
panel.ini:PANEL.INI pipetka:PIPETKA setup.dat:SETUP.DAT \
|
||||
shell:SHELL table:TABLE vmode:VMODE \
|
||||
3d/cubeline:3D/CUBELINE 3d/gears:3D/GEARS 3d/house.3ds:3D/HOUSE.3DS \
|
||||
demos/ak47.lif:DEMOS/AK47.LIF \
|
||||
|
@ -1 +0,0 @@
|
||||
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x
|
31
data/rus/panel.ini
Normal file
31
data/rus/panel.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[Variables]
|
||||
PanelHeight=24
|
||||
PanelWidth=0
|
||||
SoftenHeight=5
|
||||
ButtonTopOffset=4
|
||||
ButtonBottOffset=2
|
||||
|
||||
[Flags]
|
||||
SoftenUp=1
|
||||
SoftenDown=0
|
||||
MinLeftButton=1
|
||||
MinRightButton=1
|
||||
MenuButton=1
|
||||
RunApplButtons=1
|
||||
ClnDesktButton=1
|
||||
Clock=1
|
||||
CpuUsage=1
|
||||
ChangeLang=1
|
||||
PageList=1
|
||||
Attachment=1
|
||||
ButtonsStyle=1
|
||||
|
||||
[Colors]
|
||||
MenuButton=0,100,0
|
||||
ClnDesktButton=0,128,255
|
||||
Clock=0,128,255
|
||||
CpuUsage=0,100,0
|
||||
CpuUsageBckgr=255,0,0
|
||||
ChangeLang=0,128,255
|
||||
PageList=255,255,255
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -124,6 +124,8 @@ fir_lng:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
karu:
|
||||
mov [draw_flag_certainly],1
|
||||
|
||||
add [key_r2],1
|
||||
cmp [key_r2],3
|
||||
jb .altes
|
||||
@ -166,6 +168,8 @@ align 4
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
alter:
|
||||
mov [draw_flag_certainly],1
|
||||
|
||||
cmp [key_r],0
|
||||
je .alt_1
|
||||
|
||||
|
147
programs/system/panel/trunk/debug.inc
Normal file
147
programs/system/panel/trunk/debug.inc
Normal file
@ -0,0 +1,147 @@
|
||||
macro debug_print str
|
||||
{
|
||||
local ..string, ..label
|
||||
|
||||
jmp ..label
|
||||
..string db str,0
|
||||
..label:
|
||||
|
||||
pushf
|
||||
pushad
|
||||
mov edx,..string
|
||||
call debug_outstr
|
||||
popad
|
||||
popf
|
||||
}
|
||||
|
||||
dps fix debug_print
|
||||
|
||||
macro debug_print_dec arg
|
||||
{
|
||||
pushf
|
||||
pushad
|
||||
if ~arg eq eax
|
||||
mov eax,arg
|
||||
end if
|
||||
call debug_outdec
|
||||
popad
|
||||
popf
|
||||
}
|
||||
|
||||
dpd fix debug_print_dec
|
||||
|
||||
;---------------------------------
|
||||
debug_outdec: ;(eax - num, edi-str)
|
||||
push 10 ;2
|
||||
pop ecx ;1
|
||||
push -'0' ;2
|
||||
.l0:
|
||||
xor edx,edx ;2
|
||||
div ecx ;2
|
||||
push edx ;1
|
||||
test eax,eax ;2
|
||||
jnz .l0 ;2
|
||||
.l1:
|
||||
pop eax ;1
|
||||
add al,'0' ;2
|
||||
call debug_outchar ; stosb
|
||||
jnz .l1 ;2
|
||||
ret ;1
|
||||
;---------------------------------
|
||||
|
||||
debug_outchar: ; al - char
|
||||
pushf
|
||||
pushad
|
||||
mov cl,al
|
||||
mov eax,63
|
||||
mov ebx,1
|
||||
int 0x40
|
||||
popad
|
||||
popf
|
||||
ret
|
||||
|
||||
debug_outstr:
|
||||
mov eax,63
|
||||
mov ebx,1
|
||||
@@:
|
||||
mov cl,[edx]
|
||||
test cl,cl
|
||||
jz @f
|
||||
int 40h
|
||||
inc edx
|
||||
jmp @b
|
||||
@@:
|
||||
ret
|
||||
|
||||
_debug_crlf db 13, 10, 0
|
||||
|
||||
macro newline_1
|
||||
{
|
||||
pushf
|
||||
pushad
|
||||
mov edx, _debug_crlf
|
||||
call debug_outstr
|
||||
popad
|
||||
popf
|
||||
}
|
||||
|
||||
macro newline
|
||||
{
|
||||
pushf
|
||||
pushad
|
||||
mov edx, _debug_crlf
|
||||
call debug_outstr
|
||||
popad
|
||||
popf
|
||||
}
|
||||
|
||||
macro print message
|
||||
{
|
||||
dps message
|
||||
newline
|
||||
}
|
||||
|
||||
macro pregs
|
||||
{
|
||||
dps "EAX: "
|
||||
dpd eax
|
||||
dps " EBX: "
|
||||
dpd ebx
|
||||
newline
|
||||
dps "ECX: "
|
||||
dpd ecx
|
||||
dps " EDX: "
|
||||
dpd edx
|
||||
newline
|
||||
}
|
||||
|
||||
macro debug_print_hex arg
|
||||
{
|
||||
pushf
|
||||
pushad
|
||||
if ~arg eq eax
|
||||
mov eax, arg
|
||||
end if
|
||||
call debug_outhex
|
||||
popad
|
||||
popf
|
||||
}
|
||||
dph fix debug_print_hex
|
||||
|
||||
debug_outhex:
|
||||
; eax - number
|
||||
mov edx, 8
|
||||
.new_char:
|
||||
rol eax, 4
|
||||
movzx ecx, al
|
||||
and cl, 0x0f
|
||||
mov cl, [__hexdigits + ecx]
|
||||
pushad
|
||||
mcall 63, 1
|
||||
popad
|
||||
dec edx
|
||||
jnz .new_char
|
||||
ret
|
||||
|
||||
__hexdigits:
|
||||
db '0123456789ABCDEF'
|
144
programs/system/panel/trunk/dll.inc
Normal file
144
programs/system/panel/trunk/dll.inc
Normal file
@ -0,0 +1,144 @@
|
||||
;-----------------------------------------------------------------------------
|
||||
proc dll.Load, import_table:dword
|
||||
mov esi,[import_table]
|
||||
.next_lib:
|
||||
mov edx,[esi]
|
||||
or edx,edx
|
||||
jz .exit
|
||||
push esi
|
||||
mov esi,[esi+4]
|
||||
mov edi,s_libdir.fname
|
||||
@@:
|
||||
lodsb
|
||||
stosb
|
||||
or al,al
|
||||
jnz @b
|
||||
mcall 68,19,s_libdir
|
||||
or eax,eax
|
||||
jz .fail
|
||||
stdcall dll.Link,eax,edx
|
||||
stdcall dll.Init,[eax+4]
|
||||
pop esi
|
||||
add esi,8
|
||||
jmp .next_lib
|
||||
.exit:
|
||||
xor eax,eax
|
||||
ret
|
||||
.fail:
|
||||
add esp,4
|
||||
xor eax,eax
|
||||
inc eax
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
proc dll.Link, exp:dword,imp:dword
|
||||
push eax
|
||||
mov esi,[imp]
|
||||
test esi,esi
|
||||
jz .done
|
||||
.next:
|
||||
lodsd
|
||||
test eax,eax
|
||||
jz .done
|
||||
stdcall dll.GetProcAddress,[exp],eax
|
||||
or eax,eax
|
||||
jz @f
|
||||
mov [esi-4],eax
|
||||
jmp .next
|
||||
@@:
|
||||
mov dword[esp],0
|
||||
.done:
|
||||
pop eax
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
proc dll.Init, dllentry:dword
|
||||
pushad
|
||||
mov eax,mem.Alloc ;libini_alloc
|
||||
mov ebx,mem.Free ;libini_free
|
||||
mov ecx,mem.ReAlloc ;libini_realloc
|
||||
mov edx,dll.Load
|
||||
stdcall [dllentry]
|
||||
popad
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
proc dll.GetProcAddress, exp:dword,sz_name:dword
|
||||
mov edx,[exp]
|
||||
xor eax,eax
|
||||
.next:
|
||||
or edx,edx
|
||||
jz .end
|
||||
cmp dword[edx],0
|
||||
jz .end
|
||||
stdcall strcmp,[edx],[sz_name]
|
||||
test eax,eax
|
||||
jz .ok
|
||||
add edx,8
|
||||
jmp .next
|
||||
.ok:
|
||||
mov eax,[edx+4]
|
||||
.end:
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
proc strcmp, str1:dword,str2:dword
|
||||
push esi edi
|
||||
mov esi,[str1]
|
||||
mov edi,[str2]
|
||||
xor eax,eax
|
||||
@@:
|
||||
lodsb
|
||||
scasb
|
||||
jne .fail
|
||||
or al,al
|
||||
jnz @b
|
||||
jmp .ok
|
||||
.fail:
|
||||
or eax,-1
|
||||
.ok:
|
||||
pop edi esi
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
s_libdir:
|
||||
db '/sys/lib/'
|
||||
.fname rb 32
|
||||
;-----------------------------------------------------------------------------
|
||||
proc mem.Alloc,size
|
||||
push ebx ecx
|
||||
mov ecx,[size]
|
||||
mcall 68,12
|
||||
pop ecx ebx
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
proc mem.ReAlloc,mptr,size
|
||||
push ebx ecx edx
|
||||
mov ecx,[size]
|
||||
or ecx,ecx
|
||||
jz @f
|
||||
@@:
|
||||
mov edx,[mptr]
|
||||
or edx,edx
|
||||
jz @f
|
||||
@@:
|
||||
mcall 68,20
|
||||
or eax,eax
|
||||
jz @f
|
||||
@@:
|
||||
pop edx ecx ebx
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
||||
proc mem.Free,mptr
|
||||
push ebx ecx
|
||||
mov ecx,[mptr]
|
||||
or ecx,ecx
|
||||
jz @f
|
||||
@@:
|
||||
mcall 68,13
|
||||
pop ecx ebx
|
||||
ret
|
||||
endp
|
||||
;-----------------------------------------------------------------------------
|
196
programs/system/panel/trunk/drawappl.inc
Normal file
196
programs/system/panel/trunk/drawappl.inc
Normal file
@ -0,0 +1,196 @@
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_running_applications:
|
||||
pusha
|
||||
|
||||
cmp [run_appl],dword 0
|
||||
je .exit
|
||||
|
||||
call calculate_applications
|
||||
|
||||
cmp edi,[running_applications]
|
||||
jne .noret
|
||||
popa
|
||||
ret
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.noret:
|
||||
call draw_window
|
||||
mov [running_applications],edi
|
||||
call redraw_window_tabs
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
popa
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
need_window_tab:
|
||||
; in: ebx->process info
|
||||
; out: ZF set <=> do not draw
|
||||
cmp byte [ebx+10], '@'
|
||||
jz .nodraw
|
||||
; do not draw undefined (zero-sized) windows
|
||||
cmp dword [ebx+42], 0
|
||||
jnz @f
|
||||
cmp dword [ebx+46], 0
|
||||
jz .nodraw
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
; do not draw OpenDialog windows
|
||||
push edi
|
||||
mov edi, dword [ebx+10]
|
||||
or edi, 0x20202020
|
||||
cmp edi, 'open'
|
||||
jne @f
|
||||
|
||||
mov edi, dword [ebx+14]
|
||||
or edi, 0x20202020
|
||||
cmp dword [ebx+14], 'dial'
|
||||
jne @f
|
||||
|
||||
pop edi
|
||||
jmp .nodraw
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
pop edi
|
||||
cmp dword [ebx+10], 'ICON'
|
||||
jnz @f
|
||||
|
||||
cmp [ebx+42], dword 51
|
||||
jnz @f
|
||||
|
||||
cmp [ebx+46], dword 51
|
||||
jz .nodraw
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [ebx+10], dword ' '
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.nodraw:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
calculate_applications:
|
||||
mov eax,[max_applications]
|
||||
mul [page_list]
|
||||
test eax,eax
|
||||
je @f
|
||||
|
||||
inc eax
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov [draw_start_position],eax
|
||||
|
||||
mov edi,app_list
|
||||
mov ecx,20 ; show max 20 application ???!!!
|
||||
mov eax,-1
|
||||
cld
|
||||
rep stosd
|
||||
|
||||
mov edi,0
|
||||
mov ecx,2
|
||||
;--------------------------------------
|
||||
align 4
|
||||
cnewpr:
|
||||
mcall 9,procinfo_window_tabs
|
||||
|
||||
call need_window_tab
|
||||
jz cnorpl
|
||||
|
||||
sub [draw_start_position], 1
|
||||
jg cnorpl
|
||||
|
||||
mov [app_list+edi*4],ecx
|
||||
inc edi
|
||||
;--------------------------------------
|
||||
align 4
|
||||
cnorpl:
|
||||
inc ecx
|
||||
cmp eax,ecx
|
||||
jge cnewpr
|
||||
|
||||
mov [app_tab_count], edi
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
redraw_window_tabs:
|
||||
xor edi, edi
|
||||
mov [contrast], 0
|
||||
|
||||
push ebp
|
||||
mcall 18,7
|
||||
mov ebp,eax
|
||||
|
||||
call calculate_offset_X
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.loop:
|
||||
mov ecx,[app_list+edi*4]
|
||||
cmp ecx,-1
|
||||
jz .done
|
||||
|
||||
mov [active_slot_number],ecx
|
||||
mcall 9,procinfo_window_tabs
|
||||
|
||||
|
||||
imul ebx, edi, TAB_SIZE
|
||||
add ebx,[offset_X]
|
||||
add ebx,2
|
||||
shl ebx,16
|
||||
add ebx,TAB_SIZE-2 ;54
|
||||
|
||||
call calculate_button_y_coordinate_and_size
|
||||
|
||||
push edi
|
||||
mov edx,[system_colours.work_button]
|
||||
xor edi,edi
|
||||
|
||||
cmp ebp,[active_slot_number] ;ecx ; ecx=active slot number
|
||||
jnz @f
|
||||
|
||||
mov edx,[wcolor]
|
||||
inc edi
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov esi,[current_alt_tab_app]
|
||||
cmp esi,-1
|
||||
jz @f
|
||||
|
||||
cmp ecx,[alt_tab_list+esi*8]
|
||||
jnz @f
|
||||
|
||||
mov edx,0xFF8000 ; current select for ALT+Tab
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
pop edi
|
||||
;------------------------------------------------------------------------------
|
||||
add ebx,5 shl 16
|
||||
mov bx,cx ;[height]
|
||||
shr bx,1
|
||||
sub bx,4
|
||||
shr ecx,16
|
||||
add bx,cx
|
||||
|
||||
mov edx, procinfo_window_tabs+10
|
||||
mcall 4,,[system_colours.work_button_text],,11
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.nodraw:
|
||||
inc edi
|
||||
cmp edi, [max_applications]
|
||||
jb .loop
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.done:
|
||||
pop ebp
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
180
programs/system/panel/trunk/drawbutt.inc
Normal file
180
programs/system/panel/trunk/drawbutt.inc
Normal file
@ -0,0 +1,180 @@
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_appl_button:
|
||||
; in:
|
||||
; ebx = [x]*65536 + [size x]
|
||||
; ecx = [y]*65536 + [size y]
|
||||
; edx = internal color 0xRRGGBB
|
||||
; esi = external color 0xRRGGBB
|
||||
; edi = 0 up or 1 down
|
||||
COLOR_CHANGE_MAGNITUDE_0 = 0x080808
|
||||
COLOR_CHANGE_MAGNITUDE = 0x101010
|
||||
COLOR_CHANGE_MAGNITUDE_1 = 0x202020
|
||||
COLOR_CHANGE_MAGNITUDE_2 = 0x404040
|
||||
pusha
|
||||
add ebx,2 shl 16
|
||||
sub bx,4
|
||||
add ecx,2 shl 16
|
||||
sub cx,4
|
||||
mcall 13
|
||||
;------------------------------------------------------------------------------
|
||||
; mov edx,esi
|
||||
test edi,edi
|
||||
jnz @f
|
||||
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE
|
||||
call add_color_change_magnitude
|
||||
jmp .1
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE
|
||||
call subtract_color_change_magnitude
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.1:
|
||||
call draw_four_extreme_lines
|
||||
;------------------------------------------------------------------------------
|
||||
mov edx,esi
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE_2
|
||||
call subtract_color_change_magnitude
|
||||
sub ecx,1 shl 16
|
||||
add ecx,2
|
||||
sub ebx,1 shl 16
|
||||
add ebx,2
|
||||
call draw_four_extreme_lines
|
||||
;------------------------------------------------------------------------------
|
||||
popa
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_four_extreme_lines:
|
||||
; top left point
|
||||
push ebx ecx
|
||||
shr ebx,16
|
||||
shr ecx,16
|
||||
mcall 1
|
||||
pop ecx ebx
|
||||
; bottom right point
|
||||
push ebx ecx
|
||||
movzx eax,bx
|
||||
shr ebx,16
|
||||
add ebx,eax
|
||||
dec ebx
|
||||
movzx eax,cx
|
||||
shr ecx,16
|
||||
add ecx,eax
|
||||
dec ecx
|
||||
mcall 1
|
||||
pop ecx ebx
|
||||
;--------------------------------------
|
||||
; bottom left point
|
||||
push ebx ecx
|
||||
shr ebx,16
|
||||
movzx eax,cx
|
||||
shr ecx,16
|
||||
add ecx,eax
|
||||
dec ecx
|
||||
mcall 1
|
||||
pop ecx ebx
|
||||
;--------------------------------------
|
||||
; top right point
|
||||
push ebx ecx
|
||||
movzx eax,bx
|
||||
shr ebx,16
|
||||
add ebx,eax
|
||||
dec ebx
|
||||
shr ecx,16
|
||||
mcall 1
|
||||
pop ecx ebx
|
||||
;--------------------------------------
|
||||
; top line
|
||||
push ecx
|
||||
sub ecx,1 shl 16
|
||||
mov cx,1
|
||||
mcall 13
|
||||
pop ecx
|
||||
; bottom line
|
||||
push ecx
|
||||
mov ax,cx
|
||||
shl eax,16
|
||||
add ecx,eax
|
||||
mov cx,1
|
||||
mcall 13
|
||||
pop ecx
|
||||
; left line
|
||||
push ebx
|
||||
sub ebx,1 shl 16
|
||||
mov bx,1
|
||||
mcall 13
|
||||
pop ebx
|
||||
; right line
|
||||
push ebx
|
||||
mov ax,bx
|
||||
shl eax,16
|
||||
add ebx,eax
|
||||
mov bx,1
|
||||
mcall 13
|
||||
pop ebx
|
||||
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
subtract_color_change_magnitude:
|
||||
; in:
|
||||
; edx = original color
|
||||
; eax = magnitude
|
||||
; out:
|
||||
; edx = processed color
|
||||
sub dl,al
|
||||
jae @f
|
||||
xor dl,dl
|
||||
@@:
|
||||
ror edx,8
|
||||
ror eax,8
|
||||
sub dl,al
|
||||
jae @f
|
||||
xor dl,dl
|
||||
@@:
|
||||
ror edx,8
|
||||
ror eax,8
|
||||
sub dl,al
|
||||
jae @f
|
||||
xor dl,dl
|
||||
@@:
|
||||
rol edx,16
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
add_color_change_magnitude:
|
||||
; in:
|
||||
; edx = original color
|
||||
; eax = magnitude
|
||||
; out:
|
||||
; edx = processed color
|
||||
add dl,al
|
||||
jae @f
|
||||
mov dl,0xff
|
||||
@@:
|
||||
ror edx,8
|
||||
ror eax,8
|
||||
add dl,al
|
||||
jae @f
|
||||
mov dl,0xff
|
||||
@@:
|
||||
ror edx,8
|
||||
ror eax,8
|
||||
add dl,al
|
||||
jae @f
|
||||
mov dl,0xff
|
||||
@@:
|
||||
rol edx,16
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
calculate_button_y_coordinate_and_size:
|
||||
mov ecx,[button_top_offset]
|
||||
shl ecx,16
|
||||
add ecx,[height]
|
||||
sub ecx,[button_top_offset]
|
||||
sub ecx,[button_bottom_offset]
|
||||
ret
|
421
programs/system/panel/trunk/drawtray.inc
Normal file
421
programs/system/panel/trunk/drawtray.inc
Normal file
@ -0,0 +1,421 @@
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_tray: ; draw cpu usage, time, date etc.
|
||||
pusha
|
||||
; cmp [tray_enable],dword 1
|
||||
; jne no_setup
|
||||
|
||||
call draw_tray_buttons
|
||||
call draw_time_skin
|
||||
call draw_time
|
||||
|
||||
mov [draw_flag_certainly],1
|
||||
call draw_flag ; language
|
||||
|
||||
call draw_list_button
|
||||
;--------------------------------------
|
||||
;align 4
|
||||
;no_setup:
|
||||
popa
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
draw_tray_buttons:
|
||||
mov [offset_x_tray],0
|
||||
|
||||
cmp [minimize_right],dword 0
|
||||
je @f
|
||||
|
||||
add [offset_x_tray],MR_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov ecx,3 shl 16
|
||||
add ecx,[height]
|
||||
sub cx,6
|
||||
mov esi,[wcolor]
|
||||
mov eax,8
|
||||
;--------------------------------------
|
||||
cmp [clock_enable],dword 0
|
||||
je @f
|
||||
|
||||
add [offset_x_tray],CLOCK_SIZE
|
||||
|
||||
mov ebx,[max_x]
|
||||
sub ebx,[offset_x_tray]
|
||||
shl ebx,16
|
||||
add ebx,CLOCK_SIZE-2
|
||||
mov [pos_x_clock],ebx
|
||||
mcall ,,,0x40000000+2 ; time/date button
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [cpu_usage_enable],dword 0
|
||||
je @f
|
||||
|
||||
add [offset_x_tray],CPU_USAGE_SIZE
|
||||
|
||||
mov ebx,[max_x]
|
||||
sub ebx,[offset_x_tray]
|
||||
shl ebx,16
|
||||
add ebx,CPU_USAGE_SIZE-2
|
||||
mov [pos_x_cpu_usage],ebx
|
||||
mcall ,,,0x40000000+18 ;button 18 - sysmeter_name (GMON)
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [chlang_enable],dword 0
|
||||
je @f
|
||||
|
||||
add [offset_x_tray],CHLANG_SIZE
|
||||
|
||||
mov ebx,[max_x]
|
||||
sub ebx,[offset_x_tray]
|
||||
shl ebx,16
|
||||
add ebx,CHLANG_SIZE-2
|
||||
mov [pos_x_cpu_chlang],ebx
|
||||
mcall ,,,0x40000000+16 ;button 16 - chang language
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [page_list_enable],dword 0
|
||||
je @f
|
||||
|
||||
add [offset_x_tray],PAGE_LIST_SIZE
|
||||
|
||||
mov ebx,[max_x]
|
||||
sub ebx,[offset_x_tray]
|
||||
shl ebx,16
|
||||
add ebx,10
|
||||
mov [pos_x_page_list],ebx
|
||||
mcall ,,,0x40000000+22 ;button 22 - page list decrease
|
||||
|
||||
add ebx,24 shl 16
|
||||
|
||||
mcall ,,,0x40000000+21 ;button 21 - page list decrease
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
draw_time_skin:
|
||||
cmp [clock_enable],dword 0
|
||||
je .exit
|
||||
|
||||
|
||||
mov ebx,[pos_x_clock]
|
||||
call calculate_button_y_coordinate_and_size
|
||||
|
||||
mov edx,[Clock_color] ;time_bgr_color
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
draw_time:
|
||||
cmp [clock_enable],dword 0
|
||||
je .exit
|
||||
|
||||
mcall 3
|
||||
cmp eax,[ptime]
|
||||
jz .exit
|
||||
|
||||
mov [ptime],eax
|
||||
;--------------------------------------
|
||||
; draw hours and minutes
|
||||
movzx ebx,al
|
||||
shr eax,8
|
||||
movzx ecx,al
|
||||
shr eax,8
|
||||
movzx edx,al
|
||||
; ebx ecx edx h m s
|
||||
push ebx
|
||||
push ecx
|
||||
|
||||
mov ebx,[pos_x_clock]
|
||||
call calculate_button_y_coordinate_and_size
|
||||
movzx eax,cx
|
||||
shr eax,1
|
||||
sub eax,4
|
||||
shr ecx,16
|
||||
add eax,ecx
|
||||
mov bx,ax
|
||||
|
||||
add ebx,18 shl 16
|
||||
|
||||
mov ecx,[bte]
|
||||
mov edx,[esp] ; __:_X
|
||||
and edx,15
|
||||
add ebx,10*65536
|
||||
add edx,text
|
||||
mcall 4,,0x40ffffff,,1,[Clock_color] ;time_bgr_color
|
||||
|
||||
pop edx ; __:X_
|
||||
shr edx,4
|
||||
and edx,15
|
||||
sub ebx,6*65536
|
||||
add edx,text
|
||||
mcall
|
||||
|
||||
mov edx,[esp] ; _X:__
|
||||
and edx,15
|
||||
sub ebx,11*65536
|
||||
add edx,text
|
||||
mcall
|
||||
|
||||
pop edx ; X_:__
|
||||
shr edx,4
|
||||
and edx,15
|
||||
sub ebx,6*65536
|
||||
add edx,text
|
||||
mcall
|
||||
;--------------------------------------
|
||||
; draw seconds
|
||||
mov ebx,[pos_x_clock]
|
||||
call calculate_button_y_coordinate_and_size
|
||||
movzx eax,cx
|
||||
shr eax,1
|
||||
sub eax,4
|
||||
shr ecx,16
|
||||
add eax,ecx
|
||||
mov bx,ax
|
||||
|
||||
add ebx,17 shl 16
|
||||
|
||||
mcall 3
|
||||
|
||||
mov ecx,eax
|
||||
shr ecx,16
|
||||
and ecx,1
|
||||
mov edx,[bte]
|
||||
sub edx,[Clock_color] ;time_bgr_color;[wcolor]
|
||||
imul ecx,edx
|
||||
add ecx,[Clock_color] ;time_bgr_color;[wcolor]
|
||||
|
||||
mcall 4,,,sec,1
|
||||
|
||||
call draw_cpu_usage
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_list_button:
|
||||
cmp [page_list_enable],dword 0
|
||||
je .exit
|
||||
; draw page list button "skin"
|
||||
mov ebx,[pos_x_page_list]
|
||||
mov bx,10
|
||||
|
||||
mov ecx,3 shl 16
|
||||
add ecx,[height]
|
||||
sub cx,6
|
||||
|
||||
xor edx,edx
|
||||
; mcall 13
|
||||
|
||||
mov edx,[PageList_color] ;0xffffff
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
|
||||
add ebx,24 shl 16 ; 18 shl 16
|
||||
; mcall
|
||||
|
||||
mov edx,[PageList_color] ;0xffffff
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
|
||||
; sub ebx,23 shl 16 ; 19 shl 16
|
||||
; sub bx,2
|
||||
|
||||
; add ecx,1 shl 16
|
||||
; sub ecx,2
|
||||
; mcall ,,,0xffffff
|
||||
|
||||
; add ebx,24 shl 16
|
||||
; mcall
|
||||
;--------------------------------------
|
||||
; draw page list button text <>
|
||||
mov ebx,[pos_x_page_list]
|
||||
add ebx,2 shl 16
|
||||
mov eax,[height]
|
||||
shr eax,1
|
||||
sub eax,4
|
||||
mov bx,ax
|
||||
xor ecx,ecx
|
||||
mcall 4,,,page_a1,5
|
||||
|
||||
add ebx,1 shl 16
|
||||
mcall
|
||||
;--------------------------------------
|
||||
; draw page list number
|
||||
mov edx,ebx
|
||||
add edx,9 shl 16
|
||||
mcall 47,0x20000,[page_list],,0xffffff
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_cpu_usage:
|
||||
cmp [cpu_usage_enable],dword 0
|
||||
je .exit
|
||||
|
||||
pushad
|
||||
mov eax,[height]
|
||||
sub eax,[button_top_offset]
|
||||
sub eax,[button_bottom_offset]
|
||||
sub eax,2
|
||||
|
||||
mov [ysi],eax ;12
|
||||
mcall 18,5 ; TSC / SEC
|
||||
|
||||
shr eax,20
|
||||
push eax
|
||||
mcall 18,4 ; IDLE / SEC
|
||||
|
||||
shr eax,20
|
||||
xor edx,edx
|
||||
imul eax,[ysi]
|
||||
cdq
|
||||
pop ebx
|
||||
inc ebx
|
||||
div ebx
|
||||
cmp eax,[ysi]
|
||||
jng .no_bug
|
||||
|
||||
mov eax,[ysi]
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.no_bug:
|
||||
push eax
|
||||
|
||||
mov ebx,[pos_x_cpu_usage]
|
||||
mov ecx,[button_top_offset]
|
||||
shl ecx,16
|
||||
add ecx,[ysi]
|
||||
add ecx,2
|
||||
|
||||
mov edx,[CpuUsageBckgr_color] ;0xdd2222
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
|
||||
pop eax
|
||||
|
||||
; mov ecx,4 shl 16
|
||||
mov ecx,[button_top_offset]
|
||||
inc ecx
|
||||
shl ecx,16
|
||||
add ecx,eax
|
||||
|
||||
|
||||
add ebx,1 shl 16
|
||||
sub ebx,2
|
||||
|
||||
mcall 13,,,[CpuUsage_color] ;0x44aa44
|
||||
|
||||
popad
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
; eax = number (1 or 2)
|
||||
; ebx = language id
|
||||
draw_flag:
|
||||
cmp [chlang_enable],dword 0
|
||||
je .exit
|
||||
|
||||
cmp [draw_flag_certainly],0
|
||||
je .exit
|
||||
|
||||
pusha
|
||||
;--------------------------------------
|
||||
; get and draw keyboard layout
|
||||
mcall 26,2,9
|
||||
|
||||
mov ebx,eax
|
||||
|
||||
; mov eax,2
|
||||
mov [type_lang],al
|
||||
; eax = 2 BIG
|
||||
; eax = 1 small
|
||||
mov edx,ebx
|
||||
|
||||
pushad
|
||||
mov ebx,[pos_x_cpu_chlang]
|
||||
call calculate_button_y_coordinate_and_size
|
||||
|
||||
; cmp [type_lang],1
|
||||
; je .label_1
|
||||
|
||||
mov edx,[ChangeLang_color] ;time_bgr_color ;0xff ;[wcolor]
|
||||
; jmp .label_2
|
||||
;--------------------------------------
|
||||
;align 4
|
||||
;.label_1:
|
||||
; mov edx,0x7700
|
||||
;--------------------------------------
|
||||
;align 4
|
||||
;.label_2:
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
|
||||
popad
|
||||
|
||||
mov ebx,[pos_x_cpu_chlang]
|
||||
mov ax,bx
|
||||
shr eax,1
|
||||
shl eax,16
|
||||
add ebx,eax
|
||||
sub ebx,6 shl 16
|
||||
|
||||
call calculate_button_y_coordinate_and_size
|
||||
movzx eax,cx
|
||||
shr eax,1
|
||||
sub eax,4
|
||||
shr ecx,16
|
||||
add eax,ecx
|
||||
mov bx,ax
|
||||
|
||||
mov ecx,[bte] ; color
|
||||
|
||||
if caps_lock_check
|
||||
; make flag_text 'enfigerufretua' or 'ENFIGERUFRETUA' depending on CapsLock state.
|
||||
call flag_text_setup
|
||||
end if
|
||||
dec edx
|
||||
shl edx,1
|
||||
add edx,flag_text
|
||||
mcall 4,,,,2
|
||||
popa
|
||||
mov [draw_flag_certainly],0
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
if caps_lock_check
|
||||
flag_text_setup:
|
||||
pusha
|
||||
mcall 66,3
|
||||
mov edi, flag_text
|
||||
mov esi, flag_text_caps_off
|
||||
test eax, 0x40
|
||||
jz @f
|
||||
|
||||
add esi, 14
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov ecx, 14
|
||||
rep movsb
|
||||
|
||||
popa
|
||||
ret
|
||||
|
||||
;flag_text_caps_off db 'enfigerufretua'
|
||||
flag_text_caps_off:
|
||||
db 'EnFiGeRuFrEtUa'
|
||||
db 'ENFIGERUFRETUA'
|
||||
end if
|
||||
;------------------------------------------------------------------------------
|
445
programs/system/panel/trunk/drawwind.inc
Normal file
445
programs/system/panel/trunk/drawwind.inc
Normal file
@ -0,0 +1,445 @@
|
||||
;------------------------------------------------------------------------------
|
||||
; ***************************************************
|
||||
; ********* WINDOW DEFINITIONS AND DRAW *************
|
||||
; ***************************************************
|
||||
align 4
|
||||
draw_window:
|
||||
pusha
|
||||
mov [running_applications],-1
|
||||
mcall 12,1
|
||||
|
||||
mcall 48,3,system_colours,10*4
|
||||
|
||||
mov eax, [system_colours+4*6]
|
||||
sub eax, 0x101010
|
||||
mov [wcolor], eax
|
||||
|
||||
mcall 14 ; get screen max x & max y
|
||||
|
||||
cmp [width],dword 0
|
||||
je no_def_width
|
||||
|
||||
and eax,0xffff
|
||||
mov ebx,[width]
|
||||
shl ebx,16
|
||||
add eax,ebx
|
||||
;--------------------------------------
|
||||
align 4
|
||||
no_def_width:
|
||||
mov ebx,eax
|
||||
mov [screenxy],ebx
|
||||
shr ebx,16
|
||||
mov ecx,eax
|
||||
|
||||
cmp [place_attachment],1
|
||||
je @f
|
||||
|
||||
xor ecx,ecx
|
||||
mov cx,[height]
|
||||
dec cx
|
||||
jmp .attachment_selected
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
sub ecx,[height]
|
||||
inc ecx
|
||||
shl ecx,16
|
||||
mov cx,[height]
|
||||
dec cx
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.attachment_selected:
|
||||
xor eax,eax ; DEFINE AND DRAW WINDOW
|
||||
mov edx, [wcolor]
|
||||
or edx, 0x01000000 ; do not draw the window
|
||||
mov esi, [wcolor]
|
||||
or esi, 0x01000000 ; unmovable window
|
||||
mov edi, [wcolor]
|
||||
mov [panel_x_pos], ebx
|
||||
mov [panel_y_pos], ecx ; Ïîêà ÷òî òàê.
|
||||
mcall
|
||||
|
||||
movzx eax,word [screenxy+2]
|
||||
mov [max_x],eax
|
||||
|
||||
call fill_window
|
||||
call minimize_left_button
|
||||
call minimize_right_button
|
||||
call draw_menu_and_clean_desktop
|
||||
mov [ptime],0
|
||||
call draw_tray
|
||||
call draw_application_buttons
|
||||
|
||||
mcall 12,2
|
||||
popa
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
fill_window:
|
||||
movzx ebx,word [screenxy+2]
|
||||
xor ecx,ecx
|
||||
mov edx,[wcolor]
|
||||
; add edx,0x161616
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE_0
|
||||
imul eax,dword [soften_height]
|
||||
call subtract_color_change_magnitude
|
||||
cmp [soften_up],dword 0
|
||||
je no_su
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@: ; debug.inc has macros with the same name
|
||||
; sub edx,0x040404
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE_0
|
||||
call add_color_change_magnitude
|
||||
; draw soften_up - the width of 5 pixels
|
||||
and edx,0x00FFFFFF
|
||||
mcall 38
|
||||
|
||||
add ecx,1*65536+1
|
||||
cmp cx,[soften_height] ;5
|
||||
jb @r
|
||||
;--------------------------------------
|
||||
align 4
|
||||
no_su:
|
||||
cmp [soften_down],dword 0
|
||||
je no_sd
|
||||
; draw soften_down - the width of 5 pixels
|
||||
pusha
|
||||
mov esi,[soften_height]
|
||||
mov ecx,[height]
|
||||
dec ecx
|
||||
shl ecx,16
|
||||
add ecx,[height]
|
||||
dec ecx
|
||||
mov edx,[wcolor]
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE_0
|
||||
imul eax,dword [soften_height]
|
||||
call subtract_color_change_magnitude
|
||||
@@:
|
||||
mov eax,COLOR_CHANGE_MAGNITUDE_0
|
||||
call add_color_change_magnitude
|
||||
and edx,0x00FFFFFF
|
||||
mcall 38
|
||||
sub ecx,1*65536+1
|
||||
dec esi
|
||||
jnz @r
|
||||
popa
|
||||
;--------------------------------------
|
||||
align 4
|
||||
no_sd:
|
||||
movzx ebx,word [screenxy+2]
|
||||
xor ecx,ecx
|
||||
cmp [soften_up],dword 0
|
||||
je @f
|
||||
|
||||
add ecx,[soften_height]
|
||||
rol ecx,16
|
||||
add ecx,[soften_height]
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
; mov esi,stripe
|
||||
mov edx,[wcolor]
|
||||
;--------------------------------------
|
||||
align 4
|
||||
newline3:
|
||||
and edx,0x00FFFFFF
|
||||
mov eax,[height]
|
||||
cmp [soften_up],dword 0
|
||||
je @f
|
||||
|
||||
sub eax,[soften_height]
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [soften_down],dword 0
|
||||
je @f
|
||||
|
||||
sub eax,[soften_height]
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov cx,ax
|
||||
inc ebx
|
||||
mcall 13
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
minimize_left_button:
|
||||
cmp [minimize_left],dword 0
|
||||
je .exit
|
||||
|
||||
mov ecx,1 *65536
|
||||
add ecx,[height]
|
||||
dec ecx
|
||||
mov edx,101
|
||||
; add edx,[button_frames]
|
||||
or edx,0x40000000
|
||||
mcall 8,<0,9>,,,[wcolor] ; ABS LEFT
|
||||
|
||||
mov ebx,2*65536 ;+6
|
||||
mov bx,[height]
|
||||
shr bx,1
|
||||
sub bx,3
|
||||
mov ecx,[wcolor]
|
||||
add ecx,0x303030
|
||||
mcall 4,,,hidetext,1 ; HIDE TEXT
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
minimize_right_button:
|
||||
cmp [minimize_right],dword 0
|
||||
je .exit
|
||||
mov eax,[max_x]
|
||||
sub eax,77
|
||||
shl eax,16
|
||||
mov ebx,eax
|
||||
add ebx,67
|
||||
|
||||
mov ecx,1 *65536
|
||||
add ecx,[height]
|
||||
dec ecx
|
||||
add ebx,68*65536
|
||||
mov bx,9
|
||||
mov edx,102
|
||||
; add edx,[button_frames]
|
||||
or edx,0x40000000
|
||||
mcall 8,,,,[wcolor] ; ABS RIGHT
|
||||
|
||||
mov ebx,[max_x]
|
||||
sub ebx,6
|
||||
shl ebx,16
|
||||
mov bx,[height]
|
||||
shr bx,1
|
||||
sub bx,3
|
||||
mov ecx,[wcolor]
|
||||
add ecx,0x303030
|
||||
mov esi,1
|
||||
mcall 4,,,hidetext+1
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_menu_and_clean_desktop:
|
||||
pusha
|
||||
; check draw for menu
|
||||
cmp [menu_enable],dword 0
|
||||
je no_menu
|
||||
; calculate and draw menu
|
||||
mov ebx, (0 shl 16) + MENU_SIZE-3
|
||||
; check for left minimize button enabled
|
||||
cmp [minimize_left],dword 0
|
||||
je @f
|
||||
|
||||
add ebx, ML_SIZE shl 16
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
call calculate_button_y_coordinate_and_size
|
||||
mov edx, 0x40d1ff01
|
||||
; mov edx, 0xd1ff01
|
||||
; add edx, [button_frames]
|
||||
mcall 8,,,,[wcolor] ; MENU BUTTON
|
||||
|
||||
mov eax,ebx
|
||||
shr eax,16
|
||||
mov [menu_button_x.start],eax
|
||||
|
||||
mov eax,ebx
|
||||
and eax,0xffff
|
||||
mov [menu_button_x.size],eax
|
||||
|
||||
mov eax,ecx
|
||||
shr eax,16
|
||||
mov [menu_button_y.start],eax
|
||||
|
||||
mov eax,ecx
|
||||
and eax,0xffff
|
||||
mov [menu_button_y.size],eax
|
||||
|
||||
mov edx,[MenuButton_color] ;0x44aa44
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
|
||||
add ebx, 8*65536
|
||||
mov bx,[height]
|
||||
shr bx,1
|
||||
sub bx,3
|
||||
mcall 4,,0x10ffffff,m_text,4
|
||||
;--------------------------------------
|
||||
align 4
|
||||
no_menu:
|
||||
; check draw for clean desktop button
|
||||
cmp [clean_desktop_enable],dword 0
|
||||
je .exit
|
||||
; calculate and draw clean desktop button
|
||||
mov ebx, (0 shl 16) + CLD_SIZE-5
|
||||
; check for left minimize button enabled
|
||||
cmp [minimize_left],dword 0
|
||||
je @f
|
||||
|
||||
add ebx, ML_SIZE shl 16
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
; check for menu button enabled
|
||||
cmp [menu_enable],dword 0
|
||||
je @f
|
||||
|
||||
add ebx, MENU_SIZE shl 16
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
; Inserted code for drawing buttons 103, 104, 105 (Clean, Restore, Exchange windows)
|
||||
mov esi, dword [system_colours+24] ; drawing buttons
|
||||
and esi, 0x00ffffff
|
||||
mov edx, 0x40000000 + 103
|
||||
call calculate_button_y_coordinate_and_size
|
||||
mcall 8 ;,,<3,13>
|
||||
|
||||
mov edx,[CleanDesktopButton_color] ;time_bgr_color
|
||||
mov esi,[wcolor]
|
||||
call draw_appl_button
|
||||
|
||||
; mov ecx, dword [system_colours+28]
|
||||
; and ecx, 0x00ffffff
|
||||
mov ecx,0xffffff
|
||||
add ebx,5 shl 16
|
||||
; mov bx,6
|
||||
mov bx,[height]
|
||||
shr bx,1
|
||||
sub bx,2
|
||||
mcall 4,,,page_clean_but,1
|
||||
sub bx,2
|
||||
mcall ,,,page_clean_but+1
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
popa
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
draw_application_buttons:
|
||||
pusha
|
||||
|
||||
cmp [run_appl],dword 0 ; do not draw application buttons
|
||||
je .exit
|
||||
|
||||
call calculate_offset_X
|
||||
|
||||
; mcall 14
|
||||
mov eax,[screenxy]
|
||||
shr eax,16
|
||||
|
||||
sub eax,[offset_X]
|
||||
; check for tray enabled
|
||||
; cmp [tray_enable],dword 0
|
||||
; je @f
|
||||
|
||||
; sub eax, TRAY_SIZE
|
||||
;--------------------------------------
|
||||
;align 4
|
||||
;@@:
|
||||
; check for left minimize button enabled
|
||||
cmp [minimize_right],dword 0
|
||||
je @f
|
||||
|
||||
sub eax, MR_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [clock_enable],dword 0
|
||||
je @f
|
||||
|
||||
sub eax,CLOCK_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [cpu_usage_enable],dword 0
|
||||
je @f
|
||||
|
||||
sub eax,CPU_USAGE_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [chlang_enable],dword 0
|
||||
je @f
|
||||
|
||||
sub eax,CHLANG_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
cmp [page_list_enable],dword 0
|
||||
je @f
|
||||
|
||||
sub eax,PAGE_LIST_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov ebx, TAB_SIZE
|
||||
xor edx,edx
|
||||
div ebx
|
||||
mov [max_applications], eax
|
||||
xor edi,edi
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.nb:
|
||||
mov ebx,edi
|
||||
imul ebx,TAB_SIZE
|
||||
add ebx,[offset_X]
|
||||
shl ebx,16
|
||||
mov bx, TAB_SIZE-1
|
||||
mov edx,edi
|
||||
add edx,52
|
||||
or edx,0x60000000
|
||||
mov ecx, 1*65536
|
||||
add ecx, [height]
|
||||
sub ecx,3
|
||||
mcall 8,,,,[wcolor]
|
||||
|
||||
inc edi
|
||||
cmp edi,[max_applications]
|
||||
jb .nb
|
||||
;--------------------------------------
|
||||
align 4
|
||||
.exit:
|
||||
popa
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
calculate_offset_X:
|
||||
push eax
|
||||
xor eax,eax
|
||||
; check for left minimize button enabled
|
||||
cmp [minimize_left],dword 0
|
||||
je @f
|
||||
|
||||
add eax, ML_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
; check for menu button enabled
|
||||
cmp [menu_enable],dword 0
|
||||
je @f
|
||||
|
||||
add eax, MENU_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
; check for clean desktop button enabled
|
||||
cmp [clean_desktop_enable],dword 0
|
||||
je @f
|
||||
|
||||
add eax, CLD_SIZE
|
||||
;--------------------------------------
|
||||
align 4
|
||||
@@:
|
||||
mov [offset_X],eax
|
||||
pop eax
|
||||
ret
|
||||
;------------------------------------------------------------------------------
|
249
programs/system/panel/trunk/i_data.inc
Normal file
249
programs/system/panel/trunk/i_data.inc
Normal file
@ -0,0 +1,249 @@
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
; DATA
|
||||
stripe:
|
||||
dd -0x010101
|
||||
dd -0x010101
|
||||
dd -0x020202
|
||||
dd -0x010101
|
||||
dd -0x000000
|
||||
|
||||
dd 0x000000
|
||||
dd 0x010101
|
||||
dd 0x020202
|
||||
dd 0x010101
|
||||
dd 0x010101
|
||||
|
||||
m_icon:
|
||||
dd 0x0
|
||||
dd 0x808080
|
||||
dd 0x000000
|
||||
dd 0x000000
|
||||
dd 0xffffff
|
||||
|
||||
|
||||
lsz m_text,\
|
||||
ru, "Œ…<EFBFBD>ž",\
|
||||
en, "MENU",\
|
||||
et, "MEN--"
|
||||
|
||||
mi_text db 'WAVETETRBGRDGPL '
|
||||
|
||||
flag_text db 'EnFiGeRuFrEtUa'
|
||||
|
||||
type_lang db 0
|
||||
|
||||
;sound_flag db 0
|
||||
;button_frames dd 0x0
|
||||
|
||||
;checks dd -1
|
||||
hidetext db 0x11,0x10,0x1e
|
||||
|
||||
turn_text db '><'
|
||||
gpl db 'GPL'
|
||||
|
||||
chlang db 'LANG',0
|
||||
;syslang db 'SLAN',0
|
||||
|
||||
contrast db 0
|
||||
|
||||
running_applications dd 0x100
|
||||
max_applications dd 11
|
||||
|
||||
current_alt_tab_app dd -1
|
||||
|
||||
page_list dd 0
|
||||
draw_start_position dd 0
|
||||
draw_window_1 db 0
|
||||
|
||||
;b_size_y: dd 0x0
|
||||
ysi dd 0
|
||||
small_draw dd 0x0
|
||||
|
||||
ptime dd 0x0
|
||||
max_x dd 0x0
|
||||
text db '0123456789'
|
||||
|
||||
page_a1 db '< >'
|
||||
page_clean_but db 25,24,18
|
||||
|
||||
bte dd 0xccddee
|
||||
|
||||
wcolor dd 0x506070
|
||||
|
||||
sec db ': '
|
||||
;pros db ' '
|
||||
; db ' '
|
||||
|
||||
screenxy dd 0x0
|
||||
stcount dd 0x0
|
||||
|
||||
setup_exec:
|
||||
dd 7
|
||||
dd 0
|
||||
.cmdline dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
db '/sys/'
|
||||
file_sys db 'SETUP',0
|
||||
|
||||
exec_fileinfo:
|
||||
dd 7
|
||||
dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
dd 0
|
||||
db 0
|
||||
.name dd 0
|
||||
|
||||
end_name db '/sys/END',0
|
||||
menu_name db '/sys/@MENU',0
|
||||
run_name db '/sys/RUN',0
|
||||
calendar_name db '/sys/CALENDAR',0
|
||||
sysmeter_name db '/sys/GMON',0
|
||||
mousemul_name db '/sys/MOUSEMUL',0
|
||||
|
||||
;dat_fileinfo:
|
||||
; dd 0
|
||||
; dd 0
|
||||
; dd 0
|
||||
; dd 1024
|
||||
; dd panel_ini_data_area ;I_END
|
||||
; db '/sys/PANEL.DAT',0
|
||||
|
||||
;m_bmp_fileinfo:
|
||||
; dd 0
|
||||
; dd 0
|
||||
; dd 0
|
||||
; dd 8192
|
||||
; dd image
|
||||
; db '/sys/MENUET.BMP',0
|
||||
|
||||
;iconf_fileinfo:
|
||||
; dd 0
|
||||
; dd 0
|
||||
; dd 0
|
||||
; dd 8192
|
||||
; dd image
|
||||
; db '/sys/'
|
||||
;iconf db 'MBAR_IX.BMP',0
|
||||
|
||||
this_slot dd 0 ; Slot of this process
|
||||
max_slot dd 255
|
||||
|
||||
;--------------------------------------
|
||||
menu_button_x:
|
||||
.start dd 1234 ;0xffff
|
||||
.size dd 0x999
|
||||
;--------------------------------------
|
||||
menu_button_y:
|
||||
.start dd 0xaa
|
||||
.size dd 0xc
|
||||
;--------------------------------------
|
||||
;------------------------------------------------------------------------------
|
||||
; INI variables
|
||||
width: dd 0 ;305
|
||||
height: dd 30 ;18
|
||||
soften_height: dd 5
|
||||
button_top_offset: dd 3
|
||||
button_bottom_offset: dd 3
|
||||
;------------------------------------------------------------------------------
|
||||
; INI flags
|
||||
;buttons dd 1 ; 0 no frames ; 1 frames
|
||||
soften_up: dd 1 ; 0 no ; 1 yes
|
||||
soften_down: dd 0 ; 0 no ; 1 yes
|
||||
minimize_left: dd 1
|
||||
minimize_right: dd 1
|
||||
;icons_position dd 95 ; not used!
|
||||
menu_enable: dd 1
|
||||
;tray_enable: dd 0 ; draw cpu usage, time, date
|
||||
;graph_text dd 1 ; not used!
|
||||
;soften_middle dd 1 ; not used! ; 0 no ; 1 yes
|
||||
run_appl: dd 1 ; 0 defaults ; 1 activate
|
||||
clean_desktop_enable: dd 1
|
||||
clock_enable: dd 1
|
||||
cpu_usage_enable: dd 1
|
||||
chlang_enable: dd 1
|
||||
page_list_enable: dd 1
|
||||
place_attachment dd 1
|
||||
button_style dd 1
|
||||
;------------------------------------------------------------------------------
|
||||
; INI colors
|
||||
MenuButton_color dd 0x44aa44 ; Green
|
||||
CleanDesktopButton_color dd 0x66cc ; Blue
|
||||
Clock_color dd 0x66cc ; Blue
|
||||
CpuUsage_color dd 0x44aa44 ; Green
|
||||
CpuUsageBckgr_color dd 0xdd2222 ; Red
|
||||
ChangeLang_color dd 0x66cc ; Blue
|
||||
PageList_color dd 0xffffff ; White
|
||||
;------------------------------------------------------------------------------
|
||||
aVariables db 'Variables',0
|
||||
aPanelHeight db 'PanelHeight',0
|
||||
aPanelWidth db 'PanelWidth',0
|
||||
aSoftenHeight db 'SoftenHeight',0
|
||||
aButtonTopOffset db 'ButtonTopOffset',0
|
||||
aButtonBottomOffset db 'ButtonBottOffset',0
|
||||
;------------------------------------------------------------------------------
|
||||
aFlags db 'Flags',0
|
||||
aSoftenUp db 'SoftenUp',0
|
||||
aSoftenDown db 'SoftenDown',0
|
||||
aMinimizeLeftButton db 'MinLeftButton',0
|
||||
aMinimizeRightButton db 'MinRightButton',0
|
||||
aMenuButton db 'MenuButton',0
|
||||
aRunApplButtons db 'RunApplButtons',0
|
||||
aCleanDesktopButton db 'ClnDesktButton',0
|
||||
aClock db 'Clock',0
|
||||
aCpuUsage db 'CpuUsage',0
|
||||
aChangeLang db 'ChangeLang',0
|
||||
aPageList db 'PageList',0
|
||||
aAttachment db 'Attachment',0
|
||||
aButtonsStyle db 'ButtonsStyle',0
|
||||
;------------------------------------------------------------------------------
|
||||
aColors db 'Colors',0
|
||||
aCpuUsageBckgr db 'CpuUsageBckgr',0
|
||||
;------------------------------------------------------------------------------
|
||||
plugins_directory db 0
|
||||
|
||||
ini_file_name db 'panel.ini',0
|
||||
|
||||
system_dir_Libini db '/sys/lib/libini.obj',0
|
||||
|
||||
err_message_found_lib2 db 'libini.obj - Not found!',0
|
||||
err_message_import2 db 'libini.obj - Wrong import!',0
|
||||
|
||||
head_f_i:
|
||||
head_f_l db 'Errors of PLugins:',0
|
||||
;------------------------------------------------------------------------------
|
||||
l_libs_start:
|
||||
|
||||
library02 l_libs system_dir_Libini+9, path, library_path, system_dir_Libini, \
|
||||
err_message_found_lib2, head_f_l, Libini_import, err_message_import2, head_f_i, plugins_directory
|
||||
|
||||
end_l_libs:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
Libini_import:
|
||||
lib_init dd aLib_init
|
||||
version_lib_ini dd aVersion_lib_ini
|
||||
ini_enum_sections dd aIni_enum_sections
|
||||
ini_enum_keys dd aIni_enum_keys
|
||||
ini_get_str dd aIni_get_str
|
||||
ini_get_int dd aIni_get_int
|
||||
ini_get_color dd aIni_get_color
|
||||
ini_set_str dd aIni_set_str
|
||||
ini_set_int dd aIni_set_int
|
||||
ini_set_color dd aIni_set_color
|
||||
dd 0
|
||||
dd 0
|
||||
|
||||
aLib_init db 'lib_init',0
|
||||
aVersion_lib_ini db 'version',0
|
||||
aIni_enum_sections db 'ini_enum_sections',0
|
||||
aIni_enum_keys db 'ini_enum_keys',0
|
||||
aIni_get_str db 'ini_get_str',0
|
||||
aIni_get_int db 'ini_get_int',0
|
||||
aIni_get_color db 'ini_get_color',0
|
||||
aIni_set_str db 'ini_set_str',0
|
||||
aIni_set_int db 'ini_set_int',0
|
||||
aIni_set_color db 'ini_set_color',0
|
||||
;------------------------------------------------------------------------------
|
220
programs/system/panel/trunk/libini.inc
Normal file
220
programs/system/panel/trunk/libini.inc
Normal file
@ -0,0 +1,220 @@
|
||||
;-----------------------------------------------------------------------------
|
||||
Get_ini:
|
||||
stdcall dll.Init,[lib_init]
|
||||
|
||||
mov ebx,ini_file_name
|
||||
mov esi,path
|
||||
mov edi,library_path
|
||||
call copy_file_path
|
||||
;------------------------------------------------------------------------------
|
||||
; Get panel variables
|
||||
;------------------------------------------------------------------------------
|
||||
invoke ini_get_int,library_path,aVariables,aPanelHeight,20
|
||||
cmp eax,100
|
||||
ja @f
|
||||
|
||||
cmp eax,10
|
||||
ja .height
|
||||
@@:
|
||||
mov eax,20
|
||||
.height:
|
||||
mov [height],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aVariables,aPanelWidth,0
|
||||
cmp eax,200
|
||||
ja @f
|
||||
|
||||
mov eax,0
|
||||
@@:
|
||||
mov [width],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aVariables,aSoftenHeight,3
|
||||
cmp eax,10
|
||||
ja @f
|
||||
|
||||
cmp eax,1
|
||||
ja .soften_height
|
||||
@@:
|
||||
mov eax,3
|
||||
.soften_height:
|
||||
mov [soften_height],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aVariables,aButtonTopOffset,3
|
||||
cmp eax,10
|
||||
ja @f
|
||||
|
||||
cmp eax,1
|
||||
ja .button_top_offset
|
||||
@@:
|
||||
mov eax,3
|
||||
.button_top_offset:
|
||||
mov [button_top_offset],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aVariables,aButtonBottomOffset,3
|
||||
cmp eax,10
|
||||
ja @f
|
||||
|
||||
cmp eax,1
|
||||
ja .button_bottom_offset
|
||||
@@:
|
||||
mov eax,3
|
||||
.button_bottom_offset:
|
||||
mov [button_bottom_offset],eax
|
||||
;------------------------------------------------------------------------------
|
||||
; Get panel flags
|
||||
;------------------------------------------------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aSoftenUp,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [soften_up],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aSoftenDown,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [soften_down],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aMinimizeLeftButton,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [minimize_left],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aMinimizeRightButton,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [minimize_right],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aMenuButton,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [menu_enable],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aRunApplButtons,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [run_appl],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aCleanDesktopButton,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [clean_desktop_enable],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aClock,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [clock_enable],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aCpuUsage,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [cpu_usage_enable],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aChangeLang,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [chlang_enable],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aPageList,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [page_list_enable],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aAttachment,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [place_attachment],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_int,library_path,aFlags,aButtonsStyle,1
|
||||
cmp eax,2
|
||||
jb @f
|
||||
|
||||
mov eax,1
|
||||
@@:
|
||||
mov [button_style],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aMenuButton,0x44aa44
|
||||
mov [MenuButton_color],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aCleanDesktopButton,0x66cc
|
||||
mov [CleanDesktopButton_color],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aClock,0x66cc
|
||||
mov [Clock_color],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aCpuUsage,0x44aa44
|
||||
mov [CpuUsage_color],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aCpuUsageBckgr,0xdd2222
|
||||
mov [CpuUsageBckgr_color],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aChangeLang,0x66cc
|
||||
mov [ChangeLang_color],eax
|
||||
;--------------------------------------
|
||||
invoke ini_get_color,library_path,aColors,aPageList,0xffffff
|
||||
mov [PageList_color],eax
|
||||
;--------------------------------------
|
||||
; invoke ini_get_str,library_path,aConvertPlugins,aCP0,plugin_0_name,127,ConvertPlugins_no_key
|
||||
|
||||
ret
|
||||
;-----------------------------------------------------------------------------
|
||||
copy_file_path:
|
||||
xor eax,eax
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
mov esi,edi
|
||||
dec esi
|
||||
@@:
|
||||
std
|
||||
lodsb
|
||||
cmp al,'/'
|
||||
jnz @b
|
||||
mov edi,esi
|
||||
add edi,2
|
||||
mov esi,ebx
|
||||
@@:
|
||||
cld
|
||||
lodsb
|
||||
stosb
|
||||
test eax,eax
|
||||
jnz @b
|
||||
ret
|
||||
;-----------------------------------------------------------------------------
|
@ -1 +0,0 @@
|
||||
0000;0000;0001;0001;0001;0001;0100;0001;0001;0001;0001;0001;x
|
31
programs/system/panel/trunk/panel.ini
Normal file
31
programs/system/panel/trunk/panel.ini
Normal file
@ -0,0 +1,31 @@
|
||||
[Variables]
|
||||
PanelHeight=24
|
||||
PanelWidth=0
|
||||
SoftenHeight=5
|
||||
ButtonTopOffset=4
|
||||
ButtonBottOffset=2
|
||||
|
||||
[Flags]
|
||||
SoftenUp=1
|
||||
SoftenDown=0
|
||||
MinLeftButton=1
|
||||
MinRightButton=1
|
||||
MenuButton=1
|
||||
RunApplButtons=1
|
||||
ClnDesktButton=1
|
||||
Clock=1
|
||||
CpuUsage=1
|
||||
ChangeLang=1
|
||||
PageList=1
|
||||
Attachment=1
|
||||
ButtonsStyle=1
|
||||
|
||||
[Colors]
|
||||
MenuButton=0,100,0
|
||||
ClnDesktButton=0,128,255
|
||||
Clock=0,128,255
|
||||
CpuUsage=0,100,0
|
||||
CpuUsageBckgr=255,0,0
|
||||
ChangeLang=0,128,255
|
||||
PageList=255,255,255
|
||||
|
86
programs/system/panel/trunk/u_data.inc
Normal file
86
programs/system/panel/trunk/u_data.inc
Normal file
@ -0,0 +1,86 @@
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
last_active_window rd 1
|
||||
prev_active_window rd 1
|
||||
active_window_changed rd 1
|
||||
app_tab_count rd 1
|
||||
|
||||
alt_tab_list_size rd 1
|
||||
|
||||
panel_x_pos rd 1
|
||||
panel_y_pos rd 1
|
||||
|
||||
offset_X rd 1
|
||||
offset_x_tray rd 1
|
||||
|
||||
pos_x_clock rd 1
|
||||
pos_x_cpu_usage rd 1
|
||||
pos_x_cpu_chlang rd 1
|
||||
pos_x_page_list rd 1
|
||||
|
||||
active_slot_number rd 1
|
||||
|
||||
my_active_slot rd 1
|
||||
current_active_slot rd 1
|
||||
|
||||
screen_size:
|
||||
.height rw 1
|
||||
.width rw 1
|
||||
|
||||
draw_flag_certainly rb 1
|
||||
|
||||
start_menu_flag rb 1
|
||||
win_key_flag rb 1
|
||||
|
||||
clean_desktop_minimize rb 1
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
system_colours system_colors ; rd 10
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
app_list rd 50
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
alt_tab_list rd 256*2
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
path:
|
||||
rb 1024
|
||||
;-----------------------------------------------------------------------------
|
||||
align 4
|
||||
library_path:
|
||||
process_info_buffer:
|
||||
rb 1024
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
procinfo_for_detect:
|
||||
rb 1024
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
procinfo_window_tabs:
|
||||
rb 1024
|
||||
;-----------------------------------------------------------------------------
|
||||
align 4
|
||||
bootparam:
|
||||
rb 256
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
tictable:
|
||||
rd 256
|
||||
;------------------------------------------------------------------------------
|
||||
;align 4
|
||||
;panel_ini_data_area:
|
||||
; rb 61
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
rb 256
|
||||
detect_stack:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
rb 256
|
||||
ctx_menu_stack:
|
||||
;------------------------------------------------------------------------------
|
||||
align 4
|
||||
rb 1024
|
||||
stack_top:
|
||||
;------------------------------------------------------------------------------
|
Loading…
Reference in New Issue
Block a user