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 matrix, rect
, defines the rectangles. Each row of rect
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,steprize)
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 stepsize is 1
.
Remarks
dragrect
returns immediately if a mouse button is not currently pressed. Use dragrect
in a ButtonDownFcn
, or from the commandline in conjunction with waitforbuttonpress
to ensure that the mouse button is down when dragrect
is called. dragrect
returns when you release the mouse button.
Example
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)
See Also
rbbox
, waitforbuttonpress
[ Previous | Help Desk | Next ]