drag_region3T_drag_region3DragRegion3DragRegion3 (Operator)
Name
drag_region3T_drag_region3DragRegion3DragRegion3
— Interaktives Verschieben einer Region mit der Beschränkung der Positionen.
Warnung
Dieser Operator kann nicht in HDevelop-Grafikfenstern verwendet werden, die
mit dev_open_window
geöffnet wurden.
Signatur
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)
Beschreibung
drag_region3drag_region3DragRegion3DragRegion3DragRegion3
dient dazu, die Region mit der Maus auf dem
Bildschirm zu verschieben.
Dies entspricht dem Operator drag_region2drag_region2DragRegion2DragRegion2DragRegion2
, mit der Erweiterung,
dass hier auch noch alle Punkte angegeben werden, auf denen sich
die Maus bewegen darf.
Wird die Maus außerhalb dieses Bereiches (MaskRegionMaskRegionMaskRegionMaskRegionmaskRegion
) geführt,
dann wird die Region auf dem Punkt mit dem geringsten Abstand
zur Maus innerhalb von MaskRegionMaskRegionMaskRegionMaskRegionmaskRegion
dargestellt.
Achtung
Die Grauwerte der Regionen werden nicht verschoben.
Da die Eingaberegion verschoben wird, ist nicht sichergestellt,
dass die Grauwerte der Ausgaberegionen sinnvoll besetzt sind. Dieser Fall
kann eintreten, wenn die Grauwerte der Eingaberegionen nicht das ganze
Bild umfassen.
Ausführungsinformationen
- Multithreading-Typ: reentrant (läuft parallel zu nicht-exklusiven Operatoren).
- Multithreading-Bereich: global (kann von jedem Thread aufgerufen werden).
- Wird ohne Parallelisierung verarbeitet.
Parameter
SourceRegionSourceRegionSourceRegionSourceRegionsourceRegion
(input_object) region-array →
objectHRegionHRegionHobject
Zu verschiebende Regionen.
MaskRegionMaskRegionMaskRegionMaskRegionmaskRegion
(input_object) region-array →
objectHRegionHRegionHobject
Punkte auf denen sich die Region bewegen darf.
DestinationRegionDestinationRegionDestinationRegionDestinationRegiondestinationRegion
(output_object) region-array →
objectHRegionHRegionHobject *
Verschobene Regionen.
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandle
(input_control) window →
HWindow, HTupleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Fenster-Handle.
RowRowRowRowrow
(input_control) point.y →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Zeilenindex des Bezugspunktes.
Defaultwert: 100
Wertevorschläge: 0, 64, 128, 256, 512
Typischer Wertebereich: 0
≤
Row
Row
Row
Row
row
≤
1024
ColumnColumnColumnColumncolumn
(input_control) point.x →
HTupleHTupleHtuple (integer) (int / long) (Hlong) (Hlong)
Spaltenindex des Bezugspunktes.
Defaultwert: 100
Wertevorschläge: 0, 64, 128, 256, 512
Typischer Wertebereich: 0
≤
Column
Column
Column
Column
column
≤
1024
Ergebnis
drag_region3drag_region3DragRegion3DragRegion3DragRegion3
liefert den Wert 2 (H_MSG_TRUE), falls eine Region eingegeben
wird, das Fenster gültig ist und der benötigte Zeichenmodus
(siehe set_insertset_insertSetInsertSetInsertSetInsert
) verfügbar ist.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
Das Verhalten bei einer leeren Eingabe kann mit
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>)
bestimmt werden.
Vorgänger
open_windowopen_windowOpenWindowOpenWindowOpenWindow
,
get_mpositionget_mpositionGetMpositionGetMpositionGetMposition
Nachfolger
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
Alternativen
get_mpositionget_mpositionGetMpositionGetMpositionGetMposition
,
move_regionmove_regionMoveRegionMoveRegionMoveRegion
,
drag_region1drag_region1DragRegion1DragRegion1DragRegion1
,
drag_region2drag_region2DragRegion2DragRegion2DragRegion2
Siehe auch
set_insertset_insertSetInsertSetInsertSetInsert
,
set_drawset_drawSetDrawSetDrawSetDraw
,
affine_trans_imageaffine_trans_imageAffineTransImageAffineTransImageAffineTransImage
Modul
Foundation