Scilab Function
Last update : 24/9/39971243
seteventhandler - set an event handler for
the current graphic window
Calling Sequence
- seteventhandler(sfun_name)
- seteventhandler('')
Parameters
-
sfun_name: a character string. The name of the Scilab function which is
intended to handle the events
Description
The function allows the user to set a particular event handler for
the current graphic window. seteventhandler('')
removes the handler.
The event handler is defined by a Scilab function whose calling
sequence must be function sfun_name(win,x,y,ibut), where
-
win represents the number of the window where the
event had occured.
-
x,y are the coordinates of the pointer (in pixels), when the event
has occured
-
ibutis the event type:
-
-
ibut==0: Left mouse button has been pressed
-
ibut==1: Middle mouse button has been pressed
-
ibut==2: Right mouse button has been pressed
-
ibut==3: Left mouse button has been clicked
-
ibut==4: Middle mouse button has been clicked
-
ibut==5: Right mouse button has been clicked
-
ibut==10: Left mouse button has been double-clicked
-
ibut==11: Middle mouse button has been double-clicked
-
ibut==12: Right mouse button has been double-clicked
-
ibut==-5: Left mouse button has been released
-
ibut==-4: Middle mouse button has been released
-
ibut==-3: Right mouse button has been released
-
ibut==-1: pointer has moved
-
ibut > =32: key with ascii code ascii(ibut) has been pressed
-
ibut < =-32: key with ascii code ascii(-ibut) has been released
-
ibut > =1000+32: key with ascii code ascii(ibut-1000) has been pressed while CTRL
key pressed
-
ibut==-1000: graphic window has been closed
Examples
function my_eventhandler(win,x,y,ibut)
if ibut==-1000 then return,end
[x,y]=xchange(x,y,'i2f')
xinfo(msprintf('Event code %d at mouse position is (%f,%f)',ibut,x,y))
endfunction
plot2d()
seteventhandler('my_eventhandler')
//now:
// - move the mouse over the graphic window
// - press and release keys shifted or not with Ctrl pressed or not
// - press button, wait a little release
// - press and release button
// - double-click button
seteventhandler('') //suppress the event handler
See Also
addmenu, xgetmouse, xclick, xchange,