draw_line_modT_draw_line_modDrawLineModDrawLineModdraw_line_mod (Operator)
Name
draw_line_modT_draw_line_modDrawLineModDrawLineModdraw_line_mod — Zeichnen einer Gerade.
Signatur
void DrawLineMod(const HTuple& WindowHandle, const HTuple& Row1In, const HTuple& Column1In, const HTuple& Row2In, const HTuple& Column2In, HTuple* Row1, HTuple* Column1, HTuple* Row2, HTuple* Column2)
void HWindow::DrawLineMod(double Row1In, double Column1In, double Row2In, double Column2In, double* Row1, double* Column1, double* Row2, double* Column2) const
static void HOperatorSet.DrawLineMod(HTuple windowHandle, HTuple row1In, HTuple column1In, HTuple row2In, HTuple column2In, out HTuple row1, out HTuple column1, out HTuple row2, out HTuple column2)
void HWindow.DrawLineMod(double row1In, double column1In, double row2In, double column2In, out double row1, out double column1, out double row2, out double column2)
Beschreibung
draw_line_moddraw_line_modDrawLineModDrawLineModDrawLineModdraw_line_mod liefert die Parameter für eine Gerade, die interaktiv
durch den Benutzer im Fenster erzeugt worden ist.
Für die Erzeugung der Gerade werden die Koordinaten Row1InRow1InRow1InRow1Inrow1Inrow_1in,
Column1InColumn1InColumn1InColumn1Incolumn1Incolumn_1in des Startpunktes und Row2InRow2InRow2InRow2Inrow2Inrow_2in,Column2InColumn2InColumn2InColumn2Incolumn2Incolumn_2in
des Endpunktes erwartet.
Klickt man auf einen Endpunkt der erzeugten Gerade, kann diesen Punkt
verschoben werden.
Nach einem erneuten Mausklick in die Mitte der erzeugten Gerade, kann diese
beliebig verschoben werden.
Ein Klick mit der rechten Maustaste beendet die Prozedur. Unter macOS
kann draw_line_moddraw_line_modDrawLineModDrawLineModDrawLineModdraw_line_mod auch durch Drücken der Escape-Taste beendet
werden.
Die Gerade ist nach Beendigung der Prozedur nicht mehr auf dem Fenster
sichtbar.
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
WindowHandleWindowHandleWindowHandleWindowHandlewindowHandlewindow_handle (input_control) window → HWindow, HTupleHHandleHTupleHtuple (handle) (IntPtr) (HHandle) (handle)
Fenster-Handle.
Row1InRow1InRow1InRow1Inrow1Inrow_1in (input_control) line.begin.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Zeilenindex des ersten Punktes der Gerade.
Column1InColumn1InColumn1InColumn1Incolumn1Incolumn_1in (input_control) line.begin.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Spaltenindex des ersten Punktes der Gerade.
Row2InRow2InRow2InRow2Inrow2Inrow_2in (input_control) line.end.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Zeilenindex des zweiten Punktes der Gerade.
Column2InColumn2InColumn2InColumn2Incolumn2Incolumn_2in (input_control) line.end.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Spaltenindex des zweiten Punktes der Gerade.
Row1Row1Row1Row1row1row_1 (output_control) line.begin.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Zeilenindex des ersten Punktes der Gerade.
Column1Column1Column1Column1column1column_1 (output_control) line.begin.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Spaltenindex des ersten Punktes der Gerade.
Row2Row2Row2Row2row2row_2 (output_control) line.end.y → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Zeilenindex des zweiten Punktes der Gerade.
Column2Column2Column2Column2column2column_2 (output_control) line.end.x → HTuplefloatHTupleHtuple (real) (double) (double) (double)
Spaltenindex des zweiten Punktes der Gerade.
Beispiel (HDevelop)
draw_line_mod(WindowHandle,10,20,55,124,Row1,Column1,Row2,Column2)
gen_contour_polygon_xld (Line, [Row1,Row2], [Column1,Column2])
dev_display (Line)
Beispiel (C)
draw_line(WindowHandle,10,20,55,124,&Row1,&Column1,&Row2,&Column2);
disp_line(WindowHandle,Row1,Column1,Row2,Column2);
Beispiel (HDevelop)
draw_line_mod(WindowHandle,10,20,55,124,Row1,Column1,Row2,Column2)
gen_contour_polygon_xld (Line, [Row1,Row2], [Column1,Column2])
dev_display (Line)
Beispiel (HDevelop)
draw_line_mod(WindowHandle,10,20,55,124,Row1,Column1,Row2,Column2)
gen_contour_polygon_xld (Line, [Row1,Row2], [Column1,Column2])
dev_display (Line)
Beispiel (HDevelop)
draw_line_mod(WindowHandle,10,20,55,124,Row1,Column1,Row2,Column2)
gen_contour_polygon_xld (Line, [Row1,Row2], [Column1,Column2])
dev_display (Line)
Ergebnis
draw_line_moddraw_line_modDrawLineModDrawLineModDrawLineModdraw_line_mod liefert den Wert 2 (H_MSG_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_linedisp_lineDispLineDispLineDispLinedisp_line,
set_coloredset_coloredSetColoredSetColoredSetColoredset_colored,
set_line_widthset_line_widthSetLineWidthSetLineWidthSetLineWidthset_line_width,
set_drawset_drawSetDrawSetDrawSetDrawset_draw,
set_insertset_insertSetInsertSetInsertSetInsertset_insert
Alternativen
draw_linedraw_lineDrawLineDrawLineDrawLinedraw_line,
draw_ellipsedraw_ellipseDrawEllipseDrawEllipseDrawEllipsedraw_ellipse,
draw_regiondraw_regionDrawRegionDrawRegionDrawRegiondraw_region
Siehe auch
gen_circlegen_circleGenCircleGenCircleGenCirclegen_circle,
draw_rectangle1draw_rectangle1DrawRectangle1DrawRectangle1DrawRectangle1draw_rectangle1,
draw_rectangle2draw_rectangle2DrawRectangle2DrawRectangle2DrawRectangle2draw_rectangle2
Modul
Foundation