draw_xld_mod
— Interaktives Modifizieren einer Kontur.
draw_xld_mod
liefert eine Kontur, die interaktiv
durch den Benutzer im Fenster modifiziert worden ist.
Die Kontur kann auf zwei Arten modifiziert werden: Durch Editieren, zum
Beispiel durch Einfügen oder Verschieben von Punkten, oder durch das
Transformieren der Kontur als Ganzes, zum Beispiel durch Rotation,
Verschieben oder Skalieren. Die Kontur kann jedoch nur editiert werden, wenn
der Parameter Edit
auf 'true' gesetzt wurde. Die Parameter
Rotate
, Move
und Scale
müssen auf 'true'
gesetzt werden, damit die entsprechende Bearbeitung durchgeführt werden kann.
draw_xld_mod
beginnt im Modus zum Transformieren.
Durch Drücken der Umschalttaste kann in den Modus zum Editieren gewechselt
werden; durch erneutes Drücken der Taste wechselt man zurück in den Modus
zum Transformieren.
Transformieren
In diesem Modus kann die Kontur rotiert, verschoben und skaliert werden,
jedoch nur wenn der entsprechenden Parameter Rotate
, Move
und Scale
auf 'true' gesetzt wurde. Die Kontur wird zusammen
mit einem Kreuz in der Mitte und einem Pfeil nach rechts,
falls Rotate
auf 'true' gesetzt wurde, und einem Doppelpfeil, falls Scale
auf 'true' gesetzt wurde, dargestellt.
Zum Verschieben der Kontur klickt man mit der linken Maustaste auf das Kreuz in der Mitte und bewegt die Maus dann mit gedrückter Taste zur neuen Position.
Zum Rotieren der Kontur klickt man mit der linken Maustaste auf den Pfeil und bewegt die Maus anschließend mit gedrückter Taste solange, bis sich die Kontur in der gewünschten Lage befindet.
Zum Skalieren der Kontur muss der Doppelpfeil bewegt werden. Um das
Seitenverhältnis beim Skalieren beizubehalten, muss der Parameter
KeepRatio
auf 'true' gesetzt werden.
Editieren In diesem Modus wird die Kontur zusammen mit 5 sogenannten Pickpunkten dargestellt. Diese befinden sich in der Mitte und an den vier Ecken des umschließenden Rechtecks. Bei geschlossener Kontur werden diese Pickpunkte als Rechtecke dargestellt, ansonsten gleicht deren Form einem 'u'. Durch Drücken auf diese Pickpunkte kann eine geöffnete Kontur geschlossen werden und umgekehrt. Abhängig vom Zustand der Kontur können unterschiedliche Modifikationen vorgenommen werden. Geöffnete Kontur (Pickpunkte gleichen einem 'u')
Um Punkte an die Kontur anzuhängen, muss mit der linken Maustaste ins Fenster geklickt werden. Hierdurch wird ein neuer Punkt an dieser Position eingefügt.
Der zuletzt angehängte Punkt kann durch Drücken der Steuerungstaste (Strg, Ctrl) gelöscht werden.
Zum Verschieben oder Einfügen von Punkten muss zunächst die Kontur geschlossen werden. Hierzu muss auf einen der Pickpunkte geklickt werden.
Geschlossene Kontur (rechteckige Pickpunkte)
Zum Verschieben eines Punktes muss mit der linke Maustaste auf einen Punkt, markiert durch ein Rechteck, geklickt werden. Während man nun die Maustaste gedrückt hält, kann der Punkt verschoben werden.
Wird die linke Maustaste in der Nähe einer Linie geklickt, so wird ein neuer Punkt eingefügt. Dieser kann, solange die linke Maustaste gedrückt wird, an die gewünschte Position verschoben werden.
Zum Löschen eines Punktes muss ein Punkt mit der linken Maustaste selektiert werden und anschließend die Steuerungstaste (Strg, Ctrl) gedrückt werden.
Ein Klick mit der rechten Maustaste beendet die Prozedur. Unter macOS
kann draw_xld_mod
auch durch Drücken der Escape-Taste beendet
werden.
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.
ContIn
(input_object) xld_cont →
object
Eingabekontur
ContOut
(output_object) xld_cont →
object
Modifizierte Kontur.
WindowHandle
(input_control) window →
(handle)
Fenster-Handle.
Rotate
(input_control) string →
(string)
Rotation ermöglichen?
Defaultwert: 'true'
Werteliste: 'false' , 'true'
Move
(input_control) string →
(string)
Verschieben ermöglichen?
Defaultwert: 'true'
Werteliste: 'false' , 'true'
Scale
(input_control) string →
(string)
Skalieren ermöglichen?
Defaultwert: 'true'
Werteliste: 'false' , 'true'
KeepRatio
(input_control) string →
(string)
Seitenverhältnis beim Skalieren beibehalten?
Defaultwert: 'true'
Werteliste: 'false' , 'true'
Edit
(input_control) string →
(string)
Editieren ermöglichen?
Defaultwert: 'true'
Werteliste: 'false' , 'true'
draw_xld_mod
liefert den Wert 2 (H_MSG_TRUE), falls das Fenster gültig
und der benötigte Zeichenmodus (siehe set_insert
) verfügbar ist.
Ansonsten wird eine Fehlerbehandlung durchgeführt.
reduce_domain
,
disp_region
,
set_colored
,
set_line_width
,
set_draw
,
set_insert
draw_rectangle2
,
draw_rectangle1
,
draw_rectangle2
,
draw_region
gen_rectangle2
,
draw_circle
,
draw_ellipse
,
set_insert
Foundation