Board  0.9.5
examples/logo.cpp
#include <cmath>
#include "Board.h"
using namespace LibBoard;
int main(int, char *[])
{
Board board;
board.setLineWidth(1).setPenColorRGBi(255, 100, 0);
board.setLineStyle(SolidStyle);
board.setLineJoin(MiterJoin);
board.setLineCap(RoundCap);
board.drawLine(-50, -27, 50, -27);
board.addDuplicates(board.last(), 10, 0, -2);
Point p = board.last<Line>().boundingBox(IgnoreLineWidth).centerLeft();
int n = 20;
double angle = -M_PI / (2 * n);
while (n--)
board << board.last<Line>().rotated(angle, p);
n = 30;
angle = -M_PI / (n);
while (n--) {
board << board.last<Line>().scaled(0.95).rotated(angle, p);
}
double textHeight = board.last<Line>().boundingBox(UseLineWidth).height;
board << Text(-45, -20, "LibBoard", Fonts::Helvetica, "'Bookman Old Style',Verdana", textHeight * 1.2, Color::Green);
board.saveEPS("logo_A4.eps", Board::A4);
board.saveFIG("logo_A4.fig", Board::A4);
board.scaleToWidth(25, UseLineWidth);
board.saveSVG("logo.svg", Board::BoundingBox, 0.0, Board::UCentimeter);
}
LibBoard::Board::saveEPS
void saveEPS(std::ostream &out, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter, const std::string &title=std::string()) const
Definition: Board.cpp:532
LibBoard::ShapeList::last
T & last(const std::size_t position=0)
Definition: ShapeList.h:501
LibBoard::Board::disableLineWidthScaling
static void disableLineWidthScaling()
Definition: Board.cpp:139
LibBoard::Board::saveSVG
void saveSVG(const char *filename, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
Definition: Board.cpp:758
LibBoard::Shape::scaleToWidth
Shape & scaleToWidth(double w, LineWidthFlag lineWidthFlag)
Definition: Shape.cpp:85
LibBoard::Board::setLineCap
Board & setLineCap(LineCap cap)
Definition: Board.h:1014
LibBoard::Line::rotated
Line rotated(double angle, const Point &center) const
Definition: Line.cpp:67
LibBoard::Text
A piece of text.
Definition: Text.h:40
LibBoard::Point
Struct representing a 2D point.
Definition: Point.h:42
LibBoard::Line
A line between two points.
Definition: Line.h:38
LibBoard::Board::setPenColorRGBi
Board & setPenColorRGBi(unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha=255)
Definition: Board.cpp:232
LibBoard::Board::enableLineWidthScaling
static void enableLineWidthScaling()
Definition: Board.cpp:134
LibBoard::Board::addDuplicates
void addDuplicates(const Shape &shape, std::size_t times, double dx, double dy, double scale=1.0)
Definition: Board.cpp:490
Board.h
Declaration of the Board class.
LibBoard::Board
Class for EPS, FIG or SVG drawings.
Definition: Board.h:62
LibBoard::Board::setLineJoin
Board & setLineJoin(LineJoin join)
Definition: Board.h:1020
LibBoard::Board::setLineStyle
Board & setLineStyle(LineStyle style)
Definition: Board.h:1008
LibBoard::Board::drawLine
void drawLine(double x1, double y1, double x2, double y2)
Definition: Board.cpp:303
LibBoard::Board::saveFIG
void saveFIG(const char *filename, PageSize size=Board::BoundingBox, double margin=0.0, Unit unit=UMillimeter) const
Definition: Board.cpp:629
LibBoard::Board::setLineWidth
Board & setLineWidth(double width)
Definition: Board.cpp:274