Skip to content

slide_imageSlideImageSlideImageslide_imageT_slide_imageπŸ”—

Short descriptionπŸ”—

slide_imageSlideImageSlideImageslide_imageT_slide_image β€” Interactive output from two window buffers.

WarningπŸ”—

The operator slide_imageSlideImage does not work with HDevelop graphics windows. It is only provided for reasons of backward compatibility.

SignatureπŸ”—

slide_image( window WindowHandleSource1, window WindowHandleSource2, window WindowHandle )void SlideImage( const HTuple& WindowHandleSource1, const HTuple& WindowHandleSource2, const HTuple& WindowHandle )static void HOperatorSet.SlideImage( HTuple windowHandleSource1, HTuple windowHandleSource2, HTuple windowHandle )def slide_image( window_handle_source_1: HHandle, window_handle_source_2: HHandle, window_handle: HHandle ) -> None

Herror T_slide_image( const Htuple WindowHandleSource1, const Htuple WindowHandleSource2, const Htuple WindowHandle )

void HWindow::SlideImage( const HWindow& WindowHandleSource2, const HWindow& WindowHandle ) const

void HWindow.SlideImage( HWindow windowHandleSource2, HWindow windowHandle )

DescriptionπŸ”—

slide_imageSlideImage 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 operator slide_imageSlideImage.

A useful application of the operator slide_imageSlideImage might be the visualization of the effect of a filtering operation for an image. The output is directed to the currently set window (WindowHandlewindowHandlewindow_handle).

AttentionπŸ”—

The three windows must have the same size and have to reside on the same computer.

Execution informationπŸ”—

Execution information
  • Multithreading type: reentrant (runs in parallel with non-exclusive operators).

  • Multithreading scope: global (may be called from any thread).

  • Processed without parallelization.

ParametersπŸ”—

WindowHandleSource1windowHandleSource1window_handle_source_1 (input_control) window β†’ (handle)HTuple (HHandle)HWindow, HTuple (IntPtr)HHandleHtuple (handle)

Source window handle of the β€œupper window”.

WindowHandleSource2windowHandleSource2window_handle_source_2 (input_control) window β†’ (handle)HTuple (HHandle)HWindow, HTuple (IntPtr)HHandleHtuple (handle)

Source window handle of the β€œlower window”.

WindowHandlewindowHandlewindow_handle (input_control) window β†’ (handle)HTuple (HHandle)HWindow, HTuple (IntPtr)HHandleHtuple (handle)

Output window handle.

ExampleπŸ”—

(HDevelop)

read_image (Image, 'fabrik')
sobel_dir (Image, EdgeAmplitude, EdgeDirection, 'sum_abs', 3)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle1)
dev_display (EdgeAmplitude)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle2)
dev_display (EdgeDirection)
dev_open_window (0, 0, 512, 512, 'black', WindowHandle)
slide_image (WindowHandle1, WindowHandle2, WindowHandle)
(C)
read_image(&Image,"fabrik")\;
sobel_amp(Image,&Amp,"sum_abs",3)\;
open_window(0,0,-1,-1,"root","buffer","",&Buffer1)\;
disp_image(Amp,Buffer1)\;
sobel_dir(Image,&Amp,&Dir,"sum_abs",3)\;
open_window(0,0,-1,-1,"root","buffer","",&Buffer2)\;
disp_image(Dir,Buffer2)\;
open_window(0,0,-1,-1,"root","visible","",&WindowHandle)\;
slide_image(Buffer1,Buffer2,WindowHandle)\;

ResultπŸ”—

If the both windows exist and one of these windows is valid slide_imageSlideImage returns 2 (H_MSG_TRUE). If necessary an exception is raised.

Combinations with other operatorsπŸ”—

Combinations

Possible predecessors

open_windowOpenWindow

Alternatives

copy_rectangleCopyRectangle, get_mpositionGetMposition

See also

open_windowOpenWindow, move_rectangleMoveRectangle

ModuleπŸ”—

Foundation