drag_region1T_drag_region1DragRegion1DragRegion1drag_region1 (算子名称)

名称

drag_region1T_drag_region1DragRegion1DragRegion1drag_region1 — Interactive moving of a region.

Warning

This operator does not work in an HDevelop graphics window opened with dev_open_window.

参数签名

drag_region1(SourceRegion : DestinationRegion : WindowHandle : )

Herror T_drag_region1(const Hobject SourceRegion, Hobject* DestinationRegion, const Htuple WindowHandle)

void DragRegion1(const HObject& SourceRegion, HObject* DestinationRegion, const HTuple& WindowHandle)

HRegion HRegion::DragRegion1(const HWindow& WindowHandle) const

HRegion HWindow::DragRegion1(const HRegion& SourceRegion) const

static void HOperatorSet.DragRegion1(HObject sourceRegion, out HObject destinationRegion, HTuple windowHandle)

HRegion HRegion.DragRegion1(HWindow windowHandle)

HRegion HWindow.DragRegion1(HRegion sourceRegion)

def drag_region1(source_region: HObject, window_handle: HHandle) -> HObject

描述

drag_region1drag_region1DragRegion1DragRegion1DragRegion1drag_region1 is used to move a region on the display by mouse. Calling drag_region1drag_region1DragRegion1DragRegion1DragRegion1drag_region1 turns the region visible as soon as the left mouse button is pressed. Therefore the region's edges are displayed only. As representation mode the mode 'not' (see set_drawset_drawSetDrawSetDrawSetDrawset_draw) is used during procedure's permanence. During the movement the cursor resides in the region's barycenter. If you move the mouse with pressed left mouse button, the depicted region follows - delayed - this movement. If you press the right mouse button you terminate drag_region1drag_region1DragRegion1DragRegion1DragRegion1drag_region1. The depicted region disappears from the display. Output is a region which corresponds to the last position on the display. You may pass even several regions at once. The operator affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image moves the gray values.

注意

Gray values of regions 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.

运行信息

参数表

SourceRegionSourceRegionSourceRegionSourceRegionsourceRegionsource_region (input_object)  region-array objectHRegionHObjectHRegionHobject

Regions to move.

DestinationRegionDestinationRegionDestinationRegionDestinationRegiondestinationRegiondestination_region (output_object)  region-array objectHRegionHObjectHRegionHobject *

Moved Regions.

WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control)  window HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)

Window handle.

例程 (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

例程 (C)

draw_region(&Obj,WindowHandle);
drag_region1(Obj,&New,WindowHandle);
disp_region(New,WindowHandle);

例程 (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

例程 (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

例程 (HDevelop)

draw_region(Obj,WindowHandle)
dev_set_color ('green')
drag_region1(Obj,New,WindowHandle)
dev_display(New)
get_region_runs (Obj, Rows1, ColumnBegins1, ColumnEnds1)
get_region_runs (New, Rows2, ColumnBegins2, ColumnEnds2)
Row1 := Rows1[0]
Column1 := ColumnBegins1[0]
Row2 := Rows2[0]
Column2 := ColumnBegins2[0]
dev_set_color ('white')
gen_arrow_contour_xld (Arrow, Row1,Column1,Row2,Column2, 5, 5)
dev_display (Arrow)

结果

drag_region1drag_region1DragRegion1DragRegion1DragRegion1drag_region1 returns 2 ( H_MSG_TRUE) , if a region is entered, 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>).

可能的前置算子

open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window

可能的后置算子

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

可替代算子

get_mpositionget_mpositionGetMpositionGetMpositionGetMpositionget_mposition, move_regionmove_regionMoveRegionMoveRegionMoveRegionmove_region

参考其它

set_insertset_insertSetInsertSetInsertSetInsertset_insert, set_drawset_drawSetDrawSetDrawSetDrawset_draw, affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImageaffine_trans_image

模块

Foundation