draw_xldT_draw_xldDrawXldDrawXlddraw_xld (Operator)
Name
draw_xldT_draw_xldDrawXldDrawXlddraw_xld — Interaktives Erstellen einer Kontur.
Signatur
void DrawXld(HObject* ContOut, const HTuple& WindowHandle, const HTuple& Rotate, const HTuple& Move, const HTuple& Scale, const HTuple& KeepRatio)
void HXLDCont::DrawXld(const HWindow& WindowHandle, const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio)
void HXLDCont::DrawXld(const HWindow& WindowHandle, const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio)
void HXLDCont::DrawXld(const HWindow& WindowHandle, const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio)
(Nur Windows)
HXLDCont HWindow::DrawXld(const HString& Rotate, const HString& Move, const HString& Scale, const HString& KeepRatio) const
HXLDCont HWindow::DrawXld(const char* Rotate, const char* Move, const char* Scale, const char* KeepRatio) const
HXLDCont HWindow::DrawXld(const wchar_t* Rotate, const wchar_t* Move, const wchar_t* Scale, const wchar_t* KeepRatio) const
(Nur Windows)
static void HOperatorSet.DrawXld(out HObject contOut, HTuple windowHandle, HTuple rotate, HTuple move, HTuple scale, HTuple keepRatio)
void HXLDCont.DrawXld(HWindow windowHandle, string rotate, string move, string scale, string keepRatio)
HXLDCont HWindow.DrawXld(string rotate, string move, string scale, string keepRatio)
Beschreibung
draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld liefert eine Kontur, die interaktiv
durch den Benutzer im Fenster erzeugt worden ist.
Direkt nach dem Aufruf von draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld kann man, durch Drücken der
linken Maustaste, Punkte zur Kontur hinzufügen. Der zuletzt angehängte Punkt
kann durch Drücken der Steuerungstaste (Strg, Ctrl) gelöscht werden. Sobald
die Kontur aus 3 Punkten besteht, werden 5 Pickpunkte dargestellt, einer in
der Mitte und die anderen an den 4 Ecken des umschließenden Rechtecks. Durch
Klicken auf einen dieser Pickpunkte kann die Kontur geschlossen und wieder
geöffnet werden. Bei einer geschlossenen Kontur werden die Pickpunkte als
Rechtecke dargestellt, ansonsten gleicht ihre Form einem 'u'.
Bei einer geschlossene Kontur kann man
-
Konturpunkte verschieben, indem man mit der linken Maustaste auf
einen Punkt, markiert durch ein Rechteck, klickt und bei gedrückter
Maustaste die Maus bewegt,
-
Konturpunkte einfügen, indem man mit der linken Maustaste in die
Nähe einer
Linie klickt, und dann die Maus bei gedrückter Maustaste an die gewünschte
Position bewegt, und
-
Konturpunkte löschen, indem man einen Punkt über die linke Maustaste
selektiert und dann die Steuerungstaste (Strg, Ctrl) drückt.
Durch Drücken der Umschalttaste kann in den Modus zum Transformieren der
Kontur gewechselt werden.
In diesem Modus kann die Kontur rotiert, verschoben und skaliert werden,
jedoch nur wenn der entsprechenden Parameter RotateRotateRotateRotaterotaterotate, MoveMoveMoveMovemovemove
und ScaleScaleScaleScalescalescale auf 'true'"true""true""true""true""true" gesetzt wurde. Die Kontur wird
zusammen mit einem Kreuz in der Mitte und einem Pfeil nach rechts, falls
RotateRotateRotateRotaterotaterotate auf 'true'"true""true""true""true""true" gesetzt wurde, und einem Doppelpfeil,
falls ScaleScaleScaleScalescalescale auf 'true'"true""true""true""true""true" gesetzt wurde, dargestellt.
Die Kontur kann
-
verschoben werden, indem man mit der linken Maustaste auf das Kreuz
im Mittelpunkt klickt und dann die Kontur an die neue Position schiebt,
-
rotiert werden, indem man mit der linken Maustaste auf den Pfeil
klickt und die Maus bewegt bis die Kontur die gewünschte Lage eingenommen
hat, und
-
skaliert werden, indem der Doppelpfeil verschoben wird. Um das
Seitenverhältnis beim Skalieren beizubehalten, muss der Parameter
KeepRatioKeepRatioKeepRatioKeepRatiokeepRatiokeep_ratio auf 'true'"true""true""true""true""true" gesetzt werden.
Ein Klick mit der rechten Maustaste beendet die Prozedur. Unter macOS
kann draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld auch durch Drücken der Escape-Taste beendet
werden.
Achtung
Für die Nutzung des Zeichenoperators in einem Puffer-Fenster muss die
Anwendung Maus-Events senden. Der Zeichenoperator muss
dabei in einem anderen Thread ausgeführt werden.
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
ContOutContOutContOutContOutcontOutcont_out (output_object) xld_cont → objectHXLDContHObjectHXLDContHobject *
Modifizierte Kontur.
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Fenster-Handle.
RotateRotateRotateRotaterotaterotate (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Rotation ermöglichen?
Defaultwert:
'true'
"true"
"true"
"true"
"true"
"true"
Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
MoveMoveMoveMovemovemove (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Verschieben ermöglichen?
Defaultwert:
'true'
"true"
"true"
"true"
"true"
"true"
Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
ScaleScaleScaleScalescalescale (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Skalieren ermöglichen?
Defaultwert:
'true'
"true"
"true"
"true"
"true"
"true"
Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
KeepRatioKeepRatioKeepRatioKeepRatiokeepRatiokeep_ratio (input_control) string → HTuplestrHTupleHtuple (string) (string) (HString) (char*)
Seitenverhältnis beim Skalieren beibehalten?
Defaultwert:
'true'
"true"
"true"
"true"
"true"
"true"
Werteliste: 'false'"false""false""false""false""false", 'true'"true""true""true""true""true"
Ergebnis
draw_xlddraw_xldDrawXldDrawXldDrawXlddraw_xld liefert den Wert TRUE, falls das Fenster gültig
und der benötigte Zeichenmodus (siehe set_insertset_insertSetInsertSetInsertSetInsertset_insert) verfügbar ist.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
Vorgänger
open_windowopen_windowOpenWindowOpenWindowOpenWindowopen_window
Nachfolger
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
Alternativen
draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2,
draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1,
draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2,
draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region
Siehe auch
gen_rectangle2gen_rectangle2GenRectangle2GenRectangle2GenRectangle2gen_rectangle2,
draw_circledraw_circleDrawCircleDrawCircleDrawCircledraw_circle,
draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipsedraw_ellipse,
set_insertset_insertSetInsertSetInsertSetInsertset_insert
Modul
Foundation