VG_Line
—
agar-vg line entity
#include <agar/core.h>
#include <agar/gui.h>
#include <agar/vg.h>
VG_Line
is a
VG(3) node
class which describes a line segment in terms of two points.
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.
The VG_Line
class first appeared in Agar 1.3.3.