Drag rectangles with mouse
[finalrect] = dragrect(initialrect)
[finalrect] = dragrect(initialrect,stepsize)
[finalrect] = dragrect(initialrect)
tracks
one or more rectangles anywhere on the screen. The n-by-4 matrix initialrect
defines
the rectangles. Each row of initialrect
must contain
the initial rectangle position as [left bottom width height]
values. dragrect
returns
the final position of the rectangles in finalrect
.
[finalrect] = dragrect(initialrect,stepsize)
moves
the rectangles in increments of stepsize
. The lower
left corner of the first rectangle is constrained to a grid of size
equal to stepsize
starting at the lower left corner
of the figure, and all other rectangles maintain their original offset
from the first rectangle.
[finalrect] = dragrect(...)
returns the final
positions of the rectangles when the mouse button is released. The
default step size is 1
.
Drag a rectangle with dimensions of 50-by-100 pixels.
waitforbuttonpress point1 = get(gcf,'CurrentPoint') % button down detected rect = [point1(1,1) point1(1,2) 50 100] [r2] = dragrect(rect)
dragrect
returns immediately if a mouse
button is not currently pressed. Use dragrect
in
a ButtonDownFcn
, or from the command line in conjunction
with waitforbuttonpress
, to ensure that the mouse
button is down when dragrect
is called. dragrect
returns
when you release the mouse button.
If the drag ends over a figure window, the positions of the rectangles are returned in that figure's coordinate system. If the drag ends over a part of the screen not contained within a figure window, the rectangles are returned in the coordinate system of the figure over which the drag began.
You cannot use normalized figure units with dragrect
.