VG_LINE(3)

NAME
VG_Line - agar-vg line entity

SYNOPSIS

    #include <agar/core.h>
    #include <agar/gui.h>
    #include <agar/vg.h>

DESCRIPTION
VG_Line is a VG(3) node class which describes a line segment in terms of two points.

INTERFACE
VG_Line * VG_LineNew(VG_Node *parent, VG_Point *p1, VG_Point *p2)

void VG_LineThickness(VG_Line *vl, Uint8 thickness)

void VG_LineStipple(VG_Line *vl, Uint16 pattern)

void VG_LineEndpointStyle(VG_Line *vl, enum vg_endpoint_style style, ...)

The VG_LineNew() function creates a new line segment entity attached to parent. The p1 and p2 arguments define the endpoints.

VG_LineThickness() defines the thickness of the line in pixels (default = 1 pixel). Note that the line thickness parameter does not influence proximity queries used by "select" tools. it only affects rendering, so very thick lines should be rendered as VG_Polygon(3) instead.

VG_LineStipple() defines a 16-bit, OpenGL-style stipple pattern (default is 0xffff). The order in which bits are used is undefined and depends on order of rendering.

By default, thick lines are rendered using a square endpoint style. VG_LineEndpointStyle() specifies the style of endpoints to use in rendering the line. Acceptable values include:

    enum vg_line_endpoint {
    	VG_LINE_SQUARE,		/* Square endpoint */
    	VG_LINE_BEVELED,	/* Beveled endpoint */
    	VG_LINE_ROUNDED,	/* Rounded endpoint (circular) */
    	VG_LINE_MITERED		/* Mitered endpoint */
    };

If VG_LINE_MITERED is used, VG_LineEndpointStyle() expects a following Uint8 argument describing the miter length in pixels.

SEE ALSO
VG(3), VG_Point(3)

HISTORY
The VG_Line class first appeared in Agar 1.3.3.