Interactive output from two window buffers.
::slide_image divides the window horizontal in two logical areas dependent of the mouse position. The content of the first indicated window is copied in the upper area, the content of the second window is copied in the lower area. If you press the left mouse button you may scroll the delimitation between the two areas (you may move the mouse outside the window, too. In doing so the position of the mouse relative to the window determines the borderline).
Pressing the right mouse button in the window terminates the procedure ::slide_image.
A useful application of procedure ::slide_image might be the visualisation of the effect of a filtering operation for an image. The output is directed to the current set window (WindowHandle).
The three windows must have the same size and have to reside on the same computer.
|
WindowHandleSource1 (input_control) |
window -> HTuple.long |
| Logical window number of the "upper window". | |
|
WindowHandleSource2 (input_control) |
window -> HTuple.long |
| Logical window number of the "lower window". | |
|
WindowHandle (input_control) |
window -> HTuple.long |
| Window identifier. | |
read_image(&Image,"fabrik") ; sobel_amp(Image,&Amp,"sum_abs",3) ; open_window(0,0,-1,-1,"root","buffer","",&WindowHandle) ; disp_image(Amp,WindowHandle) ; sobel_dir(Image,&Dir,"sum_abs",3) ; open_window(0,0,-1,-1,"root","buffer","",&WindowHandle) ; disp_image(Dir,WindowHandle) ; open_window(0,0,-1,-1,"root","visible","",&WindowHandle) ; slide_image(Puffer1,Puffer2,WindowHandle) ;
If the both windows exist and one of these windows is valid ::slide_image returns H_MSG_TRUE. If necessary an exception handling is raised.
::open_window, ::open_textwindow
::copy_rectangle, ::get_mposition
::open_window, ::open_textwindow, ::move_rectangle
System