Inkscape
Vector Graphics Editor
|
#include <latex-text-renderer.h>
Public Member Functions | |
LaTeXTextRenderer (bool pdflatex) | |
virtual | ~LaTeXTextRenderer () |
bool | setTargetFile (gchar const *filename) |
This should create the output LaTeX file, and assign it to _stream. | |
bool | setupDocument (SPDocument *doc, SPItem *base) |
Initializes the LaTeXTextRenderer according to the specified SPDocument. | |
void | renderItem (SPItem *item) |
Traverses the object tree and invokes the render methods. | |
Protected Types | |
enum | LaTeXOmitTextPageState { EMPTY , GRAPHIC_ON_TOP , NEW_PAGE_ON_GRAPHIC } |
Protected Member Functions | |
void | push_transform (Geom::Affine const &transform) |
Geom::Affine const & | transform () |
void | pop_transform () |
void | writePreamble () |
void | writePostamble () |
void | writeGraphicPage () |
void | sp_item_invoke_render (SPItem *item) |
void | sp_root_render (SPRoot *item) |
void | sp_group_render (SPGroup *group) |
void | sp_use_render (SPUse *use) |
void | sp_text_render (SPText *text) |
void | sp_flowtext_render (SPFlowtext *flowtext) |
Protected Attributes | |
FILE * | _stream |
gchar * | _filename |
bool | _pdflatex |
LaTeXOmitTextPageState | _omittext_state |
true if outputting for pdfLaTeX | |
gulong | _omittext_page |
std::stack< Geom::Affine > | _transform_stack |
Definition at line 34 of file latex-text-renderer.h.
Enumerator | |
---|---|
EMPTY | |
GRAPHIC_ON_TOP | |
NEW_PAGE_ON_GRAPHIC |
Definition at line 49 of file latex-text-renderer.h.
Inkscape::Extension::Internal::LaTeXTextRenderer::LaTeXTextRenderer | ( | bool | pdflatex | ) |
Definition at line 80 of file latex-text-renderer.cpp.
References Geom::identity(), and push_transform().
|
virtual |
Definition at line 90 of file latex-text-renderer.cpp.
References _filename, _stream, and writePostamble().
|
protected |
Definition at line 696 of file latex-text-renderer.cpp.
References _transform_stack.
Referenced by renderItem(), sp_root_render(), and sp_use_render().
|
protected |
Definition at line 685 of file latex-text-renderer.cpp.
References _transform_stack.
Referenced by LaTeXTextRenderer(), renderItem(), setupDocument(), sp_root_render(), and sp_use_render().
void Inkscape::Extension::Internal::LaTeXTextRenderer::renderItem | ( | SPItem * | item | ) |
Traverses the object tree and invokes the render methods.
Definition at line 608 of file latex-text-renderer.cpp.
References item, pop_transform(), push_transform(), sp_item_invoke_render(), and SPItem::transform.
Referenced by Inkscape::Extension::Internal::latex_render_document_text_to_file(), sp_group_render(), and sp_use_render().
bool Inkscape::Extension::Internal::LaTeXTextRenderer::setTargetFile | ( | gchar const * | filename | ) |
This should create the output LaTeX file, and assign it to _stream.
Definition at line 107 of file latex-text-renderer.cpp.
References _filename, _stream, Inkscape::IO::dump_fopen_call(), Inkscape::IO::fopen_utf8name(), Inkscape::version_string, and writePreamble().
Referenced by Inkscape::Extension::Internal::latex_render_document_text_to_file().
bool Inkscape::Extension::Internal::LaTeXTextRenderer::setupDocument | ( | SPDocument * | doc, |
SPItem * | base | ||
) |
Initializes the LaTeXTextRenderer according to the specified SPDocument.
Important to set the boundingbox to the pdf boundingbox
Definition at line 630 of file latex-text-renderer.cpp.
References _pdflatex, _stream, Inkscape::Util::Quantity::convert(), Geom::GenericRect< C >::corner(), Geom::GenericRect< Coord >::from_xywh(), SPDocument::getDimensions(), SPDocument::getRoot(), Geom::GenericRect< C >::height(), push_transform(), scale, Inkscape::SVGOStringStream::setf(), Inkscape::SVGOStringStream::str(), Geom::GenericRect< C >::width(), and writeGraphicPage().
Referenced by Inkscape::Extension::Internal::latex_render_document_text_to_file().
|
protected |
Definition at line 401 of file latex-text-renderer.cpp.
References _omittext_state, _pdflatex, _stream, Geom::are_near(), Geom::atan2(), SPStyle::baseline_shift, Inkscape::Text::Layout::begin(), Inkscape::Text::Layout::CENTER, Geom::GenericRect< C >::corner(), Inkscape::Text::Layout::end(), Geom::Affine::expansionX(), SPStyle::fill, SPStyle::fill_opacity, SPStyle::font_style, SPStyle::font_weight, Inkscape::Text::Layout::FULL, SPFlowtext::get_frame(), GRAPHIC_ON_TOP, SPItem::i2doc_affine(), SPFlowtext::layout, Inkscape::Text::Layout::LEFT, NEW_PAGE_ON_GRAPHIC, Inkscape::Text::Layout::iterator::nextStartOfSpan(), SPStyle::opacity, Inkscape::Text::Layout::paragraphAlignment(), Inkscape::Text::Layout::RIGHT, Inkscape::SVGOStringStream::setf(), SP_CSS_FONT_STYLE_ITALIC, SP_CSS_FONT_STYLE_OBLIQUE, SP_CSS_FONT_WEIGHT_500, SP_CSS_FONT_WEIGHT_600, SP_CSS_FONT_WEIGHT_700, SP_CSS_FONT_WEIGHT_800, SP_CSS_FONT_WEIGHT_900, SP_CSS_FONT_WEIGHT_BOLD, SP_CSS_FONT_WEIGHT_BOLDER, SP_RGBA32_B_F(), SP_RGBA32_G_F(), SP_RGBA32_R_F(), sp_te_get_string_multiline(), sp_te_style_at_position(), Inkscape::SVGOStringStream::str(), SPStyle::stroke, SPStyle::stroke_opacity, SPObject::style, te_get_layout(), transform(), Geom::GenericRect< C >::width(), Geom::Affine::withoutTranslation(), Geom::X, Geom::Affine::xAxis(), and Geom::Y.
Referenced by sp_item_invoke_render().
|
protected |
Definition at line 200 of file latex-text-renderer.cpp.
References SPObject::childList(), item, and renderItem().
Referenced by sp_item_invoke_render(), and sp_root_render().
|
protected |
Definition at line 572 of file latex-text-renderer.cpp.
References _omittext_state, _pdflatex, EMPTY, GRAPHIC_ON_TOP, SPItem::isHidden(), item, NEW_PAGE_ON_GRAPHIC, root, sp_flowtext_render(), sp_group_render(), sp_root_render(), sp_text_render(), sp_use_render(), and writeGraphicPage().
Referenced by renderItem().
|
protected |
Definition at line 564 of file latex-text-renderer.cpp.
References pop_transform(), push_transform(), root, and sp_group_render().
Referenced by sp_item_invoke_render().
|
protected |
Definition at line 231 of file latex-text-renderer.cpp.
References _omittext_state, _pdflatex, _stream, Inkscape::Colors::Color::addOpacity(), Geom::are_near(), Geom::atan2(), SPStyle::baseline_shift, Inkscape::Text::Layout::baselineAnchorPoint(), Inkscape::Text::Layout::begin(), Inkscape::Colors::Color::convert(), Inkscape::Text::Layout::end(), SPStyle::fill, SPStyle::fill_opacity, SPStyle::font_size, SPStyle::font_style, SPStyle::font_weight, Inkscape::Text::Layout::getActualLength(), Inkscape::Colors::Color::getOpacity(), GRAPHIC_ON_TOP, SPItem::i2doc_affine(), SPText::layout, SPStyle::line_height, NEW_PAGE_ON_GRAPHIC, Inkscape::Text::Layout::iterator::nextStartOfSpan(), SPStyle::opacity, Inkscape::Colors::Space::RGB, Inkscape::SVGOStringStream::setf(), SP_CSS_FONT_STYLE_ITALIC, SP_CSS_FONT_STYLE_OBLIQUE, SP_CSS_FONT_WEIGHT_500, SP_CSS_FONT_WEIGHT_600, SP_CSS_FONT_WEIGHT_700, SP_CSS_FONT_WEIGHT_800, SP_CSS_FONT_WEIGHT_900, SP_CSS_FONT_WEIGHT_BOLD, SP_CSS_FONT_WEIGHT_BOLDER, SP_CSS_TEXT_ANCHOR_END, SP_CSS_TEXT_ANCHOR_MIDDLE, SP_CSS_TEXT_ANCHOR_START, SP_CSS_UNIT_NONE, sp_te_get_string_multiline(), sp_te_style_at_position(), Inkscape::SVGOStringStream::str(), SPStyle::stroke, SPStyle::stroke_opacity, SPObject::style, te_get_layout(), SPStyle::text_anchor, transform(), Geom::Affine::withoutTranslation(), Geom::X, Geom::Affine::xAxis(), and Geom::Y.
Referenced by sp_item_invoke_render().
|
protected |
Definition at line 211 of file latex-text-renderer.cpp.
References SVGLength::_set, SPUse::child, SVGLength::computed, pop_transform(), push_transform(), renderItem(), SPDimensions::x, and SPDimensions::y.
Referenced by sp_item_invoke_render().
|
protected |
Definition at line 679 of file latex-text-renderer.cpp.
References _transform_stack.
Referenced by sp_flowtext_render(), and sp_text_render().
|
protected |
Definition at line 616 of file latex-text-renderer.cpp.
References _filename, _omittext_page, _pdflatex, _stream, Inkscape::SVGOStringStream::setf(), and Inkscape::SVGOStringStream::str().
Referenced by setupDocument(), and sp_item_invoke_render().
|
protected |
Definition at line 195 of file latex-text-renderer.cpp.
References _stream, and Inkscape::Extension::Internal::postamble.
Referenced by ~LaTeXTextRenderer().
|
protected |
Definition at line 190 of file latex-text-renderer.cpp.
References _stream, and Inkscape::Extension::Internal::preamble.
Referenced by setTargetFile().
|
protected |
Definition at line 56 of file latex-text-renderer.h.
Referenced by setTargetFile(), writeGraphicPage(), and ~LaTeXTextRenderer().
|
protected |
Definition at line 61 of file latex-text-renderer.h.
Referenced by writeGraphicPage().
|
protected |
true if outputting for pdfLaTeX
Definition at line 60 of file latex-text-renderer.h.
Referenced by sp_flowtext_render(), sp_item_invoke_render(), and sp_text_render().
|
protected |
Definition at line 58 of file latex-text-renderer.h.
Referenced by setupDocument(), sp_flowtext_render(), sp_item_invoke_render(), sp_text_render(), and writeGraphicPage().
|
protected |
Definition at line 55 of file latex-text-renderer.h.
Referenced by setTargetFile(), setupDocument(), sp_flowtext_render(), sp_text_render(), writeGraphicPage(), writePostamble(), writePreamble(), and ~LaTeXTextRenderer().
|
protected |
Definition at line 66 of file latex-text-renderer.h.
Referenced by pop_transform(), push_transform(), and transform().