1,6 → 1,6 |
;************************************************************** |
; MenuBar Macro for Kolibri OS |
; Copyright (c) 2009, Marat Zakiyanov aka Mario79, aka Mario |
; Copyright (c) 2009, Mario79 |
; 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 Marat Zakiyanov ''AS IS'' AND ANY |
; THIS SOFTWARE IS PROVIDED BY Mario79 ''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_ret_key equ [edi+24] |
m_mouse_pos equ [edi+24] |
m_mouse_keys equ [edi+28] |
m_size_x1 equ [edi+32] |
m_start_x1 equ [edi+34] |
200,16 → 200,15 |
; 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 |
254,7 → 253,6 |
cmp eax,m_mouse_keys_old |
je .exit_menu_1 |
@@: |
.start_loop: |
mov m_select,dword 1 |
call .draw_1 |
call .allocate_menu_area |
266,7 → 264,7 |
.still: |
mcall 10 |
cmp eax,1 |
je .exit_menu_3 |
je .exit_menu_3 ;red |
cmp eax,2 |
je .key_menu |
cmp eax,3 |
277,7 → 275,6 |
|
.key_menu: |
mcall 2 |
|
cmp m_extended_key,dword 1 |
je .extended_key |
test al,al |
296,11 → 293,6 |
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 |
310,6 → 302,12 |
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 |
326,20 → 324,17 |
je .key_menu_end |
cmp ah,211 ; Delete |
je .key_menu_end |
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 |
; 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 |
|
jmp .exit_menu_3 |
;.for_all_key: |
; mov [close_menu],1 |
; ret |
jmp .exit_menu_3 ;.still |
|
;--------------------------------------------------------------------- |
.extended_key: |
406,28 → 401,14 |
;--------------------------------------------------------------------- |
.menu_key_28: |
cmp ah,28 ; Enter |
jne .menu_key_75 |
jne .menu_key_end |
.menu_key_28_1: |
xor eax,eax |
mov m_mouse_keys_old,eax |
inc eax |
mov m_mouse_keys,eax |
; mov [press_enter_menu],1 |
; ret |
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 |
435,6 → 416,7 |
mov m_mouse_keys,eax |
|
mcall 37,1 |
mov m_mouse_pos,eax |
ret |
;--------------------------------------------------------------------- |
.allocate_menu_area: |
544,7 → 526,7 |
mov m_select,dword 0 |
|
call .draw_1 |
|
; jmp .exit_menu_1 |
test m_mouse_keys,dword 1b |
jz .exit_menu_1 |
|