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
the rectangles. Each row of
initialrect must contain
the initial rectangle position as [
left bottom width height] values.
the final position of the rectangles in
[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
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
Drag a rectangle that is 50 pixels wide and 100 pixels in height.
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
ButtonDownFcn, or from the command line in conjunction
waitforbuttonpress, to ensure that the mouse
button is down when
dragrect is called.
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