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 |
|