Ipelib
ipe::Latex Class Reference

#include <ipelatex.h>

Public Member Functions

 Latex (const Cascade *sheet, LatexType latexType)
 ~Latex ()
int scanObject (const Object *obj)
int scanPage (Page *page)
void addPageNumber (int pno, int vno, int npages, int nviews)
int createLatexSource (Stream &stream, String preamble)
bool readPdf (DataSource &source)
bool updateTextObjects ()
PdfResourcestakeResources ()

Friends

class ipe::TextCollectingVisitor

Detailed Description

Object that converts latex source to PDF format.

This object is responsible for creating the PDF representation of text objects.

Constructor & Destructor Documentation

◆ Latex()

Latex::Latex ( const Cascade * sheet,
LatexType latexType )

Create a converter object.

References ipe::Xetex.

◆ ~Latex()

Latex::~Latex ( )

Destructor.

Member Function Documentation

◆ scanObject()

int Latex::scanObject ( const Object * obj)

Scan an object and insert all text objects into Latex's list. Returns total number of text objects found so far.

References ipe::Object::accept(), and ipe::TextCollectingVisitor.

◆ scanPage()

int Latex::scanPage ( Page * page)

Scan a page and insert all text objects into Latex's list. Returns total number of text objects found so far.

References ipe::Object::accept(), ipe::Text::accept(), ipe::Page::applyTitleStyle(), ipe::Page::count(), ipe::Page::invalidateBBox(), ipe::TextCollectingVisitor, ipe::Page::object(), and ipe::Page::titleText().

◆ addPageNumber()

◆ createLatexSource()

int Latex::createLatexSource ( Stream & stream,
String preamble )

Create a Latex source file with all the text objects collected before. The client should have prepared a directory for the Pdflatex run, and pass the name of the Latex source file to be written by Latex.

Returns the number of text objects that did not yet have an XForm, or a negative error code.

References ipe::EColor, ipe::ELabelStyle, ipe::String::empty(), ipe::ETextSize, ipe::ETextStretch, ipe::ETextStyle, ipe::Text::getXForm(), ipe::Color::iBlue, ipe::Color::iGreen, ipe::Color::iRed, ipe::Color::isGray(), ipe::Text::isMinipage(), ipe::Attribute::isNumber(), ipe::Luatex, ipe::Fixed::mult(), ipe::Attribute::number(), ipe::size(), ipe::String::size(), ipe::Attribute::string(), ipe::Text::stroke(), ipe::Text::style(), ipe::String::substr(), ipe::Text::text(), ipe::Fixed::toDouble(), and ipe::Text::width().

◆ readPdf()

bool Latex::readPdf ( DataSource & source)

Read the PDF file created by Pdflatex.

Must have performed the call to Pdflatex, and pass the name of the resulting output file.

References ipe::PdfObj::array(), ipe::PdfDict::count(), ipe::PdfObj::dict(), ipe::PdfDict::get(), ipe::PdfDict::key(), ipe::PdfArray::obj(), ipe::PdfObj::ref(), ipe::PdfDict::value(), and ipe::PdfRef::value().

◆ updateTextObjects()

bool Latex::updateTextObjects ( )

Notify all text objects about their updated PDF code.

Returns true if successful.

References ipe::Text::XForm::iRefCount, and ipe::size().

Referenced by ipe::Document::completeLatexRun().

◆ takeResources()

PdfResources * Latex::takeResources ( )

Return the newly created PdfResources and pass ownership to caller.

Referenced by ipe::Document::completeLatexRun().

◆ ipe::TextCollectingVisitor

friend class ipe::TextCollectingVisitor
friend

Referenced by scanObject(), and scanPage().


The documentation for this class was generated from the following files: