Herror ::draw_rectangle1_mod (
    const HTuple &WindowHandle,
    const HTuple &Row1In,
    const HTuple &Column1In,
    const HTuple &Row2In,
    const HTuple &Column2In,
    double *Row1,
    double *Column1,
    double *Row2,
    double *Column2
)
HTuple HWindow::DrawRectangle1Mod (
    const HTuple &Row1In,
    const HTuple &Column1In,
    const HTuple &Row2In,
    const HTuple &Column2In,
    HTuple *Column1,
    HTuple *Row2,
    HTuple *Column2
) const

Draw a rectangle parallel to the coordinate axis.

::draw_rectangle1_mod returns the parameter for a rectangle parallel to the coordinate axes, which has been created interactively by the user in the window.

To create a rectangle are expected the parameters Row1In, Column1In,Row2In und Column2In. After a mouse click in the middle of the created rectangle you can move it. A click close to one side ``grips'' it to modify the rectangle's dimension in perpendicular direction to this side. If you click on one corner of the created rectangle, you may move this corner. Pressing the right mousebutton terminates the procedure.

After terminating the procedure the rectangle is not visible in the window any longer.


Parameters

WindowHandle (input_control)
window -> HTuple.long
Window_id.

Row1In (input_control)
rectangle.origin.y -> HTuple.double
Row index of the left upper corner.

Column1In (input_control)
rectangle.origin.x -> HTuple.double
Column index of the left upper corner.

Row2In (input_control)
rectangle.corner.y -> HTuple.double
Row index of the right lower corner.

Column2In (input_control)
rectangle.corner.x -> HTuple.double
Column index of the right lower corner.

Row1 (output_control)
rectangle.origin.y -> double *
Row index of the left upper corner.

Column1 (output_control)
rectangle.origin.x -> double *
Column index of the left upper corner.

Row2 (output_control)
rectangle.corner.y -> double *
Row index of the right lower corner.

Column2 (output_control)
rectangle.corner.x -> double *
Column index of the right lower corner.


Example
get_system("width",Width) ;
get_system("height",Height) ;
set_part(WindowHandle,0,0,Width-1,Height-1) ;
read_image(&Image,"affe") ;
disp_image(Image,WindowHandle) ;
draw_rectangle1_mod(WindowHandle,Row1In,Column1In,Row2In,Column2In,&Row1,&Column1,&Row2,&Column2) ;
set_part(WindowHandle,Row1,Column1,Row2,Column2) ;
disp_image(Image,WindowHandle) ;
fwrite_string("Clipping = (") ;
fwrite_string(Row1) ;
fwrite_string(",") ;
fwrite_string(Column1) ;
fwrite_string("),(") ;
fwrite_string(Row2) ;
fwrite_string(",") ;
fwrite_string(Column2) ;
fwrite_string(")") ;  
fnew_line(:::) ;

Result

::draw_rectangle1_mod returns H_MSG_TRUE, if the window is valid and the needed drawing mode (see ::set_insert) is available. If necessary, an exception handling is raised.


Possible Predecessors

::open_window


Possible Successors

::reduce_domain, ::disp_region, ::set_colored, ::set_line_width, ::set_draw, ::set_insert


Alternatives

::draw_rectangle1, ::draw_rectangle2, ::draw_region


See also

::gen_rectangle1, ::draw_circle, ::draw_ellipse, ::set_insert


Module

System



Copyright © 1996-2002 MVTec Software GmbH