Scilab Function
Last update : 10/2/2006

xgetmouse - get the mouse events and current position

Calling Sequence

rep=xgetmouse([flag], [sel])

Parameters

Description

If the mouse pointer is located in the current graphics window, xgetmouse returns in rep the current pointer position (x,y) and the value ibutton. The ibutton value indicates the event type:

ibutton==0: Left mouse button has been pressed
ibutton==1: Middle mouse button has been pressed
ibutton==2: Right mouse button has been pressed

ibutton==3: Left mouse button has been clicked
ibutton==4: Middle mouse button has been clicked
ibutton==5: Right mouse button has been clicked

ibutton==10: Left mouse button has been double-clicked
ibutton==11: Middle mouse button has been double-clicked
ibutton==12: Right mouse button has been double-clicked

ibutton==-5: Left mouse button has been released
ibutton==-4: Middle mouse button has been released
ibutton==-3: Right mouse button has been released

ibutton==-1: pointer has moved

ibutton > =32: key with ascii code ascii(ibutton) has been pressed
ibutton < =-32: key with ascii code ascii(-ibutton) has been released

ibutton > =1000+32: key with ascii code ascii(ibutton-1000) has been pressed while CTRL key pressed
ibutton==-1000: graphic window has been closed

Examples


//  rectangle selection
clf();  // erase/create window
a=gca();a.data_bounds=[0 0;100 100];//set user coordinates
xtitle(" drawing a rectangle ") //add a title
xselect(); //put the window on the top

[b,xc,yc]=xclick(); //get a point
xrect(xc,yc,0,0) //draw a rectangle entity
r=gce();// the handle of the rectangle
rep=[xc,yc,-1];first=%f;

while rep(3)==-1 do // mouse just moving ...
  if first then rep=xgetmouse();else rep=xgetmouse(0);end
  xc1=rep(1);yc1=rep(2);
  ox=mini(xc,xc1);
  oy=maxi(yc,yc1);
  w=abs(xc-xc1);h=abs(yc-yc1);
  r.data=[ox,oy,w,h]; //change the retangle origin, width an height
  first=%f;
end
 
  

See Also

locate,  xclick,  seteventhandler,  

Author

S. Steer