draw_rectangle2
— Interaktives Erstellen eines beliebig orientierten Rechtecks.
draw_rectangle2
liefert die Parameter für ein beliebig
orientiertes Rechteck, das interaktiv durch den Benutzer im
Fenster erzeugt worden ist.
Das zu erzeugende Rechteck wird durch seinen Mittelpunkt, seine zwei Halbachsen und den Winkel der ersten Halbachse zur horizontalen Koordinatenachse beschrieben.
Für die Erzeugung des Rechtecks wird mit der linken Maustaste der
Mittelpunkt des Rechtecks festgelegt. Während die Taste gedrückt bleibt,
kann die Länge (Length1
) und die Orientierung (Phi
) der
ersten Halbachse festgelegt werden. Dabei wird für die zweite Halbachse
vorläufig eine Default-Länge verwendet, die anschließend aber noch
verändert werden kann.
Nach einem erneuten Mausklick in die Mitte des erzeugten Rechtecks, kann
dieses beliebig verschoben werden. Mit einem Klick in die Nähe einer Seite
kann diese „angefasst“ werden, um die Ausdehnung des Rechtecks in
senkrechter Richtung zu dieser Seite zu verändern. Die Orientierung kann
nur verändert werden, wenn eine Seite senkrecht zur ersten Halbachse
angefasst wird.
Ein Klick mit der rechten Maustaste beendet die Prozedur. Unter macOS
kann draw_rectangle2
auch durch Drücken der Escape-Taste beendet
werden.
Das Rechteck ist nach Beendigung der Prozedur nicht mehr auf dem Fenster sichtbar.
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.
WindowHandle
(input_control) window →
(handle)
Fenster-Handle.
Row
(output_control) rectangle2.center.y →
(real)
Zeilenindex des Mittelpunkts.
Column
(output_control) rectangle2.center.x →
(real)
Spaltenindex des Mittelpunkts.
Phi
(output_control) rectangle2.angle.rad →
(real)
Orientierung der größeren Halbachse in Bogenmaß.
Length1
(output_control) rectangle2.hwidth →
(real)
Größere Halbachse.
Length2
(output_control) rectangle2.hheight →
(real)
Kleinere Halbachse.
draw_rectangle2
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_mod
,
draw_rectangle1
,
draw_region
gen_rectangle2
,
draw_circle
,
draw_ellipse
,
set_insert
Foundation