Ipelib
Classes | Public Member Functions | Friends | List of all members
ipe::Latex Class Reference

#include <ipelatex.h>

Public Member Functions

 Latex (const Cascade *sheet)
 
 ~Latex ()
 
int scanObject (const Object *obj)
 
int scanPage (Page *page)
 
int createLatexSource (Stream &stream, String preamble)
 
bool readPdf (DataSource &source)
 
bool updateTextObjects ()
 
FontPool * takeFontPool ()
 

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 ( const Cascade sheet)

Create a converter object.

Latex::~Latex ( )

Destructor.

Member Function Documentation

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().

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

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::Page::object(), and ipe::Page::titleText().

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

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::abs(), ipe::Cascade::allNames(), ipe::Attribute::color(), ipe::EColor, ipe::ETextSize, ipe::ETextStretch, ipe::ETextStyle, ipe::Cascade::find(), ipe::Cascade::findPreamble(), ipe::Text::getXForm(), ipe::Color::iBlue, ipe::Color::iGreen, ipe::Color::iRed, ipe::Color::isGray(), ipe::Text::isMinipage(), ipe::Attribute::isNumber(), ipe::Fixed::mult(), ipe::Attribute::number(), ipe::String::size(), ipe::Attribute::string(), ipe::Text::style(), ipe::String::substr(), ipe::Text::text(), ipe::Fixed::toDouble(), ipe::String::unicode(), and ipe::Text::width().

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

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::PdfDict::count(), ipe::PdfObj::dict(), ipe::PdfDict::get(), ipe::PdfDict::key(), ipe::PdfFile::page(), and ipe::PdfFile::parse().

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

bool Latex::updateTextObjects ( )

Notify all text objects about their updated PDF code.

Returns true if successful.

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

FontPool * Latex::takeFontPool ( )

Return the newly created font pool and pass ownership of pool to caller.

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

Friends And Related Function Documentation

friend class ipe::TextCollectingVisitor
friend

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