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.
|
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. | |
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(:::) ;
::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.
::reduce_domain, ::disp_region, ::set_colored, ::set_line_width, ::set_draw, ::set_insert
::draw_rectangle1, ::draw_rectangle2, ::draw_region
::gen_rectangle1, ::draw_circle, ::draw_ellipse, ::set_insert
System