Subversion Repositories Kolibri OS

Compare Revisions

Regard whitespace Rev 1049 → Rev 1199

/programs/develop/libraries/box_lib/trunk/menubar.mac
1,6 → 1,6
;**************************************************************
; MenuBar Macro for Kolibri OS
; Copyright (c) 2009, Mario79
; Copyright (c) 2009, Marat Zakiyanov aka Mario79, aka Mario
; All rights reserved.
;
; Redistribution and use in source and binary forms, with or without
14,7 → 14,7
; names of its contributors may be used to endorse or promote products
; derived from this software without specific prior written permission.
;
; THIS SOFTWARE IS PROVIDED BY Mario79 ''AS IS'' AND ANY
; THIS SOFTWARE IS PROVIDED BY Marat Zakiyanov ''AS IS'' AND ANY
; EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
; WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
; DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
42,7 → 42,7
m_text_pointer equ [edi+12]
m_pos_pointer equ [edi+16]
m_text_end equ [edi+20]
m_mouse_pos equ [edi+24]
m_ret_key equ [edi+24]
m_mouse_keys equ [edi+28]
m_size_x1 equ [edi+32]
m_start_x1 equ [edi+34]
200,15 → 200,16
; mouse event
;*****************************************************************************
;*****************************************************************************
.activate:
pusha
mov edi,dword [esp+36]
jmp .start_loop
.mouse:
pusha
mov edi,dword [esp+36]
;.mouse_1:
; mov eax,m_mouse_pos
; cmp m_get_mouse_flag,dword 0
; je @f
 
call .processing_real_mouse
;@@:
 
test eax,0x80000000
jnz .exit_menu
test eax,0x8000
253,6 → 254,7
cmp eax,m_mouse_keys_old
je .exit_menu_1
@@:
.start_loop:
mov m_select,dword 1
call .draw_1
call .allocate_menu_area
264,7 → 266,7
.still:
mcall 10
cmp eax,1
je .exit_menu_3 ;red
je .exit_menu_3
cmp eax,2
je .key_menu
cmp eax,3
275,6 → 277,7
.key_menu:
mcall 2
 
cmp m_extended_key,dword 1
je .extended_key
test al,al
293,6 → 296,11
je .menu_key_28_1
cmp ah,1 ; Esc
je .menu_key_1_1
cmp ah,75 ; L-Arrow down
je .menu_key_75_1
cmp ah,77 ; R-Arrow down
je .menu_key_77_1
.key_menu_end_1:
cmp ah,208 ; Arrow Down
je .key_menu_end
302,12 → 310,6
je .key_menu_end
cmp ah,129 ; Esc
je .key_menu_end
; cmp ah,184 ;Alt to Up
; je .end_5
; cmp ah,187 ; F1 to Up
; je .end_1
; cmp ah,188 ; F2 to Up
; je .end_1
cmp ah,199 ;Home
je .key_menu_end
cmp ah,207 ;End
324,17 → 326,20
je .key_menu_end
cmp ah,211 ; Delete
je .key_menu_end
; cmp ah,56 ;Alt to Up
; je .end_4
; cmp ah,59 ; F1 to Down
; je .end_2
; cmp ah,60 ; F2 to Down
; je .end_3
cmp ah,157 ; Ctrl up
je .key_menu_end
cmp ah,184 ; Alt up
je .key_menu_end
cmp ah,170 ; L-Shift up
je .key_menu_end
cmp ah,182 ; R-Shift up
je .key_menu_end
cmp ah,203 ; L-Arrow up
je .key_menu_end
cmp ah,205 ; R-Arrow up
je .key_menu_end
 
;.for_all_key:
; mov [close_menu],1
; ret
jmp .exit_menu_3 ;.still
jmp .exit_menu_3
 
;---------------------------------------------------------------------
.extended_key:
401,14 → 406,28
;---------------------------------------------------------------------
.menu_key_28:
cmp ah,28 ; Enter
jne .menu_key_end
jne .menu_key_75
.menu_key_28_1:
; mov [press_enter_menu],1
; ret
xor eax,eax
mov m_mouse_keys_old,eax
inc eax
mov m_mouse_keys,eax
jmp .exit_menu_2
.menu_key_end:
jmp .key_menu_end_1
;---------------------------------------------------------------------
.menu_key_75:
cmp ah,75 ; L-Arrow down
jne .menu_key_77
.menu_key_75_1:
mov m_ret_key,dword 1
jmp .exit_menu_3
;---------------------------------------------------------------------
.menu_key_77:
cmp ah,77 ; R-Arrow down
jne .key_menu_end_1
.menu_key_77_1:
mov m_ret_key,dword 2
jmp .exit_menu_3
;---------------------------------------------------------------------
.processing_real_mouse:
mcall 37,2
mov ebx,m_mouse_keys
416,7 → 435,6
mov m_mouse_keys,eax
mcall 37,1
mov m_mouse_pos,eax
ret
;---------------------------------------------------------------------
.allocate_menu_area:
526,7 → 544,7
mov m_select,dword 0
call .draw_1
; jmp .exit_menu_1
 
test m_mouse_keys,dword 1b
jz .exit_menu_1