MATLAB Function Reference
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 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 stepsize is `1`.

Remarks

`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

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)
```

`rbbox`, `waitforbuttonpress`