bpp-core3
3.0.0
|
LaTeX Portable Graphic Format (Pgf) plotting format. More...
#include <Bpp/Graphics/Latex/PgfGraphicDevice.h>
Public Member Functions | |
PgfGraphicDevice (std::ostream &out, double unit) | |
Build a new Pgf device object. More... | |
virtual | ~PgfGraphicDevice () |
void | begin () |
Start the painting. More... | |
void | end () |
End the painting. More... | |
void | setCurrentForegroundColor (const RGBColor &color) |
void | setCurrentBackgroundColor (const RGBColor &color) |
void | setCurrentFont (const Font &font) |
void | setCurrentPointSize (unsigned int size) |
void | setCurrentLineType (short type) |
void | setCurrentLayer (int layerIndex) |
void | drawLine (double x1, double y1, double x2, double y2) |
Draw a line between two points. More... | |
void | drawRect (double x, double y, double width, double height, short fill=FILL_EMPTY) |
Draw a rectangle. More... | |
void | drawCircle (double x, double y, double radius, short fill=FILL_EMPTY) |
Draw a circle. More... | |
void | drawText (double x, double y, const std::string &text, short hpos=TEXT_HORIZONTAL_LEFT, short vpos=TEXT_VERTICAL_BOTTOM, double angle=0) |
Draw some characters. More... | |
void | comment (const std::string &text) |
Add a comment in the output. More... | |
const std::string & | getFontShape (const Font &font) |
void | setXUnit (double xu) |
void | setYUnit (double yu) |
double | getXUnit () const |
double | getYUnit () const |
const RGBColor & | getCurrentForegroundColor () const |
const RGBColor & | getCurrentBackgroundColor () const |
const Font & | getCurrentFont () const |
unsigned int | getCurrentPointSize () const |
short | getCurrentLineType () const |
int | getCurrentLayer () const |
Static Public Attributes | |
static short | TEXT_HORIZONTAL_CENTER = 0 |
static short | TEXT_HORIZONTAL_LEFT = 1 |
static short | TEXT_HORIZONTAL_RIGHT = 2 |
static short | TEXT_VERTICAL_CENTER = 3 |
static short | TEXT_VERTICAL_BOTTOM = 4 |
static short | TEXT_VERTICAL_TOP = 5 |
static short | FILL_EMPTY = 10 |
static short | FILL_FILLED = 11 |
static short | FILL_PATTERN = 12 |
static short | LINE_SOLID = 20 |
static short | LINE_DASHED = 21 |
static short | LINE_DOTTED = 22 |
Protected Member Functions | |
double | x_ (double x) const |
double | y_ (double y) const |
double | revx_ (double x) const |
double | revy_ (double y) const |
Private Attributes | |
std::ostream & | out_ |
std::string | fgColorStr_ |
std::string | bgColorStr_ |
std::vector< std::string > | content_ |
std::vector< int > | layers_ |
std::map< const RGBColor, std::string > | colorIndex_ |
unsigned int | colorCount_ |
bool | useLayers_ |
bool | contentStarted_ |
std::map< short int, std::string > | fontShapes_ |
std::map< short int, std::string > | fontSeries_ |
LaTeX Portable Graphic Format (Pgf) plotting format.
Definition at line 22 of file PgfGraphicDevice.h.
PgfGraphicDevice::PgfGraphicDevice | ( | std::ostream & | out, |
double | unit | ||
) |
Build a new Pgf device object.
Coordinates in Pgf are the same as in LaTeX, so it can be any of cm, mm, in, pt, px, etc. For compatibility with other devices, the constructor takes as input the scale of the drawing, as cm per points. All coordinates and widths will be multiplied by the factor in the output file.
out | The output stream. |
unit | The unit length. |
Definition at line 13 of file PgfGraphicDevice.cpp.
References bpp::ColorTools::BLACK, bpp::ColorTools::BLUE, colorIndex_, bpp::ColorTools::CYAN, fontSeries_, fontShapes_, bpp::ColorTools::GREEN, bpp::ColorTools::MAGENTA, bpp::ColorTools::RED, setCurrentFont(), bpp::AbstractGraphicDevice::setXUnit(), bpp::AbstractGraphicDevice::setYUnit(), bpp::Font::STYLE_ITALIC, bpp::Font::STYLE_NORMAL, bpp::Font::WEIGHT_BOLD, bpp::Font::WEIGHT_NORMAL, bpp::ColorTools::WHITE, and bpp::ColorTools::YELLOW.
|
inlinevirtual |
Definition at line 51 of file PgfGraphicDevice.h.
References begin(), drawCircle(), drawLine(), drawRect(), drawText(), end(), bpp::GraphicDevice::FILL_EMPTY, setCurrentBackgroundColor(), setCurrentFont(), setCurrentForegroundColor(), setCurrentLayer(), setCurrentLineType(), setCurrentPointSize(), bpp::GraphicDevice::TEXT_HORIZONTAL_LEFT, and bpp::GraphicDevice::TEXT_VERTICAL_BOTTOM.
|
virtual |
Start the painting.
Implements bpp::GraphicDevice.
Definition at line 45 of file PgfGraphicDevice.cpp.
References colorCount_, colorIndex_, content_, contentStarted_, layers_, and useLayers_.
Referenced by ~PgfGraphicDevice().
|
inlinevirtual |
Add a comment in the output.
comment | Comment text. |
Implements bpp::GraphicDevice.
Definition at line 68 of file PgfGraphicDevice.h.
References getFontShape().
|
virtual |
Draw a circle.
This method uses the current foreground color and the current line type for drawing the stroke of the circle, and the current background color for filling the circle.
x | x coordinate of the center |
y | y coordinate of the center |
radius | The circle radius |
fill | Filling type (one of FILL_EMPTY, FILL_FILLED or FILL_PATTERN). |
Implements bpp::GraphicDevice.
Definition at line 231 of file PgfGraphicDevice.cpp.
References content_, contentStarted_, and bpp::GraphicDevice::FILL_FILLED.
Referenced by ~PgfGraphicDevice().
|
virtual |
Draw a line between two points.
This method uses the current foreground color and the current line type.
x1 | x coordinate 1 |
y1 | y coordinate 1 |
x2 | x coordinate 2 |
y2 | y coordinate 2 |
Implements bpp::GraphicDevice.
Definition at line 208 of file PgfGraphicDevice.cpp.
References content_, and contentStarted_.
Referenced by ~PgfGraphicDevice().
|
virtual |
Draw a rectangle.
This method uses the current foreground color and the current line type for drawing the stroke of the rectangle, and the current background color for filling the rectangle.
x | x coordinate |
y | y coordinate |
width | The rectangle width |
height | The rectangle height |
fill | Filling type (one of FILL_EMPTY, FILL_FILLED or FILL_PATTERN). |
Implements bpp::GraphicDevice.
Definition at line 219 of file PgfGraphicDevice.cpp.
References content_, contentStarted_, and bpp::GraphicDevice::FILL_FILLED.
Referenced by ~PgfGraphicDevice().
|
virtual |
Draw some characters.
This method uses the current foreground color.
x | x coordinate |
y | y coordinate |
text | The characters to draw |
hpos | Horizontal adjustment, one of TEXT_HORIZONTAL_LEFT, TEXT_HORIZONTAL_CENTER or TEXT_HORIZONTAL_RIGHT. |
vpos | Vertical adjustment, one of TEXT_VERTICAL_LEFT, TEXT_VERTICAL_CENTER or TEXT_VERTICAL_RIGHT. |
angle | Angle i radian to rotate the text. |
Implements bpp::GraphicDevice.
Definition at line 243 of file PgfGraphicDevice.cpp.
References content_, contentStarted_, fgColorStr_, bpp::GraphicDevice::TEXT_HORIZONTAL_CENTER, bpp::GraphicDevice::TEXT_HORIZONTAL_LEFT, bpp::GraphicDevice::TEXT_HORIZONTAL_RIGHT, bpp::GraphicDevice::TEXT_VERTICAL_BOTTOM, bpp::GraphicDevice::TEXT_VERTICAL_CENTER, and bpp::GraphicDevice::TEXT_VERTICAL_TOP.
Referenced by ~PgfGraphicDevice().
|
virtual |
End the painting.
Depending on the implementation of the device, the call of this method might be required before the plotting commands become visible.
Implements bpp::GraphicDevice.
Definition at line 56 of file PgfGraphicDevice.cpp.
References colorIndex_, comp(), content_, bpp::AbstractGraphicDevice::getCurrentLayer(), bpp::AbstractGraphicDevice::getXUnit(), bpp::AbstractGraphicDevice::getYUnit(), layers_, out_, bpp::TextTools::toString(), and useLayers_.
Referenced by ~PgfGraphicDevice().
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 58 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::bgColor_.
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 59 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::font_.
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 57 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::fgColor_.
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 62 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::currentLayer_.
Referenced by bpp::SvgGraphicDevice::comment(), end(), and setCurrentLayer().
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 61 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::lineType_.
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 60 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::pointSize_.
Referenced by setCurrentLineType().
const std::string& bpp::PgfGraphicDevice::getFontShape | ( | const Font & | font | ) |
Referenced by comment().
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 41 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::xUnit_.
Referenced by end().
|
inlinevirtualinherited |
Implements bpp::GraphicDevice.
Definition at line 42 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::yUnit_.
Referenced by end().
|
inlineprotectedinherited |
Definition at line 68 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::xUnit_.
|
inlineprotectedinherited |
Definition at line 69 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::yUnit_.
|
virtual |
Reimplemented from bpp::AbstractGraphicDevice.
Definition at line 126 of file PgfGraphicDevice.cpp.
References bgColorStr_, colorCount_, colorIndex_, content_, bpp::AbstractGraphicDevice::setCurrentBackgroundColor(), and bpp::TextTools::toString().
Referenced by ~PgfGraphicDevice().
|
virtual |
Reimplemented from bpp::AbstractGraphicDevice.
Definition at line 145 of file PgfGraphicDevice.cpp.
References content_, fontSeries_, fontShapes_, bpp::Font::getFamily(), bpp::Font::getSeries(), bpp::Font::getShape(), bpp::Font::getSize(), and bpp::AbstractGraphicDevice::setCurrentFont().
Referenced by PgfGraphicDevice(), and ~PgfGraphicDevice().
|
virtual |
Reimplemented from bpp::AbstractGraphicDevice.
Definition at line 107 of file PgfGraphicDevice.cpp.
References colorCount_, colorIndex_, content_, fgColorStr_, bpp::AbstractGraphicDevice::setCurrentForegroundColor(), and bpp::TextTools::toString().
Referenced by ~PgfGraphicDevice().
|
virtual |
Reimplemented from bpp::AbstractGraphicDevice.
Definition at line 190 of file PgfGraphicDevice.cpp.
References bgColorStr_, content_, contentStarted_, fgColorStr_, bpp::AbstractGraphicDevice::getCurrentLayer(), layers_, bpp::AbstractGraphicDevice::setCurrentLayer(), bpp::TextTools::toString(), and useLayers_.
Referenced by ~PgfGraphicDevice().
|
virtual |
Reimplemented from bpp::AbstractGraphicDevice.
Definition at line 165 of file PgfGraphicDevice.cpp.
References content_, bpp::AbstractGraphicDevice::getCurrentPointSize(), bpp::GraphicDevice::LINE_DASHED, bpp::GraphicDevice::LINE_DOTTED, bpp::GraphicDevice::LINE_SOLID, bpp::AbstractGraphicDevice::setCurrentLineType(), bpp::TextTools::toString(), and bpp::AbstractGraphicDevice::x_().
Referenced by ~PgfGraphicDevice().
|
virtual |
Reimplemented from bpp::AbstractGraphicDevice.
Definition at line 157 of file PgfGraphicDevice.cpp.
References content_, bpp::AbstractGraphicDevice::setCurrentPointSize(), and bpp::AbstractGraphicDevice::x_().
Referenced by ~PgfGraphicDevice().
|
inlinevirtualinherited |
xu | The x expansion factor. The actual unit actually depends on the implementation. |
Implements bpp::GraphicDevice.
Definition at line 39 of file AbstractGraphicDevice.h.
Referenced by PgfGraphicDevice().
|
inlinevirtualinherited |
yu | The y expansion factor. The actual unit actually depends on the implementation. |
Implements bpp::GraphicDevice.
Definition at line 40 of file AbstractGraphicDevice.h.
Referenced by PgfGraphicDevice().
|
inlineprotectedinherited |
Definition at line 65 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::xUnit_.
Referenced by setCurrentLineType(), and setCurrentPointSize().
|
inlineprotectedinherited |
Definition at line 66 of file AbstractGraphicDevice.h.
References bpp::AbstractGraphicDevice::yUnit_.
|
private |
Definition at line 28 of file PgfGraphicDevice.h.
Referenced by setCurrentBackgroundColor(), and setCurrentLayer().
|
private |
Definition at line 32 of file PgfGraphicDevice.h.
Referenced by begin(), setCurrentBackgroundColor(), and setCurrentForegroundColor().
|
private |
Definition at line 31 of file PgfGraphicDevice.h.
Referenced by begin(), end(), PgfGraphicDevice(), setCurrentBackgroundColor(), and setCurrentForegroundColor().
|
private |
Definition at line 29 of file PgfGraphicDevice.h.
Referenced by begin(), drawCircle(), drawLine(), drawRect(), drawText(), end(), setCurrentBackgroundColor(), setCurrentFont(), setCurrentForegroundColor(), setCurrentLayer(), setCurrentLineType(), and setCurrentPointSize().
|
private |
Definition at line 34 of file PgfGraphicDevice.h.
Referenced by begin(), drawCircle(), drawLine(), drawRect(), drawText(), and setCurrentLayer().
|
private |
Definition at line 27 of file PgfGraphicDevice.h.
Referenced by drawText(), setCurrentForegroundColor(), and setCurrentLayer().
|
staticinherited |
Definition at line 150 of file GraphicDevice.h.
Referenced by bpp::XFigGraphicDevice::setCurrentLineType(), ~PgfGraphicDevice(), and bpp::SvgGraphicDevice::~SvgGraphicDevice().
|
staticinherited |
Definition at line 151 of file GraphicDevice.h.
Referenced by drawCircle(), and drawRect().
|
staticinherited |
Definition at line 152 of file GraphicDevice.h.
|
mutableprivate |
Definition at line 36 of file PgfGraphicDevice.h.
Referenced by PgfGraphicDevice(), and setCurrentFont().
|
mutableprivate |
Definition at line 35 of file PgfGraphicDevice.h.
Referenced by PgfGraphicDevice(), and setCurrentFont().
|
private |
Definition at line 30 of file PgfGraphicDevice.h.
Referenced by begin(), end(), and setCurrentLayer().
|
staticinherited |
Definition at line 155 of file GraphicDevice.h.
Referenced by bpp::AbstractGraphicDevice::setCurrentLineType(), setCurrentLineType(), and bpp::XFigGraphicDevice::setCurrentLineType().
|
staticinherited |
Definition at line 156 of file GraphicDevice.h.
Referenced by bpp::AbstractGraphicDevice::setCurrentLineType(), setCurrentLineType(), and bpp::XFigGraphicDevice::setCurrentLineType().
|
staticinherited |
Definition at line 154 of file GraphicDevice.h.
Referenced by bpp::AbstractGraphicDevice::setCurrentLineType(), setCurrentLineType(), and bpp::XFigGraphicDevice::setCurrentLineType().
|
private |
Definition at line 26 of file PgfGraphicDevice.h.
Referenced by end().
|
staticinherited |
Definition at line 143 of file GraphicDevice.h.
Referenced by drawText().
|
staticinherited |
Definition at line 144 of file GraphicDevice.h.
Referenced by drawText(), bpp::XFigGraphicDevice::setCurrentLineType(), ~PgfGraphicDevice(), and bpp::SvgGraphicDevice::~SvgGraphicDevice().
|
staticinherited |
Definition at line 145 of file GraphicDevice.h.
Referenced by drawText().
|
staticinherited |
Definition at line 147 of file GraphicDevice.h.
Referenced by drawText(), bpp::XFigGraphicDevice::setCurrentLineType(), ~PgfGraphicDevice(), and bpp::SvgGraphicDevice::~SvgGraphicDevice().
|
staticinherited |
Definition at line 146 of file GraphicDevice.h.
Referenced by drawText().
|
staticinherited |
Definition at line 148 of file GraphicDevice.h.
Referenced by drawText().
|
private |
Definition at line 33 of file PgfGraphicDevice.h.
Referenced by begin(), end(), and setCurrentLayer().