drag_region3T_drag_region3DragRegion3DragRegion3drag_region3 (Operator)
Name
drag_region3T_drag_region3DragRegion3DragRegion3drag_region3
— Interactive movement of a region with restriction of positions.
Warning
This operator does not work in an HDevelop graphics window opened with
dev_open_window
.
Signature
void DragRegion3(const HObject& SourceRegion, const HObject& MaskRegion, HObject* DestinationRegion, const HTuple& WindowHandle, const HTuple& Row, const HTuple& Column)
HRegion HRegion::DragRegion3(const HRegion& MaskRegion, const HWindow& WindowHandle, Hlong Row, Hlong Column) const
HRegion HWindow::DragRegion3(const HRegion& SourceRegion, const HRegion& MaskRegion, Hlong Row, Hlong Column) const
static void HOperatorSet.DragRegion3(HObject sourceRegion, HObject maskRegion, out HObject destinationRegion, HTuple windowHandle, HTuple row, HTuple column)
HRegion HRegion.DragRegion3(HRegion maskRegion, HWindow windowHandle, int row, int column)
HRegion HWindow.DragRegion3(HRegion sourceRegion, HRegion maskRegion, int row, int column)
Description
You use drag_region3drag_region3DragRegion3DragRegion3DragRegion3drag_region3
to move a region on the display by mouse.
It corresponds to the operator drag_region2drag_region2DragRegion2DragRegion2DragRegion2drag_region2
with the
enhancement, that all points are specified which can be entered by mouse.
If you move the mouse outside of this area (MaskRegionMaskRegionMaskRegionMaskRegionmaskRegionmask_region
), the
region on the point with the smallest distance inside MaskRegionMaskRegionMaskRegionMaskRegionmaskRegionmask_region
will be displayed.
Attention
The region's gray values are not moved.
With moving the input region it is not sure whether the gray values of the
output regions are filled reasonable. This may occur if the gray values of the
input regions do not comprise the whole image.
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
SourceRegionSourceRegionSourceRegionSourceRegionsourceRegionsource_region
(input_object) region-array →
objectHRegionHObjectHRegionHobject
Regions to move.
MaskRegionMaskRegionMaskRegionMaskRegionmaskRegionmask_region
(input_object) region-array →
objectHRegionHObjectHRegionHobject
Points on which it is allowed for a region to move.
DestinationRegionDestinationRegionDestinationRegionDestinationRegiondestinationRegiondestination_region
(output_object) region-array →
objectHRegionHObjectHRegionHobject *
Moved regions.
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle
(input_control) window →
HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Window handle.
RowRowRowRowrowrow
(input_control) point.y →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Row index of the reference point.
Default value: 100
Suggested values: 0, 64, 128, 256, 512
Typical range of values: 0
≤
Row
Row
Row
Row
row
row
≤
1024
ColumnColumnColumnColumncolumncolumn
(input_control) point.x →
HTupleintHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Column index of the reference point.
Default value: 100
Suggested values: 0, 64, 128, 256, 512
Typical range of values: 0
≤
Column
Column
Column
Column
column
column
≤
1024
Result
drag_region3drag_region3DragRegion3DragRegion3DragRegion3drag_region3
returns TRUE, if a region is entered, if the window
is valid and the needed drawing mode (see set_insertset_insertSetInsertSetInsertSetInsertset_insert
)
is available.
If necessary, an exception is raised.
You may determine the behavior after an empty input with
set_system(::'no_object_result',<Result>:)set_system("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)SetSystem("no_object_result",<Result>)set_system("no_object_result",<Result>)
.
Possible Predecessors
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window
,
get_mpositionget_mpositionGetMpositionGetMpositionGetMpositionget_mposition
Possible Successors
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomainreduce_domain
,
disp_regiondisp_regionDispRegionDispRegionDispRegiondisp_region
,
set_coloredset_coloredSetColoredSetColoredSetColoredset_colored
,
set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidthset_line_width
,
set_drawset_drawSetDrawSetDrawSetDrawset_draw
,
set_insertset_insertSetInsertSetInsertSetInsertset_insert
,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image
Alternatives
get_mpositionget_mpositionGetMpositionGetMpositionGetMpositionget_mposition
,
move_regionmove_regionMoveRegionMoveRegionMoveRegionmove_region
,
drag_region1drag_region1DragRegion1DragRegion1DragRegion1drag_region1
,
drag_region2drag_region2DragRegion2DragRegion2DragRegion2drag_region2
See also
set_insertset_insertSetInsertSetInsertSetInsertset_insert
,
set_drawset_drawSetDrawSetDrawSetDrawset_draw
,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image
Module
Foundation