Board  0.9.5
examples/ruler.cpp
#include <cstdlib>
#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" /*, Board::A4 */ );
board.saveFIG( "ruler.fig" /*, Board::A4 */ );
board.scaleToWidth(25,UseLineWidth);
board.saveSVG( "ruler.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::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::Line::translate
Line & translate(double dx, double dy) override
Definition: Line.cpp:84
LibBoard::Line::boundingBox
Rect boundingBox(LineWidthFlag) const override
Definition: Line.cpp:242
LibBoard::Text
A piece of text.
Definition: Text.h:40
LibBoard::Line
A line between two points.
Definition: Line.h:38
LibBoard::Board::drawText
void drawText(double x, double y, const char *text)
Definition: Board.cpp:428
LibBoard::Board::setFontSize
Board & setFontSize(double fontSize)
Definition: Board.cpp:287
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::clear
void clear(const Color &color=Color::Null)
Definition: Board.cpp:149
LibBoard::Board
Class for EPS, FIG or SVG drawings.
Definition: Board.h:62
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