Interactive drawing of a circle.
::draw_circle_mod produces the parameter for a circle created interactive by the user in the window.
To create a circle are expected the coordinates RowIn and ColumnIn of the center of a circle with radius RadiusIn. After another mouse click in the created circle center you can move it. A clicking close to the circular arc you can modify the Radius of the circle. Pressing the right mousebutton terminates the procedure. After terminating the procedure the circle is not visible in the window any longer.
|
WindowHandle (input_control) |
window -> HTuple.long |
| Window_id. | |
|
RowIn (input_control) |
circle.center.y -> HTuple.double |
| Row index of the center. | |
|
ColumnIn (input_control) |
circle.center.x -> HTuple.double |
| Column index of the center. | |
|
RadiusIn (input_control) |
circle.radius1 -> HTuple.double |
| Radius of the circle. | |
|
Row (output_control) |
circle.center.y -> double * |
| Barycenter's row index. | |
|
Column (output_control) |
circle.center.x -> double * |
| Barycenter's column index. | |
|
Radius (output_control) |
circle.radius -> double * |
| Circle's radius. | |
read_image(&Image,"affe") ; draw_circle_mod(WindowHandle,20,20,15,&Row,&Column,&Radius) ; gen_circle(&Circle,Row,Column,Radius) ; reduce_domain(Image,Circle,&GrayCircle) ; disp_image(GrayCircle,WindowHandle) ;
::draw_circle_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_circle, ::draw_ellipse, ::draw_region
::gen_circle, ::draw_rectangle1, ::draw_rectangle2, ::draw_polygon, ::set_insert
System