dragrect
Drag rectangles with mouse
Syntax
[finalrect] = dragrect(initialrect)
[finalrect] = dragrect(initialrect,stepsize)
Description
[finalrect] = dragrect(initialrect)
tracks one or more rectangles anywhere on the screen. The n-by-4 matrixinitialrect
defines the rectangles. Each row ofinitialrect
must contain the initial rectangle position as [left bottom width height]
values.dragrect
returns the final position of the rectangles infinalrect
。
[finalrect] = dragrect(initialrect,stepsize)
moves the rectangles in increments ofstepsize
。左下角corner of the first rectangle is constrained to a grid of size equal tostepsize
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 is1
。
Examples
Drag a rectangle with dimensions of 50-by-100pixels。
waitforbuttonpress point1 = get(gcf,'CurrentPoint') % button down detected rect = [point1(1,1) point1(1,2) 50 100] [r2] = dragrect(rect)
More About
Tips
dragrect
returns immediately if a mouse button is not currently pressed. Usedragrect
in aButtonDownFcn
, or from the command line in conjunction withwaitforbuttonpress
, to ensure that the mouse button is down whendragrect
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.
Note:You cannot use normalized figure units with |