Board  0.9.4
Classes | Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Static Protected Member Functions | Protected Attributes | List of all members
LibBoard::Board Class Reference

Class for EPS, FIG or SVG drawings. More...

#include <Board.h>

Inheritance diagram for LibBoard::Board:
LibBoard::ShapeList LibBoard::Shape

Classes

struct  State
 

Public Types

enum  PageSize {
  BoundingBox = 0, A0, A1, A2,
  A3, A4, A5, A6,
  A7, A8, A9, A10,
  Letter, Legal, Executive
}
 
enum  Unit { UPoint, UInche, UCentimeter, UMillimeter }
 
enum  AspectRatioFlag { IgnoreAspectRatio, KeepAspectRatio }
 
- Public Types inherited from LibBoard::ShapeList
enum  Direction { Top, Right, Bottom, Left }
 
enum  Alignment {
  AlignTop, AlignBottom, AlignCenter, AlignLeft,
  AlignRight
}
 
- Public Types inherited from LibBoard::Shape
enum  LineCap { ButtCap = 0, RoundCap, SquareCap }
 
enum  LineJoin { MiterJoin = 0, RoundJoin, BevelJoin }
 
enum  LineStyle {
  SolidStyle = 0, DashStyle, DotStyle, DashDotStyle,
  DashDotDotStyle, DashDotDotDotStyle
}
 
enum  LineWidthFlag { IgnoreLineWidth, UseLineWidth }
 

Public Member Functions

 Board (const Color &backgroundColor=Color::Null)
 
 Board (const Board &other)
 
Boardoperator= (const Board &other)
 
Boardoperator<< (const Shape &shape)
 
void clear (const Color &color=Color::Null)
 
void clear (unsigned char red, unsigned char green, unsigned char blue)
 
Boardrotate (double angle, const Point &center)
 
Boardrotate (double angle)
 
Boardtranslate (double dx, double dy)
 
Boardscale (double sx, double sy)
 
Boardscale (double s)
 
Board rotated (double angle, const Point &center)
 
Board rotated (double angle)
 
Board translated (double dx, double dy)
 
Board scaled (double sx, double sy)
 
Board scaled (double s)
 
void setUnit (Unit unit)
 
void setUnit (double factor, Unit unit)
 
void drawDot (double x, double y, int depth=-1)
 
void drawLine (double x1, double y1, double x2, double y2, int depth=-1)
 
void drawLine (Point p, Point q, int depth=-1)
 
void drawArrow (double x1, double y1, double x2, double y2, int depth=-1)
 
void drawArrow (Point p, Point q, int depth=-1)
 
void drawTriangle (double x1, double y1, double x2, double y2, double x3, double y3, int depth=-1)
 
void drawTriangle (const Point &p1, const Point &p2, const Point &p3, int depth=-1)
 
void fillTriangle (double x1, double y1, double x2, double y2, double x3, double y3, int depth=-1)
 
void fillGouraudTriangle (const Point &p1, const Color &color1, const Point &p2, const Color &color2, const Point &p3, const Color &color3, unsigned char divisions=3, int depth=-1)
 
void fillGouraudTriangle (const double x1, const double y1, const Color &color1, const double x2, const double y2, const Color &color2, const double x3, const double y3, const Color &color3, unsigned char divisions=3, int depth=-1)
 
void fillGouraudTriangle (const Point &p1, const float brightness1, const Point &p2, const float brightness2, const Point &p3, const float brightness3, unsigned char divisions=3, int depth=-1)
 
void fillGouraudTriangle (const double x1, const double y1, const float brightness1, const double x2, const double y2, const float brightness2, const double x3, const double y3, const float brightness3, unsigned char divisions=3, int depth=-1)
 
void fillTriangle (const Point &p1, const Point &p2, const Point &p3, int depth=-1)
 
void drawRectangle (double left, double top, double width, double height, int depth=-1)
 
void drawRectangle (const Rect &r, int depth=-1)
 
void fillRectangle (double left, double top, double width, double height, int depth=-1)
 
void fillRectangle (const Rect &r, int depth=-1)
 
void drawCircle (double x, double y, double radius, int depth=-1)
 
void fillCircle (double x, double y, double radius, int depth=-1)
 
void drawEllipse (double x, double y, double xRadius, double yRadius, int depth=-1)
 
void fillEllipse (double x, double y, double xRadius, double yRadius, int depth=-1)
 
void drawPolyline (const std::vector< Point > &points, int depth=-1)
 
void drawClosedPolyline (const std::vector< Point > &points, int depth=-1)
 
void fillPolyline (const std::vector< Point > &points, int depth=-1)
 
void drawText (double x, double y, const char *text, int depth=-1)
 
void drawText (Point p, const char *text, int depth=-1)
 
void drawText (double x, double y, const std::string &str, int depth=-1)
 
void drawText (Point p, const std::string &str, int depth=-1)
 
BoardsetFont (const Fonts::Font font, double fontSize)
 
BoardsetFontSize (double fontSize)
 
BoardsetPenColorRGBi (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha=255)
 
BoardsetPenColorRGBf (float red, float green, float blue, float alpha=1.0f)
 
BoardsetPenColor (const Color &color)
 
BoardsetFillColorRGBi (unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha=255)
 
BoardsetFillColorRGBf (float red, float green, float blue, float alpha=1.0f)
 
BoardsetFillColor (const Color &color)
 
