world.WindowLine
Draws a line in a miniwindow
Prototype
long WindowLine(BSTR WindowName, long x1, long y1, long x2, long y2, long PenColour, long PenStyle, long PenWidth);
Description
This draws a line from x1,y1 to x2,y2 with the designated pen.
Note that changes to miniwindows will not become visible until the output window is redrawn. This happens when new (visible) lines arrive from the MUD, or if you call WindowShow, or Redraw.
Parameters:
WindowName - the name of an existing miniwindow.
x1, y2 - the starting point for the line.
x2, y2 - the ending point for the line (note: the x2, y2 point is taken literally, zero or negative numbers have no special significance, as at version 4.38 of MUSHclient).
PenColour - the RGB colour for this pen
PenStyle - what style of pen to use:
0 - solid (an unbroken pen)
1 - dash: -------
2 - dot: .......
3 - dashdot: _._._._
4 - dashdotdot: _.._.._
5 - null (no pen)
6 - insideframe - a solid pen, drawn inside the shape
Also you can add into the style:
0x0000 - round ends (0 = the default)
0x0100 - square ends (256)
0x0200 - flat ends (512)
0x0000 - round joins (0 = the default)
0x1000 - bevel joins (4096)
0x2000 - miter joins (8192)
PenWidth - the width of the pen in pixels. For styles 1 to 4 only a width of 1 is valid.
For a particular shape, specify style 5 (no pen) if you only want to fill the shape, and not stroke it as well.
For more information, see:
http://www.gammon.com.au/mushclient/mw_shapes.htm
Lua example
WindowLine (win, 20, 20, 80, 80, ColourNameToRGB ("blue"), 0, 2)
Lua notes
You can use the following constants for the pen style:
miniwin.pen_solid = 0
miniwin.pen_dash = 1
miniwin.pen_dot = 2
miniwin.pen_dash_dot = 3
miniwin.pen_dash_dot_dot = 4
miniwin.pen_null = 5
miniwin.pen_inside_frame = 6
-- how lines join (eg. in polygons) (add this to the style)
miniwin.pen_join_round = 0
miniwin.pen_join_bevel = 4096
miniwin.pen_join_miter = 8192
-- how lines end (add this to the style)
miniwin.pen_endcap_round = 0
miniwin.pen_endcap_square = 256
miniwin.pen_endcap_flat = 512
Return value
eNoSuchWindow - no such miniwindow
ePenStyleNotValid - invalid pen style
eOK - completed OK
Related topic
See also
| Function | Description |
|---|---|
| WindowArc | Draws an arc in a miniwindow |
| WindowBezier | Draws a Bézier curve in a miniwindow |
| WindowCircleOp | Draws ellipses, filled rectangles, round rectangles, chords, pies in a miniwindow |
| WindowCreate | Creates a miniwindow |
| WindowDrawImage | Draws an image into a miniwindow |
| WindowPolygon | Draws a polygon in a miniwindow |
| WindowRectOp | Draws a rectangle in a miniwindow |