In diesem Kapitel werden Operatoren beschrieben, die zum manuellen Erstellen geometrischer Formen genutzt werden können. Diese benötigen die Interaktion des Benutzers über die Maustasten und blockieren die Anwendung bis die Interaktion abgeschlossen ist. Die in Graphik / Objekt aufgelisteten Operatoren ermöglichen es geometrische Formen zu erzeugen, ohne die Anwendung zu blockieren.
Die Operatoren , draw_region, draw_xld,
draw_xld_mod, draw_nurbs, draw_nurbs_mod,
draw_nurbs_interp sowie draw_nurbs_interp_mod,
drag_region1 und drag_region2 geben als Ergebnis ikonische
Objekte aus. Die restlichen Zeichenoperatoren geben geometrische Parameter
zurück, die zur Erstellung von Regionen oder Konturen in der jeweiligen Form
notwendig sind (vgl. Tabelle). Für die meisten Zeichenoperatoren
existiert zudem ein Modifikationsoperator, mit dem die zunächst
bestimmte Form nochmals angepasst werden kann.
drag_region3
Da für Zeichenoperatoren eine Interaktion des Nutzers über Maustasten nötig
ist, ist die Verwendung in den unsichtbaren Pufferfenstern (siehe
) an sich nicht möglich. Bei Verwendung solcher Fenster
sollten stattdessen Zeichenobjekte (siehe Graphik / Objekt)
genutzt werden.
Einige Zeichenoperatoren können dennoch in Pufferfenstern verwendet
werden. Mit Hilfe der Operatoren open_window,
send_mouse_double_click_event, send_mouse_down_event und
send_mouse_drag_event müssen die Mausereignisse und der Zustand der
Zusatztasten (Strg, Alt, Umschalttaste) gesendet werden, während der
Zeichenoperator in einem anderen Thread aufgerufen werden muss. Der
Bildausschnitt darf währenddessen nicht verändert werden.
send_mouse_up_event
| Zeichenoperatoren | Ausgabe | Objekt generieren | Funktioniert in Puffer-Fenstern |
|---|---|---|---|
|
, |
|
ja |
|
, , , |
|
ja |
|
, , , |
|
ja |
|
, , , , |
, |
ja |
|
, , |
, |
ja |
|
, , , , |
, |
ja |
|
|
- | ja |
|
|
- | ja |
|
|
- | ja |
|
, , , |
- | nein |
|
, , , , |
- | nein |
|
|
- | nein |
|
|
- | nein |
|
|
- | nein |
drag_region1drag_region2drag_region3draw_circledraw_circle_moddraw_ellipsedraw_ellipse_moddraw_linedraw_line_moddraw_nurbsdraw_nurbs_interpdraw_nurbs_interp_moddraw_nurbs_moddraw_pointdraw_point_moddraw_polygondraw_rectangle1draw_rectangle1_moddraw_rectangle2draw_rectangle2_moddraw_regiondraw_xlddraw_xld_mod