Board 0.9.6
examples/ruler.cpp
#include <Board.h>
using namespace LibBoard;
int main(int, char *[])
{
Board board;
board.clear(Color::White);
board.setLineWidth(0.01);
// board << Rectangle( 0, 27.7, 19, 27.7, Color::Black, Color::None, 0.1 );
Line tiny(0, 0, 0.2, 0, Color::Black, 0.01);
Line small(0.2, 0, 0.7, 0, Color::Black, 0.01);
Line large(0.7, 0, 1.5, 0, Color::Black, 0.01);
// Centimeters
board.addDuplicates(small, 201, 0, 0.1);
board.addDuplicates(large, 21, 0, 1);
board.setFontSize(2);
board.drawText(board.last<Line>().boundingBox(UseLineWidth).topRight(), "Centimeters");
// Inches
tiny.translate(15, 0);
small.translate(15, 0);
large.translate(15, 0);
board.addDuplicates(tiny, 41, 0, 2.54 / 4);
board.addDuplicates(small, 21, 0, 2.54 / 2);
board.addDuplicates(large, 11, 0, 2.54);
board << Text(board.last<Line>().boundingBox(UseLineWidth).topRight(), "Inches", Fonts::CourierBold, 2, Color::Red);
board.saveEPS("ruler.eps" /*, PageSize::A4 */);
board.saveFIG("ruler.fig" /*, PageSize::A4 */);
board.scaleToWidth(25, UseLineWidth);
board.saveSVG("ruler.svg", PageSize::BoundingBox, 0.0, Unit::Centimeter);
}
Declaration of the Board class.
int main(int argc, char *argv[])
Definition arithmetic.cpp:16
Definition Board.h:55
Class for EPS, FIG or SVG drawings.
Definition Board.h:61
Board & setFontSize(double fontSize)
Definition Board.cpp:287
void addDuplicates(const Shape &shape, std::size_t times, double dx, double dy, double scale=1.0)
Definition Board.cpp:491
void saveFIG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition Board.cpp:636
void drawText(double x, double y, const char *text)
Definition Board.cpp:428
void saveEPS(std::ostream &out, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter, const std::string &title=std::string()) const
Definition Board.cpp:539
Board & setLineWidth(double width)
Definition Board.cpp:274
void clear(const Color &color=Color::Null)
Definition Board.cpp:149
void saveSVG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition Board.cpp:765
A line between two points.
Definition Line.h:38
Rect boundingBox(LineWidthFlag) const override
Definition Line.cpp:242
Line & translate(double dx, double dy) override
Definition Line.cpp:84
Point topRight() const
topRight Top-right point of the rectangle
Definition Rect.h:83
T & last(const std::size_t position=0)
Definition ShapeList.h:505
Shape & scaleToWidth(double w, LineWidthFlag lineWidthFlag)
Definition Shape.cpp:85
A piece of text.
Definition Text.h:40