Board
0.9.6
examples/clipping.cpp
#include <
Board.h
>
using namespace
LibBoard
;
int
main
(
int
,
char
*[])
{
Board
board;
Group
g;
Path
clip = {
Point
(-10, 5),
Point
(0, 5),
Point
(10, 0),
Point
(0, -5),
Point
(-10, -5)};
g.
setClippingPath
(clip);
g << circle(0, 0, 10, Color::Black, Color::Red, 1.0);
board.
addDuplicates
(g, 10, 18, 0, 0.9, 1.05);
board.
addDuplicates
(g, 10, 18, -18, 1.2, 1);
Group
cross;
clip.
clear
();
clip <<
Point
(5, 15);
clip <<
Point
(5, 5);
clip <<
Point
(15, 5);
clip <<
Point
(15, -5);
clip <<
Point
(5, -5);
clip <<
Point
(5, -15);
clip <<
Point
(-5, -15);
clip <<
Point
(-5, -5);
clip <<
Point
(-15, -5);
clip <<
Point
(-15, 5);
clip <<
Point
(-5, 5);
clip <<
Point
(-5, 15);
cross.
setClippingPath
(clip);
Ellipse
cropedC =
LibBoard::circle
(0, 0, 10, Color::Black,
Color
(100, 255, 100), 1.0);
cross << cropedC;
board << cross.
scaled
(3);
board.
addDuplicates
(cross.
translated
(0, -60).
scaled
(2), 18, 0, 0, 0.85, 0.85, 0.1);
board.
saveEPS
(
"clipping.eps"
, 210, 297);
// Centered on an A4 paper with a 50mm margin.
board.
saveSVG
(
"clipping_A4.svg"
, PageSize::A4, 50);
// Viewport == BoundingBox (default)
board.
scaleToWidth
(20, UseLineWidth);
board.
saveSVG
(
"clipping.svg"
, PageSize::BoundingBox, 0.0, Unit::Centimeter);
}
Board.h
Declaration of the Board class.
main
int main(int argc, char *argv[])
Definition
arithmetic.cpp:16
LibBoard::Color
Structure representing an RGB triple.
Definition
Color.h:43
LibBoard
Definition
Board.h:55
LibBoard::circle
Ellipse circle(double x, double y, double radius, Color penColor=Style::defaultPenColor(), Color fillColor=Style::defaultFillColor(), double lineWidth=Style::defaultLineWidth(), const LineStyle lineStyle=Style::defaultLineStyle())
Definition
Ellipse.cpp:371
LibBoard::Board
Class for EPS, FIG or SVG drawings.
Definition
Board.h:61
LibBoard::Board::addDuplicates
void addDuplicates(const Shape &shape, std::size_t times, double dx, double dy, double scale=1.0)
Definition
Board.cpp:491
LibBoard::Board::saveEPS
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
LibBoard::Board::saveSVG
void saveSVG(const char *filename, PageSize size=PageSize::BoundingBox, double margin=0.0, Unit unit=Unit::Millimeter) const
Definition
Board.cpp:765
LibBoard::Ellipse
An ellipse.
Definition
Ellipse.h:38
LibBoard::Group
A group of shapes. A group is basically a ShapeList except that when rendered in either an SVG of a F...
Definition
Group.h:40
LibBoard::Group::scaled
Group scaled(double sx, double sy)
Definition
Group.cpp:115
LibBoard::Group::translated
Group translated(double dx, double dy)
Definition
Group.cpp:110
LibBoard::Group::setClippingPath
void setClippingPath(const std::vector< Point > &points)
Definition
Group.cpp:134
LibBoard::Path
A path, according to Postscript and SVG definition.
Definition
Path.h:45
LibBoard::Path::clear
void clear()
Remove all points of the path.
Definition
Path.h:398
LibBoard::Point
Struct representing a 2D point.
Definition
Point.h:42
LibBoard::Shape::scaleToWidth
Shape & scaleToWidth(double w, LineWidthFlag lineWidthFlag)
Definition
Shape.cpp:85
Generated by
1.9.7