Please note that the recommended version of Scilab is 2025.0.0. This page might be outdated.
See the recommended documentation of this function
event handler functions
Protótipo de funções que podem se utilizadas como gerenciadoras de eventos
Seqüência de Chamamento
envent_handler_function(win,x,y,ibut)
Parâmetros
- win
número da janela onde o evento ocorreu
- x
coordenada X em píxeis do ponteiro do mouse no momento onde o evento ocorreu
- y
coordenada Y em píxeis do ponteiro do mouse no momento onde o evento ocorreu
- ibut
número correspondente ao tipo de evento
Descrição
Quando o modo de gerenciador de eventos está habilitado, o Scilab chamaráo gerenciador de eventos especificado a cada vez que um evento ocorre na janela gráfica. A função de gerenciamento de evento deve concordar com o protótipo acima. A cada vez que um evento ocorre, a função é chamada e os quatro eventos são ajustados de acordo com o número da janela, a posição do mouse e o tipo do evento.
O parâmetro ibut
toma um dos seguintes valores
dependendo do tipo do evento ocorrido:
- ibut==0
o botão esquerdo foi pressionado
- ibut==1
o botão do meio foi pressionado
- ibut==2
o botão direito foi pressionado
- ibut==3
o botão esquerdo do mouse foi clicado
- ibut==4
o botão do meio do mouse foi clicado
- ibut==5
o botão direito do mouse foi clicado
- ibut==10
o botão esquerdo do mouse foi clicado duas vezes
- ibut==11
o botão do meio do mouse foi clicado duas vezes
- ibut==12
o botão direito do mouse foi clicado duas vezes
- ibut==-5
o botão esquerdo do mouse foi liberado
- ibut==-4
o botão do meio do mouse foi liberado
- ibut==-3
o botão direito do mouse foi liberado
- ibut==-1
o ponteiro do mouse foi movido
- ibut > =32
uma tecla com código ascii(ibut) foi pressionada
- ibut < =-32
uma tecla com código ascii(-ibut) foi liberadav
- ibut > =1000+32
uma tecla com código ascii(ibut-1000) foi pressionada enquanto a tecla CTRL estava sendo pressionada.
- ibut==-1000
a janela de gráficos foi fechada
Por exemplo, digamos que o nome da função de gerenciamento de eventos seja fooHandler para a janela de número 0. Um clique com o botão esquerdo na janela na posição [100,150] (em píxeis) será equivalente a chamar fooHandler( 0, 100, 150, 3 ).
Ver figure_properties ou seteventhandler para mais informações sobre como especificar o nome do gerenciador de eventos.
Exemplos
function my_eventhandler(win, x, y, ibut) if ibut==-1000 then return,end [x,y]=xchange(x,y,'i2f') xinfo(msprintf('Evento de código %d na posição do mouse é (%f,%f)',ibut,x,y)) endfunction plot2d() fig = gcf() ; fig.event_handler = 'my_eventhandler' ; fig.event_handler_enable = "on" ; //agora: // - mova o mouse sobre a janela gráfica // - pressione e libere as teclas com shift pressionado ou não e com Ctrl pressionado ou não // - pressione um botão, espere um pouco e libere // - pressione e libere um botão // - clique duas vezes em um botão fig.event_handler_enable = "off" ; //suprimindo o gerenciador de eventos
Ver Também
- figure_properties — description of the graphics figure entity properties
- seteventhandler — Define um gerenciador de eventos para uma janela gráfica
- xgetmouse — retorna os eventos de mouse e posição corrente
- xclick — espera por um clique do mouse
Autor
Jean-Baptiste Silvy
<< edit_curv | interaction | locate >> |