draw_line ( : : WindowHandle : Row1, Column1, Row2, Column2 )

Draw a line.

draw_line returns the parameter for a line, which has been created interactively by the user in the window.

To create a line you have to press the left mouse button determining a start point of the line. While keeping the button pressed you may ``drag'' the line in any direction. After another mouse click in the middle of the created line you can move it. If you click on one end point of the created line, you may move this point. Pressing the right mousebutton terminates the procedure.

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


Parameters

WindowHandle (input_control)
window -> integer
Window_id.

Row1 (output_control)
line.begin.y -> real
Row index of the first point of the line.

Column1 (output_control)
line.begin.x -> real
Column index of the first point of the line.

Row2 (output_control)
line.end.y -> real
Row index of the second point of the line.

Column2 (output_control)
line.end.x -> real
Column index of the second point of the line.


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_line(WindowHandle,Row1,Column1,Row2,Column2) 
set_part(WindowHandle,Row1,Column1,Row2,Column2) 
disp_image(Image,WindowHandle) 
fwrite_string(['Clipping = (',Row1,',',Column1,')']) 
fwrite_string([',(',Row2,',',Column2,')']) 
fnew_line().

Result

draw_line returns 2 (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.


Parallelization Information

draw_line is reentrant, local, and processed without parallelization.


Possible Predecessors

open_window


Possible Successors

reduce_domain, disp_line, set_colored, set_line_width, set_draw, set_insert


See also

draw_line_mod, gen_rectangle1, draw_circle, draw_ellipse, set_insert


Module

System



Copyright © 1996-2005 MVTec Software GmbH