WindowCircleOp
Script function

world.WindowCircleOp

DOC_scripting Read about scripting

Type

Method

Summary

Draws ellipses, filled rectangles, round rectangles, chords, pies in a miniwindow

Prototype

long WindowCircleOp(BSTR Name, short Action, long Left, long Top, long Right, long Bottom, long PenColour, long PenStyle, long PenWidth, long BrushColour, long BrushStyle, long Extra1, long Extra2, long Extra3, long Extra4);

DOC_data_types View list of data type meanings


Description

This draws an ellipse, rectangle, round rectangle, chord or pie, controlled by the Action parameter.

Unlike WindowRectOp described above the rectangles drawn here can be filled with a brush, thus allowing you to have patterned interiors if desired.

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:

Name - the name of an existing miniwindow.

Action - what sort of shape to draw, as follows:

1 = Ellipse
2 = Rectangle
3 = Round Rectangle
4 = Chord
5 = Pie

Left, Top, Right, Bottom - describes the rectangle into which the shape must fit.

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

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.

BrushColour - the RGB colour for this brush

BrushStyle - what style of brush to use:

0: solid (filled with a solid colour)
1: null (not filled)
2: hatch: horizontal
3: hatch: vertical
4: hatch: forwards diagonal
5: hatch: backwards diagonal
6: hatch: cross
7: hatch: diagonal cross
8: fine pattern
9: medium pattern
10: coarse pattern
11: waves - horizontal
12: waves - vertical


For more information, see:

http://www.gammon.com.au/mushclient/mw_shapes.htm

For actions 1 and 2 (ellipse and rectangle):

Extra1, Extra2, Extra3, Extra4 are ignored.


For action 3 (round rectangle):

Extra1 is the width of the ellipse used to draw the rounded corner.

Extra2 is the height of the ellipse used to draw the rounded corner.

Extra3, Extra4 are ignored.


For action 4 (chord):

Extra1, Extra2 is the x, y position of the chord's starting point.

Extra3, Extra4 is the x, y position of the chord's ending point.



For action 5 (pie):

Extra1, Extra2 is the x, y position of the pie's starting point.

Extra3, Extra4 is the x, y position of the pie's ending point.



Lua example

-- Ellipses

WindowCircleOp (win, 1, 0, 0, 40, 40,    -- circle
                ColourNameToRGB("blue"), 0, 2, ColourNameToRGB("cyan"), 0)
WindowCircleOp (win, 1, 50, 20, 100, 100, -- ellipse
                ColourNameToRGB("magenta"), 0, 2, ColourNameToRGB("cyan"), 0)


-- Rectangles

WindowCircleOp (win, 2, 5, 5, 40, 40,   -- square
                ColourNameToRGB("blue"), 0, 3, ColourNameToRGB("cyan"), 8)
WindowCircleOp (win, 2, 50, 20, 95, 95, -- rectangle
                ColourNameToRGB("magenta"), 0, 3, ColourNameToRGB("cyan"), 11)


-- Round Rectangle

WindowCircleOp (win, 3, 15, 15, 90, 90,  -- round rectangle
        ColourNameToRGB("blue"), 0, 2, ColourNameToRGB("cyan"), 10, 25, 25)


-- Chord

WindowCircleOp (win, 4, 15, 15, 90, 90,  -- chord
        ColourNameToRGB("green"), 0, 2, ColourNameToRGB("cyan"), 0, 
        40, 10, 70, 95)

-- Pie

WindowCircleOp (win, 5, 15, 15, 90, 90,   -- pie
        ColourNameToRGB("green"), 0, 2, ColourNameToRGB("cyan"), 0, 
        60, 10, 80, 80)



Return value

eNoSuchWindow - no such miniwindow

ePenStyleNotValid - invalid pen style

eBrushStyleNotValid - invalid brush style

eUnknownOption - Action not in list above

eOK - completed OK


DOC_errors View list of return code meanings


See Also ...

Topic

DOC_miniwindows Mini Windows

