drag_region3T_drag_region3DragRegion3DragRegion3 (Operator)
Name
drag_region3T_drag_region3DragRegion3DragRegion3
— 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_region3DragRegion3DragRegion3DragRegion3
to move a region on the display by mouse.
It corresponds to the operator drag_region2drag_region2DragRegion2DragRegion2DragRegion2
with the
enhancement, that all points are specified which can be entered by mouse.
If you move the mouse outside of this area (MaskRegionMaskRegionMaskRegionMaskRegionmaskRegion
), the
region on the point with the smallest distance inside MaskRegionMaskRegionMaskRegionMaskRegionmaskRegion
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
SourceRegionSourceRegionSourceRegionSourceRegionsourceRegion
(input_object) region-array →
objectHRegionHRegionHobject
Regions to move.
MaskRegionMaskRegionMaskRegionMaskRegionmaskRegion
(input_object) region-array →
objectHRegionHRegionHobject
Points on which it is allowed for a region to move.
DestinationRegionDestinationRegionDestinationRegionDestinationRegiondestinationRegion
(output_object) region-array →
objectHRegionHRegionHobject *
Moved regions.
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle
(input_control) window →
HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Window handle.
RowRowRowRowrow
(input_control) point.y →
HTupleHTupleHtuple (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
≤
1024
ColumnColumnColumnColumncolumn
(input_control) point.x →
HTupleHTupleHtuple (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
≤
1024
Result
drag_region3drag_region3DragRegion3DragRegion3DragRegion3
returns 2 (H_MSG_TRUE), if a region is entered, if the window
is valid and the needed drawing mode (see set_insertset_insertSetInsertSetInsertSetInsert
)
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>)
.
Possible Predecessors
open_windowopen_windowOpenWindowOpenWindowOpenWindow
,
get_mpositionget_mpositionGetMpositionGetMpositionGetMposition
Possible Successors
reduce_domainreduce_domainReduceDomainReduceDomainReduceDomain
,
disp_regiondisp_regionDispRegionDispRegionDispRegion
,
set_coloredset_coloredSetColoredSetColoredSetColored
,
set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidth
,
set_drawset_drawSetDrawSetDrawSetDraw
,
set_insertset_insertSetInsertSetInsertSetInsert
,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage
Alternatives
get_mpositionget_mpositionGetMpositionGetMpositionGetMposition
,
move_regionmove_regionMoveRegionMoveRegionMoveRegion
,
drag_region1drag_region1DragRegion1DragRegion1DragRegion1
,
drag_region2drag_region2DragRegion2DragRegion2DragRegion2
See also
set_insertset_insertSetInsertSetInsertSetInsert
,
set_drawset_drawSetDrawSetDrawSetDraw
,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage
Module
Foundation