Interactive output out of two window buffers.
slide_image divides the current 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 current window determines the borderline).
Pressing the right mouse button in the current 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.
The three windows must have the same size and have to reside on the same computer.
Window1 (input_control) |
window.id -> integer |
Logical window number of the "upper window". |
Window2 (input_control) |
window.id -> integer |
Logical window number of the "lower window". |
read_image(Image::'fabrik':) > sobel_amp(Image:Amp:'sum_abs',3:) > open_window(0,0,-1,-1,'root','buffer','') > disp_image(Amp:::) > get_window(:::Puffer1) > sobel_dir(Image:Dir:'sum_abs',3:) > open_window(0,0,-1,-1,'root','buffer','') > disp_image(Dir:::) > get_window(:::Puffer2) > open_window(0,0,-1,-1,'root','visible','') > slide_image(::Puffer1,Puffer2:).
If the both windows exist and if one of these windows is activated, then slide_image returns TRUE. If necessary an exception is raised.
open_window, open_textwindow, set_window
open_window, open_textwindow, move_rectangle