BoardsetLineWidth (double width)
 
BoardsetLineStyle (Shape::LineStyle style)
 
BoardsetLineCap (Shape::LineCap cap)
 
BoardsetLineJoin (Shape::LineJoin join)
 
void backgroundColor (const Color &color)
 
void drawBoundingBox (LineWidthFlag lineWidthFlag, int depth=-1)
 
void setClippingRectangle (double x, double y, double width, double height)
 
void setClippingRectangle (const Rect &rect)
 
void setClippingPath (const std::vector< Point > &points)
 
void setClippingPath (const Path &path)
 
void addDuplicates (const Shape &shape, std::size_t times, double dx, double dy, double scale=1.0)
 
void addDuplicates (const Shape &shape, std::size_t times, double dx, double dy, double scaleX, double scaleY, double angle=0.0)
 
void save (const char *filename, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
 
void save (const char *filename, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter) const
 
void saveEPS (std::ostream &out, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter, const std::string &title=std::string()) const
 
void saveEPS (const char *filename, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter, const std::string &title=std::string()) const
 
void saveEPS (std::ostream &out, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter, const std::string &title=std::string()) const
 
void saveEPS (const char *filename, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter, const std::string &title=std::string()) const
 
void saveFIG (const char *filename, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
 
void saveFIG (std::ostream &out, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
 
void saveFIG (const char *filename, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter) const
 
void saveFIG (std::ostream &out, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter) const
 
void saveSVG (const char *filename, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
 
void saveSVG (std::ostream &out, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
 
void saveSVG (const char *filename, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter) const
 
void saveSVG (std::ostream &out, double pageWidth, double pageHeight, double margin=0.0, Unit unit=UMillimeter) const
 
void saveTikZ (const char *filename, PageSize size=Board::BoundingBox, double margin=0.0) const
 
void saveTikZ (std::ostream &out, PageSize size=Board::BoundingBox, double margin=0.0) const
 
void saveTikZ (const char *filename, double pageWidth, double pageHeight, double margin=0.0) const
 
void saveTikZ (std::ostream &out, double pageWidth, double pageHeight, double margin=0.0) const
 
Color penColor () const
 penColor More...
 
Color fillColor () const
 fillColor More...
 
- Public Member Functions inherited from LibBoard::ShapeList
 ShapeList (int depth=-1)
 
 ShapeList (const ShapeList &other)
 
ShapeListoperator= (const ShapeList &other)
 
 ShapeList (const Shape &shape, unsigned int times, double dx, double dy, double scale)
 
 ShapeList (const Shape &shape, unsigned int times, double dx, double dy, double scaleX, double scaleY, double angle)
 
const std::string & name () const
 
ShapeListclear ()
 
ShapeListrotate (double angle, const Point &center)
 
ShapeList rotated (double angle, const Point &center)
 
ShapeListrotate (double angle)
 
ShapeList rotated (double angle)
 
ShapeListtranslate (double dx, double dy)
 
ShapeList translated (double dx, double dy)
 
ShapeListscale (double sx, double sy)
 
ShapeListscale (double s)
 
ShapeList scaled (double sx, double sy)
 
ShapeList scaled (double s)
 
void scaleAll (double s)
 
void flushPostscript (std::ostream &stream, const TransformEPS &transform) const
 
void flushFIG (std::ostream &stream, const TransformFIG &transform, std::map< Color, int > &colormap) const
 
void flushSVG (std::ostream &stream, const TransformSVG &transform) const
 
void flushTikZ (std::ostream &stream, const TransformTikZ &transform) const
 
Rect boundingBox (LineWidthFlag) const
 
virtual int minDepth () const
 
virtual int maxDepth () const
 
void shiftDepth (int shift)
 
ShapeListclone () const
 
ShapeListoperator<< (const Shape &shape)
 
ShapeListoperator+= (const Shape &shape)
 
ShapeListappend (const Shape &shape, Direction direction, Alignment alignment, double margin=0.0, LineWidthFlag lineWidthFlag=UseLineWidth)
 
GroupaddTiling (const Shape &shape, Point topLeftCorner, std::size_t columns, std::size_t rows, double spacing=0.0, LineWidthFlag lineWidthFlag=UseLineWidth)
 
void repeat (const Shape &shape, unsigned int times, double dx, double dy, double scaleX=1.0, double scaleY=1.0, double angle=0.0)
 
ShapeListinsert (const Shape &shape, int depth)
 
ShapeListdup (std::size_t copies=1)
 
template<typename T >
T & last (const std::size_t position=0)
 
Shapelast (const std::size_t position=0)
 
Shapetop ()
 
virtual void accept (ShapeVisitor &visitor)
 Accepts a visitor object. More...
 
virtual void accept (const ShapeVisitor &visitor)
 Accepts a visitor object. More...
 
- Public Member Functions inherited from LibBoard::Shape
 Shape (Color penColor, Color fillColor, double lineWidth, LineStyle style, const LineCap cap, const LineJoin join, int depth)
 
virtual ~Shape ()
 
bool filled () const
 
virtual Point center (LineWidthFlag lineWidthFlag=IgnoreLineWidth) const
 
ShaperotateDeg (double angle, const Point &center)
 
ShaperotateDeg (double angle)
 
ShapemoveCenter (double x, double y, LineWidthFlag lineWidthFlag=IgnoreLineWidth)
 
ShapemoveCenter (Point p, LineWidthFlag lineWidthFlag=IgnoreLineWidth)
 
ShapescaleToWidth (double w, LineWidthFlag lineWidthFlag)
 
ShapescaleToHeight (double h, LineWidthFlag lineWidthFlag)
 
Rect bbox (LineWidthFlag) const
 
Shapeoperator-- ()
 
Shapeoperator++ ()
 
int depth () const
 
virtual void depth (int)
 
const ColorpenColor () const
 
const ColorfillColor () const
 

Static Public Member Functions

static Group makeGrid (Point topLeft, size_t columns, size_t rows, double width, double height, Color penColor, Color fillColor, double lineWidth, const LineStyle style=SolidStyle, const LineCap cap=ButtCap, const LineJoin join=MiterJoin, int depth=-1)
 
- Static Public Member Functions inherited from LibBoard::Shape
static void enableLineWidthScaling ()
 
static void disableLineWidthScaling ()
 
static void setLineWidthScaling (bool)
 
static void setDefaultLineWidth (double)
 
static void setDefaultPenColor (Color)
 
static void setDefaultFillColor (Color)
 
static void setDefaultLineStyle (Shape::LineStyle)
 
static void setDefaultLineCap (Shape::LineCap)
 
static void setDefaultLineJoin (Shape::LineJoin)
 
static double defaultLineWidth ()
 defaultLineWidth More...
 
static Color defaultPenColor ()
 defaultPenColor More...
 
static Color defaultFillColor ()
 defaultFillColor More...
 
static Shape::LineStyle defaultLineStyle ()
 defaultLineStyle More...
 
static Shape::LineCap defaultLineCap ()
 defaultLineCap More...
 
static Shape::LineJoin defaultLineJoin ()
 defaultLineJoin More...
 

Static Public Attributes

static const double Degree = 3.14159265358979323846 / 180.0
 

Static Protected Member Functions

static double toMillimeter (double x, Unit unit)
 

Protected Attributes

State _state
 
Color _backgroundColor
 
Path _clippingPath
 
- Protected Attributes inherited from LibBoard::ShapeList
std::vector< Shape * > _shapes
 
int _nextDepth
 
- Protected Attributes inherited from LibBoard::Shape
int _depth
 
Color _penColor
 
Color _fillColor
 
double _lineWidth
 
LineStyle _lineStyle
 
LineCap _lineCap
 
LineJoin _lineJoin
 

Additional Inherited Members

- Protected Member Functions inherited from LibBoard::ShapeList
void addShape (const Shape &shape, double scaleFactor)
 
void free ()
 
- Protected Member Functions inherited from LibBoard::Shape
void updateLineWidth (double s)
 
std::string svgProperties (const TransformSVG &transform) const
 
std::string postscriptProperties (const TransformEPS &transform) const
 
std::string tikzProperties (const TransformTikZ &transform) const
 
- Static Protected Attributes inherited from LibBoard::Shape
static bool _lineWidthScaling = true
 
static double _defaultLineWidth = 1.0
 
static Color _defaultPenColor = Color::Black
 
static Color _defaultFillColor = Color::Null
 
static Shape::LineStyle _defaultLineStyle = Shape::SolidStyle
 
static Shape::LineCap _defaultLineCap = Shape::ButtCap
 
static Shape::LineJoin _defaultLineJoin = Shape::MiterJoin
 

Detailed Description

Class for EPS, FIG or SVG drawings.

The Board class.

Version
0.5
Examples:
examples/arithmetic.cpp, examples/arrows.cpp, examples/clipping.cpp, examples/ellipse.cpp, examples/example1.cpp, examples/example2.cpp, examples/example3.cpp, examples/example4.cpp, examples/flag.cpp, examples/graph.cpp, examples/koch.cpp, examples/line_segment.cpp, examples/line_style.cpp, examples/logo.cpp, examples/ruler.cpp, examples/scale_ellipse.cpp, examples/stroke_path.cpp, and examples/tilings.cpp.

Constructor & Destructor Documentation

LibBoard::Board::Board ( const Color backgroundColor = Color::Null)

Constructs a new board and sets the background color, if any.

Parameters
backgroundColorA color for the drawing's background.
LibBoard::Board::Board ( const Board other)

Copy constructor.

Parameters
otherThe object to be copied.

Member Function Documentation

void LibBoard::Board::addDuplicates ( const Shape shape,
std::size_t  times,
double  dx,
double  dy,
double  scale = 1.0 
)

Insert duplicates of a shape, n times, starting at its current position and iterating given translations and scalings.

Parameters
shapeThe shape to be duplicated.
timesThe number of duplicates.
dxThe x shift.
dyThe y shift.
scaleA scale factor between each copy.
Examples:
examples/clipping.cpp, examples/logo.cpp, examples/ruler.cpp, and examples/scale_ellipse.cpp.

References LibBoard::Shape::clone(), LibBoard::Shape::scale(), and LibBoard::Shape::translate().

void LibBoard::Board::addDuplicates ( const Shape shape,
std::size_t  times,
double  dx,
double  dy,
double  scaleX,
double  scaleY,
double  angle = 0.0 
)

Insert duplicates of a shape, n times, starting at its current position and iterating a given translation.

Parameters
shapeThe shape to be duplicated.
timesThe number of duplicates.
dxThe x shift.
dyThe y shift.
scaleXAn x scale factor between each copy.
scaleYA y scale factor between each copy.
angleAn angular increment.

References LibBoard::Shape::clone(), LibBoard::Shape::rotate(), LibBoard::Shape::scale(), and LibBoard::Shape::translate().

void LibBoard::Board::backgroundColor ( const Color color)

Changes the background color of the whole drawing.

Parameters
colorA color (may be Color::None).

References _backgroundColor.

void LibBoard::Board::clear ( const Color color = Color::Null)

Clears the board with a given background color.

Parameters
colorThe board background color (may be Color::None).
Examples:
examples/arithmetic.cpp, examples/arrows.cpp, examples/ellipse.cpp, examples/example3.cpp, examples/example4.cpp, examples/graph.cpp, examples/line_style.cpp, examples/ruler.cpp, examples/stroke_path.cpp, and examples/tilings.cpp.

References _backgroundColor.

void LibBoard::Board::clear ( unsigned char  red,
unsigned char  green,
unsigned char  blue 
)
inline

Clears the board and set the background color from an RGB triple.

Parameters
red
green
blue
void LibBoard::Board::drawArrow ( double  x1,
double  y1,
double  x2,
double  y2,
int  depth = -1 
)

Draws a line from (x1,y1) to (x2,y2) with an arrow at (x2,y2).

Parameters
x1First coordinate of the first extremity.
y1Second coordinate of the first extremity.
x2First coordinate of the second extremity.
y2Second coordinate of the second extremity.
depthDepth of the line.
Examples:
examples/arrows.cpp, examples/example1.cpp, and examples/line_segment.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::fillColor, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawArrow ( Point  p,
Point  q,
int  depth = -1 
)
void LibBoard::Board::drawBoundingBox ( LineWidthFlag  lineWidthFlag,
int  depth = -1 
)
void LibBoard::Board::drawCircle ( double  x,
double  y,
double  radius,
int  depth = -1 
)

Draws a circle.

Parameters
xFirst coordinate of the circle's center.
ySecond coordinate of the circle's center.
radiusRadius of the circle.
depthDepth of the circle.
Examples:
examples/example2.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::fillColor, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawClosedPolyline ( const std::vector< Point > &  points,
int  depth = -1 
)
void LibBoard::Board::drawDot ( double  x,
double  y,
int  depth = -1 
)

Draws a dot at coordinates (x,y).

Parameters
xFirst coordinate of the dot.
ySecond coordinate of the dot.
depthDepth of the line.
Examples:
examples/arrows.cpp, and examples/example4.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawEllipse ( double  x,
double  y,
double  xRadius,
double  yRadius,
int  depth = -1 
)

Draws an ellipse.

Parameters
xFirst coordinate of the circle's center.
ySecond coordinate of the circle's center.
radiusRadius of the circle.
depthDepth of the circle.
Examples:
examples/example2.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::fillColor, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawLine ( double  x1,
double  y1,
double  x2,
double  y2,
int  depth = -1 
)

Draws a line from (x1,y1) to (x2,y2).

Parameters
x1First coordinate of the first extremity.
y1Second coordinate of the first extremity.
x2First coordinate of the second extremity.
y2Second coordinate of the second extremity.
depthDepth of the line.
Examples:
examples/line_segment.cpp, and examples/logo.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawLine ( Point  p,
Point  q,
int  depth = -1 
)

Draws a line from p to q.

Parameters
pFirst extremity.
qSecond extremity.
filledWhether or not the arrow is filled.
depthDepth of the line.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, LibBoard::Board::State::penColor, LibBoard::Point::x, and LibBoard::Point::y.

void LibBoard::Board::drawPolyline ( const std::vector< Point > &  points,
int  depth = -1 
)
void LibBoard::Board::drawRectangle ( double  left,
double  top,
double  width,
double  height,
int  depth = -1 
)

Draws a rectangle.

Parameters
leftFirst coordinate of the upper left corner.
topSecond coordinate of the upper left corner.
widthWidth of the rectangle.
heightHeight of the rectangle.
depthDepth of the rectangle.
Examples:
examples/arithmetic.cpp, examples/example2.cpp, examples/line_segment.cpp, and examples/line_style.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::fillColor, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawRectangle ( const Rect r,
int  depth = -1 
)
void LibBoard::Board::drawText ( double  x,
double  y,
const char *  text,
int  depth = -1 
)

Draws a string of text.

Parameters
xThe first coordinates of the lower left corner.
yThe second coordinates of the lower left corner.
textThe text.
depthThe depth of the text.
Examples:
examples/arithmetic.cpp, examples/arrows.cpp, examples/example2.cpp, and examples/ruler.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::font, LibBoard::Board::State::fontSize, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawText ( Point  p,
const char *  text,
int  depth = -1 
)

Draws a string of text.

Parameters
pPosition of the bottom-left corner.
textThe text.
depthThe depth of the text.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::font, LibBoard::Board::State::fontSize, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawText ( double  x,
double  y,
const std::string &  str,
int  depth = -1 
)

Draws a string of text.

Parameters
xThe first coordinates of the lower left corner.
yThe second coordinates of the lower left corner.
textThe text.
depthThe depth of the text.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::font, LibBoard::Board::State::fontSize, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawText ( Point  p,
const std::string &  str,
int  depth = -1 
)

Draws a string of text.

Parameters
pPosition of the bottom-left corner.
strThe text.
depthThe depth of the text.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::font, LibBoard::Board::State::fontSize, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawTriangle ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
int  depth = -1 
)

Draws a triangle.

Parameters
x1First coordinate of the first vertex.
y1Second coordinate of the first vertex.
x2First coordinate of the second vertex.
y3Second coordinate of the second vertex.
x3First coordinate of the third vertex.
y3Second coordinate of the third vertex.
depthDepth of the triangle.
Examples:
examples/example2.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::fillColor, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, LibBoard::Board::State::lineWidth, and LibBoard::Board::State::penColor.

void LibBoard::Board::drawTriangle ( const Point p1,
const Point p2,
const Point p3,
int  depth = -1 
)
void LibBoard::Board::fillCircle ( double  x,
double  y,
double  radius,
int  depth = -1 
)

Draws a circle filled with the current pen color.

Parameters
xFirst coordinate of the circle's center.
ySecond coordinate of the circle's center.
radiusRadius of the circle.
depthDepth of the circle.
Examples:
examples/example2.cpp, and examples/line_segment.cpp.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineStyle, and LibBoard::Board::State::penColor.

Color LibBoard::Board::fillColor ( ) const

fillColor

Returns
The current fill color.

References _state, and LibBoard::Board::State::fillColor.

void LibBoard::Board::fillEllipse ( double  x,
double  y,
double  xRadius,
double  yRadius,
int  depth = -1 
)

Draws an ellipse filled with the current pen color.

Parameters
xFirst coordinate of the circle's center.
ySecond coordinate of the circle's center.
xRadiusX axis radius of the ellipse.
yRadiusY axis radius of the ellipse.
depthDepth of the circle.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineStyle, and LibBoard::Board::State::penColor.

void LibBoard::Board::fillGouraudTriangle ( const Point p1,
const Color color1,
const Point p2,
const Color color2,
const Point p3,
const Color color3,
unsigned char  divisions = 3,
int  depth = -1 
)

Draws a triangle with Gouraud-like shaded colors.

Parameters
p1
color1
p2
color2
p3
color3
divisionsnumber of triangle subdivisions.
depthThe depth of the triangle.
Examples:
examples/example1.cpp, and examples/example3.cpp.

References LibBoard::ShapeList::_nextDepth, and LibBoard::ShapeList::_shapes.

Referenced by fillGouraudTriangle().

void LibBoard::Board::fillGouraudTriangle ( const double  x1,
const double  y1,
const Color color1,
const double  x2,
const double  y2,
const Color color2,
const double  x3,
const double  y3,
const Color color3,
unsigned char  divisions = 3,
int  depth = -1 
)
inline

Draws a triangle with Gouraud-like shaded colors.

Parameters
x1
y1
color1
x2
y2
color2
x3
y3
color3
divisions
depth
void LibBoard::Board::fillGouraudTriangle ( const Point p1,
const float  brightness1,
const Point p2,
const float  brightness2,
const Point p3,
const float  brightness3,
unsigned char  divisions = 3,
int  depth = -1 
)

Draws a triangle with a Gouraud-like shaded color according to the current fill color and a brightness value given for each vertex.

Parameters
p1
brightness1
p2
brightness2
p3
brightness3
divisionsnumber of triangle subdivisions.
depthThe depth of the triangle.

References _state, fillGouraudTriangle(), and LibBoard::Board::State::penColor.

void LibBoard::Board::fillGouraudTriangle ( const double  x1,
const double  y1,
const float  brightness1,
const double  x2,
const double  y2,
const float  brightness2,
const double  x3,
const double  y3,
const float  brightness3,
unsigned char  divisions = 3,
int  depth = -1 
)
inline

Draws a triangle with a Gouraud-like shaded color according to the current fill color and a brightness value given for each vertex.

Parameters
x1
y1
brightness1
x2
y2
brightness2
x3
y3
brightness3
divisions
depth
void LibBoard::Board::fillPolyline ( const std::vector< Point > &  points,
int  depth = -1 
)
void LibBoard::Board::fillRectangle ( double  left,
double  top,
double  width,
double  height,
int  depth = -1 
)

Draws a rectangle filled with the current pen color.

Parameters
leftFirst coordinate of the upper left corner.
topSecond coordinate of the upper left corner.
widthWidth of the rectangle.
heightHeight of the rectangle.
depthDepth of the rectangle.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, and LibBoard::Board::State::penColor.

void LibBoard::Board::fillRectangle ( const Rect r,
int  depth = -1 
)
void LibBoard::Board::fillTriangle ( double  x1,
double  y1,
double  x2,
double  y2,
double  x3,
double  y3,
int  depth = -1 
)

Draws a filled triangle.

Parameters
x1First coordinate of the first vertex.
y1Second coordinate of the first vertex.
x2First coordinate of the second vertex.
y3Second coordinate of the second vertex.
x3First coordinate of the third vertex.
y3Second coordinate of the third vertex.
depthDepth of the triangle.

References LibBoard::ShapeList::_nextDepth, LibBoard::ShapeList::_shapes, _state, LibBoard::Board::State::lineCap, LibBoard::Board::State::lineJoin, LibBoard::Board::State::lineStyle, and LibBoard::Board::State::penColor.

void LibBoard::Board::fillTriangle ( const Point p1,
const Point p2,
const Point p3,
int  depth = -1 
)
Group LibBoard::Board::makeGrid ( Point  topLeft,
size_t  columns,
size_t  rows,
double  width,
double  height,
Color  penColor,
Color  fillColor,
double  lineWidth,
const LineStyle  style = SolidStyle,
const LineCap  cap = ButtCap,
const LineJoin  join = MiterJoin,
int  depth = -1 
)
static

Build a grid with specified number of rows and columns and a given size.

Parameters
topLeftCoordinates of the top left point of the grid.
columnsNumber of columns of the grid.
rowsNumber of rows of the grid.
widthWidth of the grid.
heightHeight of the grid.
penColorColor of the lines.
fillColorBackground color.
lineWidthLine width.
styleLine style (default is Board::SolidStyle).
capLine cap (default is Board::ButtCap).
joinLine join (default is Board::MiterJoin).
depthDepth of the grid (default is -1 (auto)).
Returns
The grid as a group.
Examples:
examples/tilings.cpp.

References LibBoard::Line::translate(), LibBoard::Point::x, and LibBoard::Point::y.

Board & LibBoard::Board::operator<< ( const Shape shape)

Add a shape to the board, using the current unit factor.

Parameters
shapeA shape. (Might be a list of shapes, actually!)
Returns
The board itself, as a ShapeList.
Board & LibBoard::Board::operator= ( const Board other)

The operator =

Parameters
otherThe object to be copied.
Returns
A reference to the left operand.

References LibBoard::ShapeList::_shapes, and LibBoard::ShapeList::free().

Color LibBoard::Board::penColor ( ) const

penColor

Returns
The current pen color.
Examples:
examples/arrows.cpp.

References _state, and LibBoard::Board::State::penColor.

Board & LibBoard::Board::rotate ( double  angle,
const Point center 
)
virtual

Rotate the shape around a given center of rotation.

Parameters
angleThe rotation angle in radian.
centerThe center of rotation.
Returns
A reference to the shape itself.

Implements LibBoard::Shape.

References LibBoard::ShapeList::rotate(), and LibBoard::Path::rotate().

Board & LibBoard::Board::rotate ( double  angle)
virtual

Rotate the shape around its center.

Parameters
angleThe rotation angle in radian.
Returns
A reference to the shape itself.

Implements LibBoard::Shape.

References LibBoard::Shape::center(), LibBoard::ShapeList::rotate(), and LibBoard::Path::rotate().

void LibBoard::Board::save ( const char *  filename,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Save the drawing in an EPS, XFIG of SVG file depending on the filename extension. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenamePath of the file to be created.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.
Examples:
examples/arithmetic.cpp.
void LibBoard::Board::save ( const char *  filename,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Save the drawing in an EPS, XFIG of SVG file depending on the filename extension. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenamePath of the file to be created.
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).

References saveEPS(), saveFIG(), saveSVG(), and saveTikZ().

void LibBoard::Board::saveEPS ( std::ostream &  out,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter,
const std::string &  title = std::string() 
) const

Writes the drawing in a stream as an EPS file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.
titleDocument title (Postscript comment).
Examples:
examples/clipping.cpp, examples/ellipse.cpp, examples/example1.cpp, examples/example2.cpp, examples/example3.cpp, examples/example4.cpp, examples/flag.cpp, examples/graph.cpp, examples/koch.cpp, examples/line_segment.cpp, examples/line_style.cpp, examples/logo.cpp, examples/ruler.cpp, examples/scale_ellipse.cpp, examples/stroke_path.cpp, and examples/tilings.cpp.

Referenced by save(), and saveEPS().

void LibBoard::Board::saveEPS ( const char *  filename,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter,
const std::string &  title = std::string() 
) const

Saves the drawing in an EPS file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe EPS file name.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.
titleDocument title (Postscript comment).

References saveEPS().

void LibBoard::Board::saveEPS ( std::ostream &  out,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter,
const std::string &  title = std::string() 
) const

Writes the drawing in a stream as an EPS file. The drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).
titleDocument title (Postscript comment).

References _backgroundColor, LibBoard::ShapeList::_shapes, LibBoard::Shape::bbox(), LibBoard::ShapeList::boundingBox(), LibBoard::Path::boundingBox(), LibBoard::Polyline::flushPostscript(), LibBoard::Rect::height, LibBoard::Rect::left, LibBoard::Rect::top, and LibBoard::Rect::width.

void LibBoard::Board::saveEPS ( const char *  filename,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter,
const std::string &  title = std::string() 
) const

Saves the drawing in an EPS file. The drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe EPS file name.
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).
titleDocument title (Postscript comment).

References saveEPS().

void LibBoard::Board::saveFIG ( const char *  filename,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in an XFig file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe name of the FIG file.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.
Examples:
examples/ellipse.cpp, examples/example1.cpp, examples/example2.cpp, examples/example3.cpp, examples/example4.cpp, examples/graph.cpp, examples/koch.cpp, examples/line_style.cpp, examples/logo.cpp, examples/ruler.cpp, and examples/scale_ellipse.cpp.

Referenced by save(), and saveFIG().

void LibBoard::Board::saveFIG ( std::ostream &  out,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in a stream as an XFig file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.

References saveFIG().

void LibBoard::Board::saveFIG ( const char *  filename,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in an XFig file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe XFig file name.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).

References saveFIG().

void LibBoard::Board::saveFIG ( std::ostream &  out,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in a stream as an XFig file. The drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).

References _backgroundColor, LibBoard::ShapeList::_shapes, LibBoard::Shape::bbox(), LibBoard::ShapeList::boundingBox(), LibBoard::Rectangle::flushFIG(), LibBoard::Rect::height, and LibBoard::Rect::width.

void LibBoard::Board::saveSVG ( const char *  filename,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Save the drawing in an SVG file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe name of the file.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.
Examples:
examples/arrows.cpp, examples/clipping.cpp, examples/ellipse.cpp, examples/example1.cpp, examples/example2.cpp, examples/example3.cpp, examples/example4.cpp, examples/flag.cpp, examples/graph.cpp, examples/koch.cpp, examples/line_segment.cpp, examples/line_style.cpp, examples/logo.cpp, examples/ruler.cpp, examples/scale_ellipse.cpp, examples/stroke_path.cpp, and examples/tilings.cpp.

Referenced by save(), and saveSVG().

void LibBoard::Board::saveSVG ( std::ostream &  out,
PageSize  size = Board::BoundingBox,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in a stream as an SVG file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page.
unitThe unit used to express the margin (default value is millimeter). If size is "BoundingBox", this unit is used for the bounding box as well.

References saveSVG().

void LibBoard::Board::saveSVG ( const char *  filename,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in an SVG file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe SVG file name.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).

References saveSVG().

void LibBoard::Board::saveSVG ( std::ostream &  out,
double  pageWidth,
double  pageHeight,
double  margin = 0.0,
Unit  unit = UMillimeter 
) const

Saves the drawing in a stream as an SVG file. The drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page.
pageHeightHeight of the page.
marginMinimal margin around the figure in the page.
unitThe unit used to express the previous length parameters (default value is millimeter).

References _backgroundColor, LibBoard::ShapeList::_shapes, LibBoard::Shape::bbox(), LibBoard::ShapeList::boundingBox(), LibBoard::Path::boundingBox(), LibBoard::Rectangle::flushSVG(), LibBoard::Rect::height, and LibBoard::Rect::width.

void LibBoard::Board::saveTikZ ( const char *  filename,
PageSize  size = Board::BoundingBox,
double  margin = 0.0 
) const

Save the drawing in an TikZ file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe name of the file.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page, in millimeters.
Examples:
examples/flag.cpp.

Referenced by save(), and saveTikZ().

void LibBoard::Board::saveTikZ ( std::ostream &  out,
PageSize  size = Board::BoundingBox,
double  margin = 0.0 
) const

Save the drawing in a stream as TikZ file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
marginMinimal margin around the figure in the page, in millimeters.

References saveTikZ().

void LibBoard::Board::saveTikZ ( const char *  filename,
double  pageWidth,
double  pageHeight,
double  margin = 0.0 
) const

Save the drawing in an TikZ file. When a size is given (not BoundingBox), the drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
filenameThe name of the file.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page in millimeters.
pageHeightHeight of the page in millimeters.
marginMinimal margin around the figure in the page, in millimeters.

References saveTikZ().

void LibBoard::Board::saveTikZ ( std::ostream &  out,
double  pageWidth,
double  pageHeight,
double  margin = 0.0 
) const

Save the drawing in a stream as a TikZ file. The drawing is scaled (up or down) so that it fits within the dimension while keeping its aspect ratio.

Parameters
outThe output stream.
sizePage size (Either BoundingBox (default), A4 or Letter).
pageWidthWidth of the page in millimeters.
pageHeightHeight of the page in millimeters.
marginMinimal margin around the figure in the page, in millimeters.

References _backgroundColor, LibBoard::ShapeList::_shapes, LibBoard::ShapeList::boundingBox(), LibBoard::Path::boundingBox(), and LibBoard::Rectangle::flushTikZ().

Board & LibBoard::Board::scale ( double  sx,
double  sy 
)
virtual

Scale the shape along the x an y axis.

Parameters
sxThe scaling factor along the x axis.
syThe scaling factor along the y axis.
Returns
The shape itself.

Implements LibBoard::Shape.

Examples:
examples/example3.cpp.

References LibBoard::Path::center(), LibBoard::Shape::center(), LibBoard::ShapeList::scale(), LibBoard::Path::scale(), LibBoard::Path::translate(), LibBoard::Point::x, and LibBoard::Point::y.

Board & LibBoard::Board::scale ( double  s)
virtual

Scale the shape along both axis.

Parameters
sThe scaling factor along both axis.
Returns
The shape itself.

Implements LibBoard::Shape.

References LibBoard::Path::center(), LibBoard::Shape::center(), LibBoard::ShapeList::scale(), LibBoard::Path::scale(), LibBoard::Path::translate(), LibBoard::Point::x, and LibBoard::Point::y.

void LibBoard::Board::setClippingPath ( const std::vector< Point > &  points)

Define a clipping path for the whole drawing.

Parameters
pointsA path.
void LibBoard::Board::setClippingPath ( const Path path)

Define a clipping path for the whole drawing.

Parameters
pointsA path.

References LibBoard::Path::pop_back().

void LibBoard::Board::setClippingRectangle ( double  x,
double  y,
double  width,
double  height 
)

Define a clipping rectangle for the whole drawing.

Parameters
x
y
width
height
Examples:
examples/flag.cpp.

Referenced by setClippingRectangle().

void LibBoard::Board::setClippingRectangle ( const Rect rect)

Define a clipping rectangle for the whole drawing.

Parameters
rectThe clipping rectangle.

References LibBoard::Rect::height, LibBoard::Rect::left, setClippingRectangle(), LibBoard::Rect::top, and LibBoard::Rect::width.

Board & LibBoard::Board::setFillColor ( const Color color)

Changes the current fill color.

In order to use no fill color, one may set this color to Color::None.

Parameters
colorThe fill color.
Returns
The board itself.
Examples:
examples/arrows.cpp, and examples/line_style.cpp.

References _state, and LibBoard::Board::State::fillColor.

Board & LibBoard::Board::setFillColorRGBf ( float  red,
float  green,
float  blue,
float  alpha = 1.0f 
)

Changes the current fill color.

Parameters
redRed component.
greenGreen component.
blueBlue component.
alphaThe opacity.
Returns
The board itself.
Examples:
examples/example2.cpp.

References _state, and LibBoard::Board::State::fillColor.

Board & LibBoard::Board::setFillColorRGBi ( unsigned char  red,
unsigned char  green,
unsigned char  blue,
unsigned char  alpha = 255 
)

Changes the current fill color.

Parameters
redRed component.
greenGreen component.
blueBlue component.
alphaThe opacity.
Returns
The board itself.
Examples:
examples/example2.cpp.

References _state, and LibBoard::Board::State::fillColor.

Board & LibBoard::Board::setFont ( const Fonts::Font  font,
double  fontSize 
)

Changes the current font and font size.

Parameters
fontThe name of the font.
fontSizeThe new font size.
Returns
The board itself.
Examples:
examples/arrows.cpp, and examples/example2.cpp.

References _state, LibBoard::Board::State::font, and LibBoard::Board::State::fontSize.

Board & LibBoard::Board::setFontSize ( double  fontSize)

Changes the font size.

Parameters
fontSizeThe new font size.
Returns
The board itself.
Examples:
examples/arithmetic.cpp, and examples/ruler.cpp.

References _state, and LibBoard::Board::State::fontSize.

Board& LibBoard::Board::setLineCap ( Shape::LineCap  cap)
inline

Set the line cap style.

Parameters
capThe cap-style which can be Shape::ButtCap, Shape::RoundCap or Shape::SquareCap.
Returns
The board itself.
Examples:
examples/line_segment.cpp, and examples/logo.cpp.
Board& LibBoard::Board::setLineJoin ( Shape::LineJoin  join)
inline

Set the line joine style.

Parameters
capThe join-style which can be Shape::MiterJoin, Shape::RoundJoin or Shape::BevelJoin.
Returns
The board itself.
Examples:
examples/example2.cpp, and examples/logo.cpp.
Board& LibBoard::Board::setLineStyle ( Shape::LineStyle  style)

Changes the current line style.

Parameters
styleThe new line style.
Returns
The board itself.
Examples:
examples/line_style.cpp, and examples/logo.cpp.
Board & LibBoard::Board::setLineWidth ( double  width)
Board & LibBoard::Board::setPenColor ( const Color color)

Changes the current pen color.

In order to use no pen, one may set the pen color to Color::None.

Parameters
colorThe pen color.
Returns
The board itself.
Examples:
examples/arithmetic.cpp, examples/arrows.cpp, examples/example1.cpp, examples/example2.cpp, and examples/koch.cpp.

References _state, and LibBoard::Board::State::penColor.

Board & LibBoard::Board::setPenColorRGBf ( float  red,
float  green,
float  blue,
float  alpha = 1.0f 
)

Changes the current pen color.

Parameters
redRed
green
blue
alpha
Returns
The board itself.
Examples:
examples/arrows.cpp, and examples/example4.cpp.

References _state, and LibBoard::Board::State::penColor.

Board & LibBoard::Board::setPenColorRGBi ( unsigned char  red,
unsigned char  green,
unsigned char  blue,
unsigned char  alpha = 255 
)

Changes the current pen color.

Parameters
redRed component.
greenGreen component.
blueBlue component.
Returns
The board itself.
Examples:
examples/arithmetic.cpp, examples/arrows.cpp, examples/example1.cpp, examples/example2.cpp, examples/example3.cpp, examples/line_segment.cpp, and examples/logo.cpp.

References _state, and LibBoard::Board::State::penColor.

void LibBoard::Board::setUnit ( Unit  unit)

Set the unit used by the drawSomething methods.

Parameters
unitThe unit to be used in { PT, IN, CM, MM }.
void LibBoard::Board::setUnit ( double  factor,
Unit  unit 
)

Set the unit used by the drawSomething methods.

Parameters
factorThe factor of the unit.
unitThe unit to be used in { PT, IN, CM, MM }.
Board & LibBoard::Board::translate ( double  dx,
double  dy 
)
virtual

Translate the shape by a given offset.

Parameters
dxThe x offset.
dyThe y offset.
Returns
A reference to the shape itself.

Implements LibBoard::Shape.

References LibBoard::ShapeList::translate(), and LibBoard::Path::translate().

Member Data Documentation

Color LibBoard::Board::_backgroundColor
protected

The color of the background.

Referenced by backgroundColor(), clear(), saveEPS(), saveFIG(), saveSVG(), and saveTikZ().

State LibBoard::Board::_state
protected

The documentation for this class was generated from the following files: