Scilab Function
Last update : 25/03/2005
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
-
ibut
is 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
,