2006-01-03 10:43:31 +01:00
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
|
|
|
; ;
|
2006-06-30 14:34:18 +02:00
|
|
|
|
; MENUBAR for KolibriOS - Compile with fasm ;
|
2006-01-03 10:43:31 +01:00
|
|
|
|
; ;
|
|
|
|
|
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
; last update: 31/03/2012
|
|
|
|
|
; changed by: Marat Zakiyanov aka Mario79, aka Mario
|
|
|
|
|
; changes: The program uses only 20 Kb memory is now.
|
|
|
|
|
; Code optimizing and refactoring.
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
use32
|
|
|
|
|
org 0x0
|
|
|
|
|
db 'MENUET01' ; 8 byte id
|
|
|
|
|
dd 0x01 ; header version
|
|
|
|
|
dd START ; program start
|
|
|
|
|
dd IM_END ;I_END ; program image size
|
|
|
|
|
dd I_END ;0xA000 ; reguired amount of memory - 10 Kb
|
|
|
|
|
dd stack_top ;0xA000 ; esp
|
|
|
|
|
dd 0x0 ; boot parameters
|
|
|
|
|
dd 0x0 ; path
|
|
|
|
|
;------------------------------------------------------------------------------
|
2006-01-03 10:43:31 +01:00
|
|
|
|
include 'lang.inc'
|
2008-10-04 20:57:34 +02:00
|
|
|
|
include '..\..\..\macros.inc'
|
2012-03-31 18:34:52 +02:00
|
|
|
|
include 'MOI.INC' ;<3B><>᪫<EFBFBD><E1AAAB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2011-05-02 08:19:00 +02:00
|
|
|
|
caps_lock_check fix 0
|
|
|
|
|
|
2010-03-21 22:47:17 +01:00
|
|
|
|
time_bgr_color = 0x66cc
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
width dd 305
|
|
|
|
|
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
|
2007-09-20 18:35:52 +02:00
|
|
|
|
icons_position dd 95
|
2007-08-02 21:03:24 +02:00
|
|
|
|
menu_enable dd 1
|
|
|
|
|
setup_enable dd 0
|
|
|
|
|
graph_text dd 1
|
|
|
|
|
soften_middle dd 1 ; 0 no ; 1 yes
|
|
|
|
|
icons dd 1 ; 0 defaults ; 1 activate
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2006-02-01 08:17:11 +01:00
|
|
|
|
PANEL_HEIGHT = 18
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-06-30 14:34:18 +02:00
|
|
|
|
handle_key:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 18, 7
|
|
|
|
|
mov [active_process],eax
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 2
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp al, 2
|
|
|
|
|
jnz begin_1.ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ebx, exec_fileinfo
|
|
|
|
|
shr eax, 8
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 0
|
|
|
|
|
je prod
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
mov [key_r],al
|
|
|
|
|
sub [key_r],2
|
|
|
|
|
cmp al, 2
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 3
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 4
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 5
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 6
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 7
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp al, 8
|
|
|
|
|
jz alter
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2008-09-30 20:03:55 +02:00
|
|
|
|
prod:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
if caps_lock_check
|
|
|
|
|
cmp al,58
|
|
|
|
|
jne @f
|
|
|
|
|
|
|
|
|
|
pusha
|
|
|
|
|
mcall 26,2,9
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
mov eax,2
|
|
|
|
|
call draw_window ;;;???
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
@@:
|
|
|
|
|
end if
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp al, 15
|
|
|
|
|
jz alt_tab_pressed
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp al, 88
|
|
|
|
|
jz start_end_application
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp al, 91
|
|
|
|
|
jz start_menu_application
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp al, 92
|
|
|
|
|
jz start_menu_application
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp al, 62
|
|
|
|
|
jz kill_active_application
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2010-02-20 23:24:12 +01:00
|
|
|
|
; cmp al, 71
|
|
|
|
|
; jz page_list_next
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2010-02-20 23:24:12 +01:00
|
|
|
|
; cmp al, 72
|
|
|
|
|
; jz page_list_prev
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2010-02-20 23:24:12 +01:00
|
|
|
|
cmp al, 69
|
|
|
|
|
jz start_mousemul_application
|
2011-05-02 08:19:00 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [current_alt_tab_app], -1
|
|
|
|
|
jz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
test ah, 0x30
|
|
|
|
|
jz alt_tab_released
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2007-01-31 16:36:12 +01:00
|
|
|
|
; this is hotkey Ctrl+Shift ;or LShift+RShift
|
2012-03-31 18:34:52 +02:00
|
|
|
|
jmp karu
|
|
|
|
|
; mov ebx, setup_exec
|
|
|
|
|
; test ah, 001100b
|
|
|
|
|
; jz change_sys_lang
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-01-31 16:36:12 +01:00
|
|
|
|
change_key_lang:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov dword [ebx+8], chlang
|
|
|
|
|
mcall 70
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
begin_1:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx,[active_process]
|
|
|
|
|
mcall 18, 3
|
|
|
|
|
mcall 5, 25
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2006-06-30 14:34:18 +02:00
|
|
|
|
.ret:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
;align 4
|
2007-01-31 16:36:12 +01:00
|
|
|
|
;change_sys_lang:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; mov dword [ebx+8], syslang
|
2007-01-31 16:36:12 +01:00
|
|
|
|
; mcall 70
|
|
|
|
|
; jmp begin_1
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
start_end_application:
|
|
|
|
|
mov dword [ebx+21],end_name
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mcall 70
|
2010-02-20 23:24:12 +01:00
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
start_mousemul_application:
|
|
|
|
|
mov dword [ebx+21],mousemul_name
|
2010-02-20 23:24:12 +01:00
|
|
|
|
mcall 70
|
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
kill_active_application:
|
|
|
|
|
mcall 72,1,3,1
|
|
|
|
|
jmp begin_1.ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
start_menu_application:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov [draw_window_1], 1
|
|
|
|
|
mov dword [ebx+21], menu_name
|
|
|
|
|
mcall 70
|
2012-03-31 18:34:52 +02:00
|
|
|
|
jmp begin_1.ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
;align 4
|
2010-02-20 23:24:12 +01:00
|
|
|
|
;page_list_next:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; cmp [page_list],15
|
|
|
|
|
; je @f
|
2010-02-20 23:24:12 +01:00
|
|
|
|
;
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; inc [page_list]
|
|
|
|
|
; mov [draw_window_1],1
|
|
|
|
|
;@@:
|
|
|
|
|
; jmp begin_1.ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
;align 4
|
2010-02-20 23:24:12 +01:00
|
|
|
|
;page_list_prev:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; cmp [page_list],0
|
|
|
|
|
; je @f
|
|
|
|
|
;
|
|
|
|
|
; dec [page_list]
|
|
|
|
|
; mov [draw_window_1],1
|
|
|
|
|
;@@:
|
|
|
|
|
; jmp begin_1.ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
alt_tab_pressed:
|
|
|
|
|
; handle Alt+Tab and Alt+Shift+Tab
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ebp, eax
|
|
|
|
|
cmp [current_alt_tab_app], -1
|
|
|
|
|
jnz has_alt_tab_app
|
2007-03-30 15:19:32 +02:00
|
|
|
|
; <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>塞 ⠡<><E2A0A1><EFBFBD><EFBFBD> <20>ਫ<EFBFBD><E0A8AB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><>४<EFBFBD><E0A5AA>祭<EFBFBD><E7A5AD>
|
2007-08-02 21:03:24 +02:00
|
|
|
|
xor edx, edx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx, procinfo_window_tabs ;0x8000 ; WTF???!!!
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ecx, 1
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.fill:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
inc ecx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9
|
2007-08-02 21:03:24 +02:00
|
|
|
|
call need_window_tab
|
|
|
|
|
jz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp edx, 256
|
|
|
|
|
jz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov [alt_tab_list+edx*8], ecx
|
|
|
|
|
movzx esi, word [ebx+4]
|
|
|
|
|
mov [alt_tab_list+edx*8+4], esi
|
|
|
|
|
inc edx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ecx,eax
|
2007-08-02 21:03:24 +02:00
|
|
|
|
jb .fill
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov [alt_tab_list_size], edx
|
|
|
|
|
test edx, edx
|
|
|
|
|
jz begin_1.ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mcall 66,4,0,0 ; <20><><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD>᪠<EFBFBD><E1AAA0><EFBFBD> <20><><EFBFBD><EFBFBD> <20><>ࠢ<EFBFBD><E0A0A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
test eax, eax
|
|
|
|
|
jnz begin_1.ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
xor edx, edx
|
|
|
|
|
mov eax, [alt_tab_list+4]
|
|
|
|
|
xor ecx, ecx
|
|
|
|
|
inc ecx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.findmax:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [alt_tab_list+ecx*8+4], eax
|
|
|
|
|
jb @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov edx, ecx
|
|
|
|
|
mov eax, [alt_tab_list+ecx*8+4]
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
inc ecx
|
|
|
|
|
cmp ecx, [alt_tab_list_size]
|
|
|
|
|
jb .findmax
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov [current_alt_tab_app], edx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
has_alt_tab_app:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov eax, [current_alt_tab_app]
|
|
|
|
|
mov edx, [alt_tab_list+eax*8+4] ; slot
|
|
|
|
|
xor ecx, ecx
|
|
|
|
|
or eax, -1
|
|
|
|
|
test ebp, 300h
|
|
|
|
|
jz .notshift
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
or esi, -1
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.loop1:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [alt_tab_list+ecx*8+4], edx
|
|
|
|
|
jbe @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [alt_tab_list+ecx*8+4], esi
|
|
|
|
|
jae @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov eax, ecx
|
|
|
|
|
mov esi, [alt_tab_list+ecx*8+4]
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
inc ecx
|
|
|
|
|
cmp ecx, [alt_tab_list_size]
|
|
|
|
|
jb .loop1
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp eax, -1
|
|
|
|
|
jnz .found
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
xor edx, edx
|
|
|
|
|
xor ecx, ecx
|
|
|
|
|
jmp .loop1
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.notshift:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
xor esi, esi
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.loop2:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [alt_tab_list+ecx*8+4], edx
|
|
|
|
|
jae @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [alt_tab_list+ecx*8+4], esi
|
|
|
|
|
jbe @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov eax, ecx
|
|
|
|
|
mov esi, [alt_tab_list+ecx*8+4]
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
inc ecx
|
|
|
|
|
cmp ecx, [alt_tab_list_size]
|
|
|
|
|
jb .loop2
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp eax, -1
|
|
|
|
|
jnz .found
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
or edx, -1
|
|
|
|
|
xor ecx, ecx
|
|
|
|
|
jmp .loop2
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.found:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov [current_alt_tab_app], eax
|
|
|
|
|
push eax
|
|
|
|
|
xor edx, edx
|
|
|
|
|
div [max_applications]
|
|
|
|
|
mov [page_list], eax
|
|
|
|
|
mov [draw_window_1], 1
|
|
|
|
|
mov edi, app_list
|
|
|
|
|
push edi
|
|
|
|
|
mov ecx, 20
|
|
|
|
|
or eax, -1
|
|
|
|
|
rep stosd
|
|
|
|
|
pop edi
|
|
|
|
|
pop ecx
|
|
|
|
|
sub ecx, edx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp ecx, [alt_tab_list_size]
|
|
|
|
|
jae redraw_window_tabs
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov eax, [alt_tab_list+ecx*8]
|
|
|
|
|
stosd
|
|
|
|
|
inc ecx
|
|
|
|
|
jmp @b
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
alt_tab_released:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mcall 66,5,0,0 ; 㦥 <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>, 墠<><E5A2A0><EFBFBD> :)
|
|
|
|
|
or eax, -1
|
|
|
|
|
xchg eax, [current_alt_tab_app]
|
|
|
|
|
mov ecx, [alt_tab_list+eax*8]
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 18,3
|
2007-08-02 21:03:24 +02:00
|
|
|
|
jmp redraw_window_tabs
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-08-02 21:03:24 +02:00
|
|
|
|
active_process dd 0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
; .exit: mcall -1
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
START:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 66,4,0,2 ; LShift+RShift
|
|
|
|
|
mcall 66,,,11h ; Ctrl+Shift
|
|
|
|
|
mcall 66,,88,110h ; Alt+Ctrl+F12
|
|
|
|
|
mcall 66,,91,0h ; LWin
|
|
|
|
|
mcall 66,,92 ; RWin
|
|
|
|
|
; mcall 66,,91,100h ; Alt+LWin
|
|
|
|
|
; mcall 66,,92 ; Alt+RWin
|
|
|
|
|
mcall 66,,62,100h ; Alt+F4
|
|
|
|
|
; mcall 66,,71 ; Alt+Home
|
|
|
|
|
; mcall 66,,72 ; Alt+Up
|
|
|
|
|
mcall 66,,15 ; Alt+Tab
|
|
|
|
|
mcall 66,,2 ; Alt+1
|
|
|
|
|
mcall 66,,3 ; Alt+2
|
|
|
|
|
mcall 66,,4 ; Alt+3
|
|
|
|
|
mcall 66,,5 ; Alt+4
|
|
|
|
|
mcall 66,,6 ; Alt+5
|
|
|
|
|
mcall 66,,7 ; Alt+6
|
|
|
|
|
mcall 66,,8 ; Alt+7
|
|
|
|
|
mcall 66,,,101h ; Alt+Shift+Tab
|
|
|
|
|
mcall 66,,69 ; Alt+Shift+NumLock
|
|
|
|
|
|
|
|
|
|
if caps_lock_check
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mcall 66,4,58
|
|
|
|
|
end if
|
|
|
|
|
mcall 18,8,1
|
|
|
|
|
test eax,eax
|
|
|
|
|
jne @f
|
|
|
|
|
mcall 18,8,2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
mcall 70,dat_fileinfo
|
|
|
|
|
|
|
|
|
|
mov edi,width
|
|
|
|
|
mov esi,I_END
|
|
|
|
|
xor eax,eax
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
new_number:
|
|
|
|
|
cmp [esi],byte ';'
|
|
|
|
|
je number_ready
|
|
|
|
|
|
|
|
|
|
imul eax,10
|
|
|
|
|
movzx ebx,byte [esi]
|
|
|
|
|
sub ebx,'0'
|
|
|
|
|
add eax,ebx
|
|
|
|
|
inc esi
|
|
|
|
|
jmp new_number
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
number_ready:
|
|
|
|
|
stosd
|
|
|
|
|
xor eax,eax
|
|
|
|
|
inc esi
|
|
|
|
|
cmp [esi],byte 'x'
|
|
|
|
|
jne new_number
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mcall 14
|
|
|
|
|
mov [screen_size],eax
|
2006-03-04 12:44:33 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ecx,eax
|
2008-09-30 20:03:55 +02:00
|
|
|
|
;eax = [xsize]*65536 + [ysize], <20><><EFBFBD>
|
2012-03-31 18:34:52 +02:00
|
|
|
|
shr ecx,16
|
|
|
|
|
and eax,0xFFFF
|
2008-09-30 20:03:55 +02:00
|
|
|
|
lea edx,[eax-PANEL_HEIGHT-1]
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mcall 48,6
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9,process_info_buffer,-1
|
|
|
|
|
mov ecx,[process_info_buffer+30]
|
|
|
|
|
mcall 18,21
|
|
|
|
|
mov [this_slot],eax
|
|
|
|
|
mov [max_slot],255
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
call set_variables
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
start_after_minimize:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
call draw_window
|
|
|
|
|
call draw_info
|
|
|
|
|
call draw_running_applications
|
|
|
|
|
|
|
|
|
|
mcall 23,30
|
|
|
|
|
call load_ini
|
|
|
|
|
call fir_lng
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
still:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
call draw_info
|
|
|
|
|
call draw_running_applications
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 18,7 ; check if active window changed
|
2008-09-30 20:03:55 +02:00
|
|
|
|
cmp eax, [last_active_window]
|
|
|
|
|
jz @f
|
|
|
|
|
; need_window_tab:
|
|
|
|
|
; in: ebx->process info
|
|
|
|
|
; out: ZF set <=> do not draw
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx,[last_active_window]
|
2008-09-30 20:03:55 +02:00
|
|
|
|
mov [prev_active_window], ebx
|
|
|
|
|
mov [last_active_window], eax
|
|
|
|
|
|
|
|
|
|
mov ecx, eax
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9,process_info_buffer
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
|
|
|
|
call need_window_tab
|
|
|
|
|
jnz .need_repaint
|
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9,process_info_buffer,[prev_active_window]
|
2008-09-30 20:03:55 +02:00
|
|
|
|
call need_window_tab
|
|
|
|
|
jz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2008-09-30 20:03:55 +02:00
|
|
|
|
.need_repaint:
|
|
|
|
|
mov dword [active_window_changed], 1
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2008-09-30 20:03:55 +02:00
|
|
|
|
@@:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 23,20
|
|
|
|
|
cmp eax,1 ; redraw ?
|
|
|
|
|
jz red
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp eax,3 ; button ?
|
|
|
|
|
jz button
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
call handle_key
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp dword [active_window_changed], 0
|
|
|
|
|
jnz red_active
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
jmp still
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
red_active:
|
|
|
|
|
red:
|
2008-09-30 20:03:55 +02:00
|
|
|
|
mov dword [active_window_changed], 0
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mcall 14
|
|
|
|
|
movzx ecx,ax
|
|
|
|
|
mov edx,eax
|
|
|
|
|
shr edx,16
|
|
|
|
|
cmp [screen_size.height],ax
|
|
|
|
|
jne @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
rol eax,16
|
|
|
|
|
cmp [screen_size.width],ax
|
|
|
|
|
je .lp1
|
|
|
|
|
rol eax,16
|
2012-03-31 18:34:52 +02:00
|
|
|
|
@@:
|
|
|
|
|
mov [screen_size],eax
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sub ecx,PANEL_HEIGHT
|
|
|
|
|
mcall 67,0,,,PANEL_HEIGHT
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
.lp1:
|
|
|
|
|
call draw_window
|
|
|
|
|
call draw_info
|
|
|
|
|
jmp still
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
button:
|
|
|
|
|
mcall 17
|
|
|
|
|
test eax,0xfffffe00 ; is it close button? (signal from @panel)
|
|
|
|
|
jz still ; if so - wait for another event, because @panel shouldn't be closed
|
2006-03-04 12:44:33 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp al, 0
|
|
|
|
|
jnz right_mouse
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ah,50
|
|
|
|
|
jb no_activate
|
|
|
|
|
cmp ah,70
|
|
|
|
|
jg no_activate
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
movzx ecx,byte ah
|
|
|
|
|
sub ecx,52
|
|
|
|
|
shl ecx,2
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx,[app_list+ecx]
|
|
|
|
|
mcall 18,3,
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; mcall 55,eax,,,activatemusic
|
|
|
|
|
jmp still
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
right_mouse:
|
|
|
|
|
cmp ah,50
|
|
|
|
|
jb still
|
|
|
|
|
|
|
|
|
|
cmp ah,70
|
|
|
|
|
jg still
|
|
|
|
|
|
|
|
|
|
movzx ecx,byte ah
|
|
|
|
|
sub ecx,52
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ecx, [app_tab_count]
|
|
|
|
|
jge still
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
shl ecx,2
|
|
|
|
|
mcall 37,0
|
|
|
|
|
mov ebx, eax
|
|
|
|
|
shr eax, 16
|
|
|
|
|
mov [x_coord], ax
|
|
|
|
|
and ebx, 0xFFFF
|
|
|
|
|
mov [y_coord], bx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx,[app_list+ecx] ; ecx->selected app.slot
|
|
|
|
|
mov [n_slot], ecx
|
|
|
|
|
mcall 9,procinfo_for_detect
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 51,1,context_menu_start,ctx_menu_stack
|
|
|
|
|
|
|
|
|
|
mov [ctx_menu_PID], eax
|
|
|
|
|
jmp still
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_activate:
|
|
|
|
|
cmp ah,101 ; minimize to left
|
|
|
|
|
je left_button
|
2007-09-20 18:35:52 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ah,102 ; minimize to right
|
|
|
|
|
je right_button
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ah, 103
|
|
|
|
|
je clean_desktop ; minimize all windows
|
|
|
|
|
|
|
|
|
|
cmp ah, 104
|
|
|
|
|
je restore_desktop ; restore minimized windows
|
|
|
|
|
|
|
|
|
|
cmp ah, 105
|
|
|
|
|
je swap_minimized_desktop ; minimize normal windows, and restore minimized windows
|
|
|
|
|
|
|
|
|
|
cmp ah,byte 1 ; start/terminate menu
|
|
|
|
|
jnz noselect
|
|
|
|
|
|
|
|
|
|
call menu_handler
|
|
|
|
|
|
|
|
|
|
jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noselect:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ebx, exec_fileinfo
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ah,byte 2 ; start calendar
|
|
|
|
|
jnz noid15 ;noclock
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov dword [ebx+21], calendar_name
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 70
|
|
|
|
|
jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noid15:
|
|
|
|
|
cmp ah,16
|
|
|
|
|
jne noid16
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ebx, setup_exec
|
|
|
|
|
mov dword [ebx+8], chlang
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 70
|
|
|
|
|
jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noid16:
|
|
|
|
|
; cmp ah,17
|
|
|
|
|
; jne noid17
|
2007-01-31 16:36:12 +01:00
|
|
|
|
;
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; mov ebx, setup_exec
|
|
|
|
|
; mov dword [ebx+8], syslang
|
|
|
|
|
; mcall 70
|
|
|
|
|
; jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
2007-01-31 16:36:12 +01:00
|
|
|
|
; noid17:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ah,18
|
|
|
|
|
jne noid18
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov dword [ebx+21], sysmeter_name
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 70
|
|
|
|
|
jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noid18:
|
|
|
|
|
cmp ah,19
|
|
|
|
|
jne noid19
|
|
|
|
|
|
|
|
|
|
mcall 18,8,2
|
|
|
|
|
mcall 15,3
|
|
|
|
|
jmp red
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noid19:
|
|
|
|
|
cmp ah,20 ; start system setup
|
|
|
|
|
jnz noid20
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ebx, setup_exec
|
|
|
|
|
and dword [ebx+8], 0
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 70
|
|
|
|
|
jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noid20:
|
|
|
|
|
cmp ah,21
|
|
|
|
|
jnz noid21
|
|
|
|
|
|
|
|
|
|
cmp [page_list], 99
|
|
|
|
|
jnc still
|
|
|
|
|
inc [page_list]
|
|
|
|
|
jmp red
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noid21:
|
|
|
|
|
cmp ah,22
|
|
|
|
|
jnz still
|
|
|
|
|
|
|
|
|
|
cmp [page_list],0
|
|
|
|
|
je still
|
|
|
|
|
|
|
|
|
|
dec [page_list]
|
|
|
|
|
jmp red
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-09-20 18:35:52 +02:00
|
|
|
|
restore_desktop:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9,process_info_buffer,-1
|
|
|
|
|
mov [max_slot], eax
|
|
|
|
|
mov ecx, 2
|
|
|
|
|
mov edx, 2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-09-20 18:35:52 +02:00
|
|
|
|
@@:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 18, 22
|
|
|
|
|
inc edx
|
|
|
|
|
cmp edx, [max_slot]
|
|
|
|
|
jbe @b
|
|
|
|
|
jmp still
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-09-20 18:35:52 +02:00
|
|
|
|
swap_minimized_desktop:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
xor esi, esi
|
|
|
|
|
inc esi
|
|
|
|
|
jmp min_swap_desktop
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-09-20 18:35:52 +02:00
|
|
|
|
clean_desktop:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
xor esi,esi
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
min_swap_desktop: ; input esi 0 - min, <>0 swap
|
|
|
|
|
mov ecx, 2 ; <20><>砫<EFBFBD><E7A0AB><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD> <><E1ABAE> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
|
|
|
mov ebx, process_info_buffer
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-09-20 18:35:52 +02:00
|
|
|
|
.loop1:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp ecx, [this_slot]
|
|
|
|
|
je .loop1xx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9
|
|
|
|
|
mov [max_slot], eax
|
|
|
|
|
mov dx, word [process_info_buffer+50]
|
|
|
|
|
cmp dx, 9 ; <20><EFBFBD>ઠ <><E1A2AE><EFBFBD><EFBFBD><EFBFBD> <20><> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <>
|
|
|
|
|
jz .loop1xx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edx, dword [ebx+10]
|
|
|
|
|
cmp dl, '@'
|
|
|
|
|
je .loop1xx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp dword [ebx+10], 'ICON'
|
|
|
|
|
jnz @f
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp [ebx+42], dword 51
|
|
|
|
|
jnz @f
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp [ebx+46], dword 51
|
|
|
|
|
jz .loop1xx
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
cmp [ebx+10], dword ' '
|
|
|
|
|
jz .loop1xx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pushad
|
|
|
|
|
mov edx, ecx
|
|
|
|
|
xor ecx, ecx
|
|
|
|
|
or esi, esi
|
|
|
|
|
jz @f
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
movzx eax, byte [process_info_buffer+70]
|
|
|
|
|
and eax, 2 ; mask minimize
|
|
|
|
|
jz @f
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx, 2 ; restore
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
mcall 18, 22
|
|
|
|
|
popad
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
.loop1xx:
|
|
|
|
|
inc ecx
|
|
|
|
|
cmp ecx, [max_slot]
|
|
|
|
|
jbe .loop1
|
|
|
|
|
jmp still
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
draw_running_applications:
|
|
|
|
|
pusha
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp [icons],1
|
|
|
|
|
jne dr_ret
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
call calculate_applications
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp edi,[running_applications]
|
|
|
|
|
jne noret
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noret:
|
|
|
|
|
call draw_window
|
|
|
|
|
mov [running_applications],edi
|
|
|
|
|
call redraw_window_tabs
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
dr_ret:
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
need_window_tab:
|
|
|
|
|
; in: ebx->process info
|
|
|
|
|
; out: ZF set <=> do not draw
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp byte [ebx+10], '@'
|
|
|
|
|
jz .nodraw
|
2007-03-30 15:19:32 +02:00
|
|
|
|
; do not draw undefined (zero-sized) windows
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp dword [ebx+42], 0
|
|
|
|
|
jnz @f
|
|
|
|
|
cmp dword [ebx+46], 0
|
|
|
|
|
jz .nodraw
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2010-10-12 14:28:40 +02:00
|
|
|
|
; do not draw OpenDialog windows
|
2012-03-31 18:34:52 +02:00
|
|
|
|
push edi
|
|
|
|
|
mov edi, dword [ebx+10]
|
|
|
|
|
or edi, 0x20202020
|
|
|
|
|
cmp edi, 'open'
|
2010-10-12 14:28:40 +02:00
|
|
|
|
jne @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
|
|
|
|
mov edi, dword [ebx+14]
|
|
|
|
|
or edi, 0x20202020
|
|
|
|
|
cmp dword [ebx+14], 'dial'
|
2010-10-12 14:28:40 +02:00
|
|
|
|
jne @f
|
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pop edi
|
|
|
|
|
jmp .nodraw
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2010-10-12 14:28:40 +02:00
|
|
|
|
@@:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pop edi
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp dword [ebx+10], 'ICON'
|
|
|
|
|
jnz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [ebx+42], dword 51
|
|
|
|
|
jnz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [ebx+46], dword 51
|
|
|
|
|
jz .nodraw
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
cmp [ebx+10], dword ' '
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.nodraw:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
redraw_window_tabs:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
xor edi, edi
|
|
|
|
|
mov [contrast], 0
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
push ebp
|
|
|
|
|
mcall 18,7
|
|
|
|
|
mov ebp,eax
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.loop:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx,[app_list+edi*4]
|
|
|
|
|
cmp ecx,-1
|
2007-08-02 21:03:24 +02:00
|
|
|
|
jz .done
|
|
|
|
|
|
|
|
|
|
push ecx
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 9,procinfo_window_tabs ;0x8000 ; WTF???!!!
|
2007-08-02 21:03:24 +02:00
|
|
|
|
|
|
|
|
|
imul ebx, edi, 6*10*10000h
|
2007-09-20 18:35:52 +02:00
|
|
|
|
add ebx, 12*10*10000h + 7*10000h + 54
|
2008-09-30 20:03:55 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 13,,<3,14>,0x383838
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sub ebx, 10000h + 53
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<4,12>
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sub ebx, 10000h
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<5,10>
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
add ebx, 56*10000h
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<4,12>
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
add ebx, 10000h
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<5,10>
|
2007-08-02 21:03:24 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
mov edx, [wcolor] ; barsuk
|
2010-02-20 23:24:12 +01:00
|
|
|
|
pop ecx
|
|
|
|
|
cmp ebp, ecx ; ecx=active slot number
|
2007-08-02 21:03:24 +02:00
|
|
|
|
jnz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2008-09-30 20:03:55 +02:00
|
|
|
|
mov edx, [system_colours.work_button]
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
@@:
|
2010-02-20 23:24:12 +01:00
|
|
|
|
mov esi, [current_alt_tab_app]
|
|
|
|
|
cmp esi, -1
|
|
|
|
|
jz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2010-02-20 23:24:12 +01:00
|
|
|
|
cmp ecx, [alt_tab_list+esi*8]
|
|
|
|
|
jnz @f
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2010-02-20 23:24:12 +01:00
|
|
|
|
mov edx, 0xFF8000
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2010-02-20 23:24:12 +01:00
|
|
|
|
@@:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sub ebx, 55*10000h - 53
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<4,12>
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sub ebx, 10000h + 53
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<5,10>
|
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
add ebx, 55*10000h
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall
|
2007-08-02 21:03:24 +02:00
|
|
|
|
|
|
|
|
|
sub ebx, 51*10000h - 6
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edx, procinfo_window_tabs+10 ;0x8000+10 ; WTF???!!!
|
|
|
|
|
mcall 4,,[system_colours.work_button_text],,11
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2008-09-30 20:03:55 +02:00
|
|
|
|
.nodraw:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
inc edi
|
|
|
|
|
cmp edi, [max_applications]
|
|
|
|
|
jb .loop
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2007-03-30 15:19:32 +02:00
|
|
|
|
.done:
|
2008-09-30 20:03:55 +02:00
|
|
|
|
pop ebp
|
2007-08-02 21:03:24 +02:00
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
calculate_applications:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov eax,[max_applications]
|
|
|
|
|
mul [page_list]
|
|
|
|
|
test eax,eax
|
|
|
|
|
je @f
|
|
|
|
|
|
|
|
|
|
inc eax
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
mov [draw_start_position],eax
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edi,app_list
|
|
|
|
|
mov ecx,20
|
|
|
|
|
mov eax,-1
|
|
|
|
|
cld
|
|
|
|
|
rep stosd
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edi,0
|
|
|
|
|
mov ecx,2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
cnewpr:
|
|
|
|
|
mcall 9,procinfo_window_tabs ;0x8000 ; WTF???!!!
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
call need_window_tab
|
|
|
|
|
jz cnorpl
|
2012-03-31 18:34:52 +02:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sub [draw_start_position], 1
|
|
|
|
|
jg cnorpl
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [app_list+edi*4],ecx
|
|
|
|
|
inc edi
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
cnorpl:
|
|
|
|
|
inc ecx
|
|
|
|
|
cmp eax,ecx
|
|
|
|
|
jge cnewpr
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [app_tab_count], edi
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
draw_application_buttons:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp [icons],1
|
|
|
|
|
jne da_ret
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 14
|
|
|
|
|
shr eax,16
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub eax, 281
|
|
|
|
|
jnc ._01
|
|
|
|
|
xor eax, eax
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
._01:
|
|
|
|
|
mov bl, 60
|
|
|
|
|
div bl
|
|
|
|
|
xor ah, ah ; eax - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>⢮ 㬥<><E3ACA5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>⮢
|
|
|
|
|
mov [max_applications], eax
|
|
|
|
|
mov edi,1
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
nb:
|
|
|
|
|
mov ebx,edi
|
|
|
|
|
shl ebx,16
|
|
|
|
|
imul ebx,6*10 ;13
|
|
|
|
|
add ebx,75*65536+10*6-1 ; << Alver 25.08.2007 >> 15*65536+10*6-1 ;13
|
|
|
|
|
mov edx,edi
|
|
|
|
|
add edx,51
|
|
|
|
|
cmp [buttons],1
|
|
|
|
|
je bufr
|
|
|
|
|
|
|
|
|
|
or edx,0x60000000
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
bufr:
|
|
|
|
|
mov esi,[wcolor]
|
|
|
|
|
sub ebx,11 shl 16
|
|
|
|
|
mcall 8,,<1,17>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
inc edi
|
|
|
|
|
cmp edi,[max_applications]
|
|
|
|
|
jbe nb
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
da_ret:
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
menu_handler:
|
2007-08-02 21:03:24 +02:00
|
|
|
|
mov ebx, exec_fileinfo
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [ebx+21],dword menu_name
|
|
|
|
|
mcall 70
|
2007-08-02 21:03:24 +02:00
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
draw_small_right:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
|
|
|
|
mcall 12,1
|
|
|
|
|
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov edx,[wcolor]
|
|
|
|
|
mov esi,edx
|
|
|
|
|
mov edi,edx
|
|
|
|
|
or edx, 0x01000000
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
xor ecx,ecx
|
|
|
|
|
mov cx,[b_size_y]
|
|
|
|
|
mcall 8,<0,9>,,1,[wcolor]
|
|
|
|
|
|
|
|
|
|
mov ebx,2*65536+16
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne nos3
|
|
|
|
|
|
|
|
|
|
mov ebx,2*65536+7
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
nos3:
|
|
|
|
|
mov ecx,[wcolor]
|
|
|
|
|
add ecx,0x303030
|
|
|
|
|
mcall 4,,,hidetext,1
|
|
|
|
|
|
|
|
|
|
mcall 12,2
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
draw_small_left:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
|
|
|
|
mcall 12,1
|
|
|
|
|
|
|
|
|
|
xor eax,eax
|
|
|
|
|
mov edx,[wcolor]
|
|
|
|
|
mov esi,edx
|
|
|
|
|
mov edi,edx
|
|
|
|
|
or edx, 0x01000000
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
je nos4
|
|
|
|
|
|
|
|
|
|
mcall 8,<0,9>,<0,12>,2,[wcolor]
|
|
|
|
|
|
|
|
|
|
mov ecx,[wcolor]
|
|
|
|
|
add ecx,0x303030
|
|
|
|
|
mcall 4,<2,4>,,hidetext+2,1
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
nos4:
|
|
|
|
|
mov ecx,13*65536+25
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne nos6
|
|
|
|
|
|
|
|
|
|
xor ecx,ecx
|
|
|
|
|
mov cx,word [b_size_y]
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
nos6:
|
|
|
|
|
mcall 8,<0,9>,,1,[wcolor]
|
|
|
|
|
|
|
|
|
|
mov ebx,3*65536+22
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne nos7
|
|
|
|
|
|
|
|
|
|
mov ebx,3*65536+7
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
nos7:
|
|
|
|
|
mov ecx,[wcolor]
|
|
|
|
|
add ecx,0x303030
|
|
|
|
|
mcall 4,,,hidetext+1,1
|
|
|
|
|
|
|
|
|
|
mcall 12,2
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
right_button:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [small_draw],dword draw_small_right
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 14
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
shr eax, 16
|
|
|
|
|
mov ebx, eax
|
|
|
|
|
mov ecx, -1
|
|
|
|
|
mov edx, 9
|
|
|
|
|
sub ebx, edx
|
|
|
|
|
mov esi, -1
|
|
|
|
|
mcall 67
|
|
|
|
|
|
|
|
|
|
call draw_small_right
|
|
|
|
|
jmp small_wait
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
left_button:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [small_draw],dword draw_small_left
|
|
|
|
|
|
|
|
|
|
xor ebx,ebx
|
|
|
|
|
mcall 67,,-1,9,-1
|
|
|
|
|
|
|
|
|
|
call draw_small_left
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
small_wait:
|
|
|
|
|
mcall 10
|
|
|
|
|
cmp eax,1
|
|
|
|
|
jne no_win
|
|
|
|
|
|
|
|
|
|
call [small_draw]
|
|
|
|
|
jmp small_wait
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_win:
|
|
|
|
|
cmp eax,2
|
|
|
|
|
jne no_key
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
call handle_key
|
|
|
|
|
jmp small_wait
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2006-06-30 14:34:18 +02:00
|
|
|
|
no_key:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 17
|
|
|
|
|
cmp ah,1
|
|
|
|
|
jne no_full
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 14 ; get screen max x & max y
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edx, eax
|
|
|
|
|
shr edx, 16
|
|
|
|
|
xor ebx, ebx
|
|
|
|
|
mcall 67,,-1,,-1 ; x0 y0 xs ys
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
jmp still
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_full:
|
|
|
|
|
call menu_handler
|
|
|
|
|
jmp small_wait
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
set_variables:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
|
|
|
|
mov [b_size_y],dword 38
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne noy2
|
|
|
|
|
|
|
|
|
|
mov [b_size_y],dword 18
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
noy2:
|
|
|
|
|
mov [button_frames],0x0
|
|
|
|
|
cmp [buttons],0
|
|
|
|
|
jne no_frames
|
|
|
|
|
|
|
|
|
|
mov [button_frames],0x40000000
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_frames:
|
|
|
|
|
mcall 48,1,1 ; 3d button look
|
|
|
|
|
|
|
|
|
|
mov eax,0x40404040 ; dividers for processes
|
|
|
|
|
mov edi,pros
|
|
|
|
|
mov ecx,10
|
|
|
|
|
cld
|
|
|
|
|
rep stosd
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
; eax = number (1 or 2)
|
|
|
|
|
; ebx = language id
|
|
|
|
|
draw_flag:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
2006-01-03 10:43:31 +01:00
|
|
|
|
; eax = 2 BIG
|
|
|
|
|
; eax = 1 small
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edx,ebx
|
|
|
|
|
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
and eax,1
|
|
|
|
|
imul eax,17 ;17
|
|
|
|
|
sub ebx,eax
|
|
|
|
|
sub ebx,76 ;79 ;28
|
|
|
|
|
|
|
|
|
|
pushad
|
|
|
|
|
; dec ebx
|
|
|
|
|
sub ebx,2
|
|
|
|
|
shl ebx, 16
|
|
|
|
|
add ebx, 15 ;25
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mcall 13,,<4,13>
|
|
|
|
|
|
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
sub ebx,2
|
|
|
|
|
mov ecx, 5 shl 16+11
|
|
|
|
|
cmp [type_lang],1
|
|
|
|
|
je label_1
|
|
|
|
|
|
|
|
|
|
mov edx,0xff ;[wcolor]
|
|
|
|
|
jmp label_2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label_1:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edx,0x7700
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
label_2:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall
|
|
|
|
|
popad
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
shl ebx,16
|
|
|
|
|
add ebx,7 ;24
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx,[bte] ; color
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,48
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,34
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mcall 13,,<3,14>
|
|
|
|
|
|
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
sub ebx,2
|
|
|
|
|
mov ecx,4 shl 16+12
|
|
|
|
|
mov edx,time_bgr_color
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
popa
|
|
|
|
|
ret
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2011-05-02 08:19:00 +02:00
|
|
|
|
if caps_lock_check
|
2012-03-31 18:34:52 +02:00
|
|
|
|
flag_text_setup:
|
|
|
|
|
pusha
|
|
|
|
|
mcall 66,3
|
|
|
|
|
mov edi, flag_text
|
|
|
|
|
mov esi, flag_text_caps_off
|
|
|
|
|
test eax, 0x40
|
|
|
|
|
jz @f
|
2011-05-02 08:19:00 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add esi, 14
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
mov ecx, 14
|
|
|
|
|
rep movsb
|
2011-05-02 08:19:00 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
popa
|
|
|
|
|
ret
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
flag_text_caps_off db 'enfigerufretua'
|
|
|
|
|
db 'ENFIGERUFRETUA'
|
|
|
|
|
end if
|
|
|
|
|
;------------------------------------------------------------------------------
|
2006-01-03 10:43:31 +01:00
|
|
|
|
; ***************************************************
|
|
|
|
|
; ********* WINDOW DEFINITIONS AND DRAW *************
|
|
|
|
|
; ***************************************************
|
2012-03-31 18:34:52 +02:00
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
draw_window:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
|
|
|
|
mov [running_applications],-1
|
|
|
|
|
mov [checks],-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],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
|
|
|
|
|
sub ax,38
|
|
|
|
|
shl eax,16
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
add ecx,0*65536+38
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne no_text_1
|
|
|
|
|
mov cx,PANEL_HEIGHT
|
|
|
|
|
add ecx,20*65536
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_text_1:
|
|
|
|
|
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 ; <20><><EFBFBD><EFBFBD> <20><><EFBFBD> ⠪.
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
movzx ebx,word [screenxy+2]
|
|
|
|
|
mov ecx,0*65536+0
|
|
|
|
|
mov edx,[wcolor]
|
|
|
|
|
add edx,0x161616
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
newline_: ; debug.inc has macros with the same name
|
|
|
|
|
sub edx,0x040404
|
|
|
|
|
mov eax,38
|
|
|
|
|
cmp [soften_up],1
|
|
|
|
|
jne no_su
|
|
|
|
|
|
|
|
|
|
and edx,0x00FFFFFF
|
|
|
|
|
mcall
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_su:
|
|
|
|
|
pusha
|
|
|
|
|
cmp [soften_down],1
|
|
|
|
|
jne no_sd
|
|
|
|
|
|
|
|
|
|
sub edx,0x141414
|
|
|
|
|
mov edi,[b_size_y]
|
|
|
|
|
shl edi,16
|
|
|
|
|
add edi,[b_size_y]
|
|
|
|
|
add ecx,edi
|
|
|
|
|
sub ecx,3*65536+3
|
|
|
|
|
and edx,0x00FFFFFF
|
|
|
|
|
mcall
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_sd:
|
|
|
|
|
popa
|
|
|
|
|
|
|
|
|
|
add ecx,1*65536+1
|
|
|
|
|
cmp cx,5
|
|
|
|
|
jb newline_
|
|
|
|
|
|
|
|
|
|
cmp [soften_middle],1
|
|
|
|
|
jne no_sm
|
|
|
|
|
|
|
|
|
|
movzx ebx,word [screenxy+2]
|
|
|
|
|
mov ecx,5*65536+5
|
|
|
|
|
mov esi,stripe
|
|
|
|
|
mov edx,[wcolor]
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
newline3:
|
|
|
|
|
add edx,[esi]
|
|
|
|
|
add esi,4
|
|
|
|
|
|
|
|
|
|
and edx,0x00FFFFFF
|
|
|
|
|
mcall 38
|
|
|
|
|
add ecx,1*65536+1
|
|
|
|
|
cmp cx,15
|
|
|
|
|
jb newline3
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_sm:
|
|
|
|
|
cmp [minimize_left],1
|
|
|
|
|
jne no_mleft
|
|
|
|
|
|
|
|
|
|
mov ecx,1 *65536
|
|
|
|
|
add ecx,[b_size_y]
|
|
|
|
|
dec ecx
|
|
|
|
|
mov edx,101
|
|
|
|
|
add edx,[button_frames]
|
|
|
|
|
mcall 8,<0,9>,,,[wcolor] ; ABS LEFT
|
|
|
|
|
|
|
|
|
|
mov ebx,2*65536+17
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne no_y1
|
|
|
|
|
|
|
|
|
|
mov bx,7
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_y1:
|
|
|
|
|
mov ecx,[wcolor]
|
|
|
|
|
add ecx,0x303030
|
|
|
|
|
mcall 4,,,hidetext,1 ; HIDE TEXT
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_mleft:
|
|
|
|
|
movzx eax,word [screenxy+2]
|
|
|
|
|
mov [maxx],eax
|
|
|
|
|
cmp [minimize_right],1
|
|
|
|
|
jne no_mright
|
|
|
|
|
mov eax,[maxx]
|
|
|
|
|
sub eax,77
|
|
|
|
|
shl eax,16
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
add ebx,67
|
|
|
|
|
|
|
|
|
|
mov ecx,1 *65536
|
|
|
|
|
add ecx,[b_size_y]
|
|
|
|
|
dec ecx
|
|
|
|
|
add ebx,68*65536
|
|
|
|
|
mov bx,9
|
|
|
|
|
mov edx,102
|
|
|
|
|
add edx,[button_frames]
|
|
|
|
|
mcall 8,,,,[wcolor] ; ABS RIGHT
|
|
|
|
|
|
|
|
|
|
mov edx,hidetext+1
|
|
|
|
|
mov eax,4
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,6
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,17
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne no_y2
|
|
|
|
|
|
|
|
|
|
mov bx,7
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_y2:
|
|
|
|
|
mov ecx,[wcolor]
|
|
|
|
|
add ecx,0x303030
|
|
|
|
|
mov esi,1
|
|
|
|
|
mcall
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_mright:
|
|
|
|
|
call draw_menuet_icon
|
|
|
|
|
; call draw_program_icons
|
|
|
|
|
mov [ptime],0
|
|
|
|
|
call draw_info
|
|
|
|
|
call draw_application_buttons
|
|
|
|
|
|
|
|
|
|
mcall 12,2
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-09-20 18:35:52 +02:00
|
|
|
|
dr_button_clean:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 8,,<3,13>
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
draw_menuet_icon:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pusha
|
|
|
|
|
; 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, 103
|
|
|
|
|
mov ebx, 67*65536+13
|
|
|
|
|
call dr_button_clean
|
|
|
|
|
|
|
|
|
|
inc edx
|
|
|
|
|
mov ebx, 86*65536+13
|
|
|
|
|
call dr_button_clean
|
|
|
|
|
|
|
|
|
|
inc edx
|
|
|
|
|
mov ebx, 105*65536+13
|
|
|
|
|
call dr_button_clean
|
|
|
|
|
|
|
|
|
|
mov ecx, dword [system_colours+28]
|
|
|
|
|
and ecx, 0x00ffffff
|
|
|
|
|
mcall 4,<71,6>,,page_clean_but,1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
inc edx
|
|
|
|
|
mcall ,<90,6>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
inc edx
|
|
|
|
|
mcall ,<109,6>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp [menu_enable],1
|
|
|
|
|
jne no_menu
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx, 10*65536 + 47
|
|
|
|
|
cmp [minimize_left], 0
|
|
|
|
|
jne @f
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx, 10*65536
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
mov ecx, 1*65536
|
|
|
|
|
add ecx, [b_size_y]
|
|
|
|
|
dec ecx
|
|
|
|
|
mov edx, 0x20d1ff01
|
|
|
|
|
add edx, [button_frames]
|
|
|
|
|
mcall 8,,,,[wcolor] ; M BUTTON
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
; cmp [graph_text], 1
|
|
|
|
|
; jne no_mtext
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
push ebx
|
|
|
|
|
mcall 13,<12,44>,<1,17>,0x383838
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,<56,1>,<2,15>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,<57,1>,<4,11>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,<58,1>,<6,7>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,<13,43>,<2,15>,0x7700
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,<56,1>,<4,11>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,<57,1>,<6,7>
|
|
|
|
|
pop ebx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov bx, 7
|
|
|
|
|
add ebx, 8*65536
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 4,,0x10ffffff,m_text,4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;no_mtext:
|
|
|
|
|
; mov eax,[wcolor]
|
|
|
|
|
; mov [m_icon+4],eax
|
|
|
|
|
;; load & display menuet.bmp
|
|
|
|
|
; mcall 70,m_bmp_fileinfo
|
|
|
|
|
|
|
|
|
|
; mov eax,40
|
|
|
|
|
; mov ebx,0
|
|
|
|
|
; mov edi,image+53
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;new_m_pix:
|
|
|
|
|
; cmp byte [edi], 10
|
|
|
|
|
; jb nopix
|
|
|
|
|
|
|
|
|
|
; cmp byte [edi+1], 10
|
|
|
|
|
; jb nopix
|
|
|
|
|
|
|
|
|
|
; cmp byte [edi+2], 10
|
|
|
|
|
; jb nopix
|
|
|
|
|
|
|
|
|
|
; pusha
|
|
|
|
|
; cmp [minimize_left],0
|
|
|
|
|
; jne no_m_s2
|
|
|
|
|
|
|
|
|
|
; sub ebx,10
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;no_m_s2:
|
|
|
|
|
; mov edx,[edi+1]
|
|
|
|
|
; mov ecx,eax
|
|
|
|
|
; add ebx,12
|
|
|
|
|
; mcall 1 ; point - WTF???!!!
|
|
|
|
|
|
|
|
|
|
; popa
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;nopix:
|
|
|
|
|
; add edi,3
|
|
|
|
|
; add ebx,1
|
|
|
|
|
; cmp ebx,40
|
|
|
|
|
; jnz new_m_pix
|
|
|
|
|
|
|
|
|
|
; mov ebx,0
|
|
|
|
|
; dec eax
|
|
|
|
|
; jnz new_m_pix
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_menu:
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;draw_program_icons:
|
|
|
|
|
; pusha
|
|
|
|
|
|
|
|
|
|
; cmp [icons],0
|
|
|
|
|
; jne dp_ret
|
|
|
|
|
|
|
|
|
|
; mov edi,1
|
|
|
|
|
; push edi
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;new_icon_file:
|
|
|
|
|
; pusha
|
|
|
|
|
; mov edx,[esp+32]
|
|
|
|
|
; add edx,10
|
|
|
|
|
|
|
|
|
|
; push edx
|
|
|
|
|
; mov ecx,1*65536
|
|
|
|
|
; add ecx,[b_size_y]
|
|
|
|
|
; dec ecx
|
|
|
|
|
; mov eax,edi
|
|
|
|
|
; dec eax
|
|
|
|
|
; imul eax,40
|
|
|
|
|
; mov ebx,eax
|
|
|
|
|
; add ebx,[icons_position]
|
|
|
|
|
; shl ebx,16
|
|
|
|
|
; mov bx,39
|
|
|
|
|
; pop edx
|
|
|
|
|
|
|
|
|
|
; add edx,[button_frames]
|
|
|
|
|
; or edx, 0x20000000
|
|
|
|
|
; mcall 8,,,,[wcolor]
|
|
|
|
|
; popa
|
|
|
|
|
|
|
|
|
|
; mov ecx,[esp]
|
|
|
|
|
; add ecx,48
|
|
|
|
|
; mov [iconf+6],cl
|
|
|
|
|
|
|
|
|
|
; mcall 70,iconf_fileinfo
|
|
|
|
|
|
|
|
|
|
; mov eax,0
|
|
|
|
|
; mov ebx,32
|
|
|
|
|
; mov edi,image+51+32*33*3
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;np2: ; new pixel of file
|
|
|
|
|
; mov edx,[edi]
|
|
|
|
|
; and edx,0xffffff
|
|
|
|
|
|
|
|
|
|
; cmp eax,3 ; Y draw limits
|
|
|
|
|
; jb nopix2
|
|
|
|
|
|
|
|
|
|
; cmp eax,36
|
|
|
|
|
; jg nopix2
|
|
|
|
|
|
|
|
|
|
; cmp ebx,38 ; X draw limits
|
|
|
|
|
; jg nopix2
|
|
|
|
|
|
|
|
|
|
; cmp ebx,2
|
|
|
|
|
; jb nopix2
|
|
|
|
|
|
|
|
|
|
; cmp edx,0
|
|
|
|
|
; jz nopix2
|
|
|
|
|
|
|
|
|
|
; cmp [graph_text],1
|
|
|
|
|
; jne no_icon_text
|
|
|
|
|
|
|
|
|
|
; pusha
|
|
|
|
|
; mov ebx,[esp+32]
|
|
|
|
|
; dec ebx
|
|
|
|
|
; imul ebx,40
|
|
|
|
|
; add ebx,8
|
|
|
|
|
; add ebx,[icons_position]
|
|
|
|
|
; shl ebx,16
|
|
|
|
|
; mov bx,7
|
|
|
|
|
|
|
|
|
|
; mov edx,[esp+32]
|
|
|
|
|
; dec edx
|
|
|
|
|
; imul edx,4
|
|
|
|
|
; add edx,mi_text
|
|
|
|
|
; mcall 4,,0xffffff,,4
|
|
|
|
|
; popa
|
|
|
|
|
; jmp nopix2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;no_icon_text:
|
|
|
|
|
; mov esi,[esp]
|
|
|
|
|
; pusha
|
|
|
|
|
|
|
|
|
|
; push edx
|
|
|
|
|
; mov ecx,eax
|
|
|
|
|
; add ecx,2
|
|
|
|
|
; mov eax,esi
|
|
|
|
|
; dec eax
|
|
|
|
|
; imul eax,40
|
|
|
|
|
; add ebx,eax
|
|
|
|
|
; add ebx,3
|
|
|
|
|
; add ebx,[icons_position]
|
|
|
|
|
; pop edx
|
|
|
|
|
|
|
|
|
|
; mcall 1 ; WTF???!!!
|
|
|
|
|
; popa
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;nopix2:
|
|
|
|
|
; sub edi,3
|
|
|
|
|
; dec ebx
|
|
|
|
|
; jnz np2
|
|
|
|
|
|
|
|
|
|
; mov ebx,32
|
|
|
|
|
; add eax,1
|
|
|
|
|
; cmp eax,32
|
|
|
|
|
; jnz np2
|
|
|
|
|
|
|
|
|
|
; add dword [esp],1
|
|
|
|
|
; mov edi,[esp]
|
|
|
|
|
; cmp dword [esp],4
|
|
|
|
|
; jbe new_icon_file
|
|
|
|
|
|
|
|
|
|
; add esp,4
|
|
|
|
|
|
|
|
|
|
; mov ebx,40
|
|
|
|
|
; imul ebx,3
|
|
|
|
|
; add ebx,[icons_position]
|
|
|
|
|
; add ebx,10
|
|
|
|
|
; shl ebx,16
|
|
|
|
|
; mov bx,23
|
|
|
|
|
; mcall 4,,[wcolor],gpl,3
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;dp_ret:
|
|
|
|
|
; popa
|
|
|
|
|
; ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
draw_info: ; draw cpu usage, time, date
|
|
|
|
|
pusha
|
|
|
|
|
cmp [setup_enable],1
|
|
|
|
|
jne no_setup
|
|
|
|
|
|
|
|
|
|
cmp [minimize_right],0
|
|
|
|
|
jne no_m_r
|
|
|
|
|
add [maxx],10
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_m_r:
|
|
|
|
|
mov eax,3
|
|
|
|
|
mcall
|
|
|
|
|
cmp eax,[ptime]
|
|
|
|
|
jz _ret
|
|
|
|
|
|
|
|
|
|
mov [ptime],eax
|
|
|
|
|
|
|
|
|
|
call draw_cpu_usage
|
|
|
|
|
|
|
|
|
|
mov eax,[maxx] ; blink sec
|
|
|
|
|
sub eax,33
|
|
|
|
|
shl eax,16
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
add ebx,9
|
|
|
|
|
mcall 3
|
|
|
|
|
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne no_y4
|
|
|
|
|
|
|
|
|
|
sub bx,2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_y4:
|
|
|
|
|
mov ecx,eax
|
|
|
|
|
shr ecx,16
|
|
|
|
|
and ecx,1
|
|
|
|
|
mov edx,[bte]
|
|
|
|
|
sub edx,time_bgr_color;[wcolor]
|
|
|
|
|
imul ecx,edx
|
|
|
|
|
add ecx,time_bgr_color;[wcolor]
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 4,,,sec,1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 26,2,9
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov edx,eax
|
|
|
|
|
mcall 3
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
and eax,0xffff
|
|
|
|
|
add edx,eax
|
|
|
|
|
cmp edx,[checks]
|
|
|
|
|
je _ret
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [checks],edx
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,48 ;;94 ;;74
|
|
|
|
|
shl ebx,16
|
|
|
|
|
add ebx,33 ;;84 ;;64
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ecx,3 *65536
|
|
|
|
|
add ecx,[b_size_y]
|
|
|
|
|
sub cx,5
|
|
|
|
|
mcall 8,,,0x40000002,[wcolor] ; time/date button
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
and edx,0xffff
|
|
|
|
|
add edx,[button_frames]
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,77 ;80
|
|
|
|
|
shl ebx,16
|
|
|
|
|
add ebx,14
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall ,,<4,12>,0x60000010,[wcolor] ;button 16
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,17 shl 16
|
|
|
|
|
inc edx ;button 17
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,33 shl 16
|
|
|
|
|
mov bx,8
|
|
|
|
|
inc edx ;button 18
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,30 shl 16
|
|
|
|
|
mov bx,10
|
|
|
|
|
inc edx ;button 19
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,14 shl 16
|
|
|
|
|
inc edx ;button 20
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,12 shl 16
|
|
|
|
|
mov bx,8
|
|
|
|
|
mov ecx,6 shl 16+10
|
|
|
|
|
inc edx ;button 21
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,24 shl 16
|
|
|
|
|
inc edx ;button 22
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 26,2,9
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx,eax
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov eax,2
|
|
|
|
|
mov [type_lang],al
|
|
|
|
|
call draw_flag
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mcall 18,8,1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov [sound_flag],al
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,92 ;109 ;112 ;28
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,12
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mcall 13,,<4,13>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
sub bx,2
|
|
|
|
|
mcall ,,<5,11>,0xcc
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
mov bx,5
|
|
|
|
|
mcall ,,<8,5>,0xdddd00
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,5 shl 16
|
|
|
|
|
mov bx,1
|
|
|
|
|
mcall ,,<7,7>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
mcall ,,<6,9>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
mcall ,,<5,11>
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
cmp [sound_flag],0
|
|
|
|
|
je dalshe
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,8 shl 16
|
|
|
|
|
ror ebx,16
|
|
|
|
|
mov cx,bx
|
|
|
|
|
rol ebx,16
|
|
|
|
|
mov bx,cx
|
|
|
|
|
add bx,8
|
|
|
|
|
mcall 38,,<5,15>,0xff0000
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
inc bx
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
rol ecx,16
|
|
|
|
|
mcall
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sub ebx,1 shl 16
|
|
|
|
|
dec bx
|
|
|
|
|
mcall
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
dalshe:
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,106;123
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,12
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mcall 13,,<4,13>
|
|
|
|
|
|
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
sub bx,2
|
|
|
|
|
mcall ,,<5,11>,0xffcc00
|
|
|
|
|
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,104;121
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,7
|
|
|
|
|
|
|
|
|
|
mcall 4,,0x10000000,file_sys,1
|
|
|
|
|
|
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,117;134
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,9
|
|
|
|
|
xor edx,edx
|
|
|
|
|
mcall 13,,<6,11>
|
|
|
|
|
|
|
|
|
|
sub ebx,24 shl 16 ; 18 shl 16
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
add ebx,25 shl 16 ; 19 shl 16
|
|
|
|
|
sub bx,2
|
|
|
|
|
mcall ,,<7,9>,0xffffff
|
|
|
|
|
|
|
|
|
|
sub ebx,24 shl 16
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx, 139
|
|
|
|
|
shl ebx,16
|
|
|
|
|
mov bx,8
|
|
|
|
|
mcall 4,,,page_a1,5
|
|
|
|
|
|
|
|
|
|
add ebx,1 shl 16
|
|
|
|
|
mcall
|
|
|
|
|
|
|
|
|
|
mov edx,[maxx]
|
|
|
|
|
sub edx,130
|
|
|
|
|
shl edx,16
|
|
|
|
|
mov dx,7
|
|
|
|
|
mcall 47,0x20000,[page_list],,0xffffff
|
|
|
|
|
|
|
|
|
|
mcall 3 ; get time
|
|
|
|
|
|
|
|
|
|
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
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov eax,[maxx]
|
|
|
|
|
sub eax,32
|
|
|
|
|
shl eax,16
|
|
|
|
|
mov ebx,eax
|
|
|
|
|
add ebx,9
|
|
|
|
|
|
|
|
|
|
mov ecx,[bte]
|
|
|
|
|
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne no_y3
|
|
|
|
|
|
|
|
|
|
sub bx,2
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_y3:
|
|
|
|
|
mov edx,[esp] ; __:_X
|
|
|
|
|
and edx,15
|
|
|
|
|
add ebx,10*65536
|
|
|
|
|
add edx,text
|
|
|
|
|
mcall 4,,0xffffff,,1
|
|
|
|
|
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
call draw_cpu_usage
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
_ret:
|
|
|
|
|
cmp [minimize_right],0
|
|
|
|
|
jne no_m_r2
|
|
|
|
|
|
|
|
|
|
sub [maxx],10
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
no_m_r2:
|
|
|
|
|
no_setup:
|
|
|
|
|
popa
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
draw_cpu_usage:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
pushad
|
|
|
|
|
mov [ysi],30
|
|
|
|
|
cmp [graph_text],1
|
|
|
|
|
jne @f
|
|
|
|
|
|
|
|
|
|
mov [ysi],12
|
|
|
|
|
;--------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
@@:
|
|
|
|
|
mcall 18,5 ; TSC / SEC
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
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
|
2007-02-04 02:47:46 +01:00
|
|
|
|
no_bug:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
push eax
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mov ebx,[maxx]
|
|
|
|
|
sub ebx,60
|
|
|
|
|
shl ebx,16
|
|
|
|
|
add ebx,8
|
|
|
|
|
mov ecx,5 shl 16
|
|
|
|
|
add ecx,[ysi]
|
|
|
|
|
mcall 13,,,0xdd2222
|
|
|
|
|
|
|
|
|
|
pop eax
|
|
|
|
|
mov ecx,5 shl 16
|
|
|
|
|
add ecx,eax
|
|
|
|
|
mov eax,13
|
|
|
|
|
mcall 13,,,0x44aa44
|
|
|
|
|
|
|
|
|
|
popad
|
|
|
|
|
ret
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2007-08-02 21:03:24 +02:00
|
|
|
|
include 'ctx_menu.asm'
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
; DATA
|
|
|
|
|
stripe:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
dd -0x010101
|
|
|
|
|
dd -0x010101
|
|
|
|
|
dd -0x020202
|
|
|
|
|
dd -0x010101
|
|
|
|
|
dd -0x000000
|
|
|
|
|
|
|
|
|
|
dd 0x000000
|
|
|
|
|
dd 0x010101
|
|
|
|
|
dd 0x020202
|
|
|
|
|
dd 0x010101
|
|
|
|
|
dd 0x010101
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
m_icon:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
dd 0x0
|
|
|
|
|
dd 0x808080
|
|
|
|
|
dd 0x000000
|
|
|
|
|
dd 0x000000
|
|
|
|
|
dd 0xffffff
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
lsz m_text,\
|
|
|
|
|
ru, "<22><><EFBFBD><EFBFBD>",\
|
2007-01-14 16:21:41 +01:00
|
|
|
|
en, "MENU",\
|
2008-09-30 20:03:55 +02:00
|
|
|
|
et, "MEN--"
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
mi_text db 'WAVETETRBGRDGPL '
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
flag_text db 'EnFiGeRuFrEtUa'
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
type_lang db 0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
sound_flag db 0
|
|
|
|
|
button_frames dd 0x0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
checks dd -1
|
|
|
|
|
hidetext db 0x11,0x10,0x1e
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
turn_text db '><'
|
|
|
|
|
gpl db 'GPL'
|
|
|
|
|
|
|
|
|
|
chlang db 'LANG',0
|
2007-01-31 16:36:12 +01:00
|
|
|
|
;syslang db 'SLAN',0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
contrast db 0
|
|
|
|
|
|
|
|
|
|
running_applications dd 0x100
|
|
|
|
|
max_applications dd 11
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
current_alt_tab_app dd -1
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
page_list dd 0
|
|
|
|
|
draw_start_position dd 0
|
|
|
|
|
draw_window_1 db 0
|
2007-03-30 15:19:32 +02:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
b_size_y: dd 0x0
|
|
|
|
|
ysi dd 0
|
|
|
|
|
small_draw dd 0x0
|
2006-03-04 12:44:33 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
ptime dd 0x0
|
|
|
|
|
maxx dd 0x0
|
|
|
|
|
text db '0123456789'
|
|
|
|
|
|
|
|
|
|
page_a1 db '< >'
|
|
|
|
|
page_clean_but db 25,24,18
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
bte dd 0xccddee
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
wcolor dd 0x506070
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
sec db ': '
|
|
|
|
|
pros db ' '
|
|
|
|
|
db ' '
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2007-08-02 21:03:24 +02:00
|
|
|
|
screenxy dd 0x0
|
|
|
|
|
stcount dd 0x0
|
2006-01-03 10:43:31 +01:00
|
|
|
|
|
2006-06-30 14:34:18 +02:00
|
|
|
|
setup_exec:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
dd 7
|
|
|
|
|
dd 0
|
|
|
|
|
.cmdline dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
db '/sys/'
|
|
|
|
|
file_sys db 'SETUP',0
|
2006-06-30 14:34:18 +02:00
|
|
|
|
|
|
|
|
|
exec_fileinfo:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
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
|
|
|
|
|
calendar_name db '/sys/CALENDAR',0
|
|
|
|
|
sysmeter_name db '/sys/GMON',0
|
|
|
|
|
mousemul_name db '/sys/MOUSEMUL',0
|
2006-06-30 14:34:18 +02:00
|
|
|
|
|
|
|
|
|
dat_fileinfo:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 0
|
|
|
|
|
dd 1024
|
|
|
|
|
dd 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
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
IM_END:
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
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
|
2006-03-04 12:44:33 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
panel_x_pos rd 1
|
|
|
|
|
panel_y_pos rd 1
|
2006-03-04 12:44:33 +01:00
|
|
|
|
|
2012-03-31 18:34:52 +02:00
|
|
|
|
screen_size:
|
|
|
|
|
.height rw 1
|
|
|
|
|
.width rw 1
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2008-09-30 20:03:55 +02:00
|
|
|
|
system_colours system_colors ; rd 10
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
app_list rd 50
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
alt_tab_list rd 256*2
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
process_info_buffer:
|
|
|
|
|
rb 1024
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
procinfo_for_detect:
|
|
|
|
|
rb 1024
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
procinfo_window_tabs:
|
|
|
|
|
rb 1024
|
|
|
|
|
;-----------------------------------------------------------------------------
|
|
|
|
|
align 4
|
2006-01-03 10:43:31 +01:00
|
|
|
|
tictable:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
rd 256
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
rb 256
|
2007-08-02 21:03:24 +02:00
|
|
|
|
detect_stack:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
rb 256
|
2007-08-02 21:03:24 +02:00
|
|
|
|
ctx_menu_stack:
|
2012-03-31 18:34:52 +02:00
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
align 4
|
|
|
|
|
rb 0x1000
|
|
|
|
|
stack_top:
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
;align 4
|
|
|
|
|
;image:
|
|
|
|
|
;------------------------------------------------------------------------------
|
|
|
|
|
I_END:
|