Functions

FNC_GetDeviceCaps GetDeviceCaps (Gets screen device capabilities)
FNC_SetCursor SetCursor (Changes the shape of the mouse cursor)
FNC_TextRectangle TextRectangle (Specifies the size of the rectangle in which text is displayed in the output window.)
FNC_WindowAddHotspot WindowAddHotspot (Adds a hotspot to a miniwindow)
FNC_WindowArc WindowArc (Draws an arc in a miniwindow)
FNC_WindowBezier WindowBezier (Draws a Bézier curve in a miniwindow)
FNC_WindowBlendImage WindowBlendImage (Blends an image into a miniwindow, using a specified blending mode)
FNC_WindowCreate WindowCreate (Creates a miniwindow)
FNC_WindowCreateImage WindowCreateImage (Creates an image in a miniwindow)
FNC_WindowDelete WindowDelete (Deletes a miniwindow)
FNC_WindowDeleteAllHotspots WindowDeleteAllHotspots (Deletes all hotspots from a miniwindow)
FNC_WindowDeleteHotspot WindowDeleteHotspot (Deletes a hotspot from a miniwindow)
FNC_WindowDragHandler WindowDragHandler (Adds a drag handler to a miniwindow hotspot)
FNC_WindowDrawImage WindowDrawImage (Draws an image into a miniwindow)
FNC_WindowDrawImageAlpha WindowDrawImageAlpha (Draws an image into a miniwindow respecting the alpha channel)
FNC_WindowFilter WindowFilter (Performs a filtering operation over part of the miniwindow.)
FNC_WindowFont WindowFont (Loads a font into a miniwindow)
FNC_WindowFontInfo WindowFontInfo (Returns information about a font)
FNC_WindowFontList WindowFontList (Lists all fonts loaded into a miniwindow)
FNC_WindowGetPixel WindowGetPixel (Gets the colour of a single pixel in a miniwindow)
FNC_WindowGradient WindowGradient (Draws a gradient in a rectangle)
FNC_WindowHotspotInfo WindowHotspotInfo (Returns information about a hotspot)
FNC_WindowHotspotList WindowHotspotList (Lists all hotspots installed into a miniwindow)
FNC_WindowHotspotTooltip WindowHotspotTooltip (Changes the tooltip text for a hotspot in a miniwindow)
FNC_WindowImageFromWindow WindowImageFromWindow (Creates an image from another miniwindow)
FNC_WindowImageInfo WindowImageInfo (Returns information about an image)
FNC_WindowImageList WindowImageList (Lists all images installed into a miniwindow)
FNC_WindowImageOp WindowImageOp (Draws an ellipse, rectangle or round rectangle, filled with an image)
FNC_WindowInfo WindowInfo (Returns information about a miniwindow)
FNC_WindowLine WindowLine (Draws a line in a miniwindow)
FNC_WindowList WindowList (Lists all miniwindows)
FNC_WindowLoadImage WindowLoadImage (Loads an image into a miniwindow from a disk file)
FNC_WindowMenu WindowMenu (Creates a pop-up menu inside a miniwindow)
FNC_WindowMergeImageAlpha WindowMergeImageAlpha (Merges an image into a miniwindow based on an alpha mask)
FNC_WindowPolygon WindowPolygon (Draws a polygon in a miniwindow)
FNC_WindowPosition WindowPosition (Moves a miniwindow)
FNC_WindowRectOp WindowRectOp (Draws a rectangle in a miniwindow)
FNC_WindowSetPixel WindowSetPixel (Sets a single pixel in a miniwindow to the specified colour)
FNC_WindowShow WindowShow (Shows or hides a miniwindow)
FNC_WindowText WindowText (Draws text into a miniwindow)
FNC_WindowTextWidth WindowTextWidth (Calculates the width of text in a miniwindow)
FNC_WindowWrite WindowWrite (Writes the contents of a miniwindow to disk as a graphics file)

(Help topic: function=WindowCircleOp)

DOC_contents Documentation contents page