rubberbox
rubberband box for rectangle selection
Syntax
[final_rect, btn] = rubberbox() [final_rect, btn] = rubberbox(initial_rect) [final_rect, btn] = rubberbox(edition_mode) [final_rect, btn] = rubberbox(initial_rect, edition_mode)
Arguments
- initial_rect
a vector with two or four entries. With four entries it gives the initial rectangle defined by
[x_min, y_max, width, height]
(wherex_min
andy_max
are coordinates of initial corner position, with two entries width and height are supposed to be 0.- edition_mode
a boolean, if
edition_mode
is%t
button press selects the first corner, release selects the opposite corner. Ifedition_mode
is%f
, a button press or click selects the first corner, a click is requested to select the opposite corner. The default value is%f
.- final_rect
a rectangle defined by
[x_min, y_max, width, height]
.- btn
an integer, the number of the mouse button clicked.
Description
rubberbox(initial_rect)
tracks a rubberband box in
the current graphic window, following the mouse. When a button is
clicked rubberbox
returns the final
rectangles definition in final_Rect
. If the
argument initial_rect
is not specified, a click
is needed to fix the initial corner position.
Examples
clf plot2d() a = gca(); db = a.data_bounds; x0 = (db(1)*2+db(2))/3; dx = (db(2)-db(1))/3; y0 = (db(3)+db(4)*2)/3; dy = (db(4)-db(3))/3; xtitle(msprintf("With an initial starting corner: x0 = %0.2f, y0 = %0.2f",x0,y0)) r = rubberbox([x0 y0])
clf plot2d() a = gca(); db = a.data_bounds; x0 = (db(1)*2+db(2))/3; dx = (db(2)-db(1))/3; y0 = (db(3)+db(4)*2)/3; dy = (db(4)-db(3))/3; xtitle(msprintf("With an initial box: x0 = %0.2f, y0 = %0.2f, width = %0.2f, height = %0.2f,",x0-dx/4,y0+dy/5,2*dx,dy)) r = rubberbox([x0-dx/4 y0+dy/5 2*dx dy])
See also
Report an issue | ||
<< locate | Interactivité | seteventhandler >> |