LibreOffice Module sdext (master)  1
Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
pdfi::PDFOutDev Class Reference

#include <pdfioutdev_gpl.hxx>

Inheritance diagram for pdfi::PDFOutDev:
[legend]
Collaboration diagram for pdfi::PDFOutDev:
[legend]

Public Member Functions

 PDFOutDev (PDFDoc *pDoc)
 
virtual ~PDFOutDev () override
 
virtual poppler_bool upsideDown () override
 
virtual poppler_bool useDrawChar () override
 
virtual poppler_bool interpretType3Chars () override
 
virtual poppler_bool needNonText () override
 
virtual void setDefaultCTM (double *ctm) override
 
virtual void startPage (int pageNum, GfxState *state) override
 
virtual void endPage () override
 
virtual void processLink (Link *link, Catalog *catalog) override
 
virtual void saveState (GfxState *state) override
 
virtual void restoreState (GfxState *state) override
 
virtual void updateCTM (GfxState *state, double m11, double m12, double m21, double m22, double m31, double m32) override
 
virtual void updateLineDash (GfxState *state) override
 
virtual void updateFlatness (GfxState *state) override
 
virtual void updateLineJoin (GfxState *state) override
 
virtual void updateLineCap (GfxState *state) override
 
virtual void updateMiterLimit (GfxState *state) override
 
virtual void updateLineWidth (GfxState *state) override
 
virtual void updateFillColor (GfxState *state) override
 
virtual void updateStrokeColor (GfxState *state) override
 
virtual void updateFillOpacity (GfxState *state) override
 
virtual void updateStrokeOpacity (GfxState *state) override
 
virtual void updateBlendMode (GfxState *state) override
 
virtual void updateFont (GfxState *state) override
 
virtual void updateRender (GfxState *state) override
 
virtual void stroke (GfxState *state) override
 
virtual void fill (GfxState *state) override
 
virtual void eoFill (GfxState *state) override
 
virtual void clip (GfxState *state) override
 
virtual void eoClip (GfxState *state) override
 
virtual void drawChar (GfxState *state, double x, double y, double dx, double dy, double originX, double originY, CharCode code, int nBytes, Unicode *u, int uLen) override
 Output one glyph. More...
 
virtual void drawString (GfxState *state, GooString *s) override
 
virtual void endTextObject (GfxState *state) override
 
virtual void drawImageMask (GfxState *state, Object *ref, Stream *str, int width, int height, poppler_bool invert, poppler_bool interpolate, poppler_bool inlineImg) override
 
virtual void drawImage (GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, poppler_bool interpolate, int *maskColors, poppler_bool inlineImg) override
 
virtual void drawMaskedImage (GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, poppler_bool interpolate, Stream *maskStr, int maskWidth, int maskHeight, poppler_bool maskInvert, poppler_bool maskInterpolate) override
 
virtual void drawSoftMaskedImage (GfxState *state, Object *ref, Stream *str, int width, int height, GfxImageColorMap *colorMap, poppler_bool interpolate, Stream *maskStr, int maskWidth, int maskHeight, GfxImageColorMap *maskColorMap, poppler_bool maskInterpolate) override
 
void setSkipImages (bool bSkipImages)
 

Static Public Member Functions

static void setPageNum (int nNumPages)
 

Private Member Functions

int parseFont (long long nNewId, GfxFont *pFont, GfxState *state) const
 
void writeFontFile (GfxFont *gfxFont) const
 

Static Private Member Functions

static void printPath (GfxPath *pPath)
 

Private Attributes

PDFDoc * m_pDoc
 
std::unordered_map< long long, FontAttributesm_aFontMap
 
std::unique_ptr< UnicodeMap > m_pUtf8Map
 
bool m_bSkipImages
 

Detailed Description

Definition at line 141 of file pdfioutdev_gpl.hxx.

Constructor & Destructor Documentation

pdfi::PDFOutDev::PDFOutDev ( PDFDoc *  pDoc)
explicit

Definition at line 521 of file pdfioutdev_gpl.cxx.

References m_pDoc.

pdfi::PDFOutDev::~PDFOutDev ( )
overridevirtual

Definition at line 528 of file pdfioutdev_gpl.cxx.

Member Function Documentation

void pdfi::PDFOutDev::clip ( GfxState *  state)
overridevirtual

Definition at line 832 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

void pdfi::PDFOutDev::drawChar ( GfxState *  state,
double  x,
double  y,
double  dx,
double  dy,
double  originX,
double  originY,
CharCode  code,
int  nBytes,
Unicode *  u,
int  uLen 
)
overridevirtual

Output one glyph.

Parameters
dxhorizontal skip for character (already scaled with font size) + inter-char space: cursor is shifted by this amount for next char
dyvertical skip for character (zero for horizontal writing mode): cursor is shifted by this amount for next char
originXlocal offset of character (zero for horizontal writing mode). not taken into account for output pos updates. Used for vertical writing.
originYlocal offset of character (zero for horizontal writing mode). not taken into account for output pos updates. Used for vertical writing.

Definition at line 881 of file pdfioutdev_gpl.cxx.

References i, m_pUtf8Map, pdfi::normalize(), and void().

void pdfi::PDFOutDev::drawImage ( GfxState *  state,
Object *  ref,
Stream *  str,
int  width,
int  height,
GfxImageColorMap *  colorMap,
poppler_bool  interpolate,
int maskColors,
poppler_bool  inlineImg 
)
overridevirtual
void pdfi::PDFOutDev::drawImageMask ( GfxState *  state,
Object *  ref,
Stream *  str,
int  width,
int  height,
poppler_bool  invert,
poppler_bool  interpolate,
poppler_bool  inlineImg 
)
overridevirtual
void pdfi::PDFOutDev::drawMaskedImage ( GfxState *  state,
Object *  ref,
Stream *  str,
int  width,
int  height,
GfxImageColorMap *  colorMap,
poppler_bool  interpolate,
Stream *  maskStr,
int  maskWidth,
int  maskHeight,
poppler_bool  maskInvert,
poppler_bool  maskInterpolate 
)
overridevirtual
void pdfi::PDFOutDev::drawSoftMaskedImage ( GfxState *  state,
Object *  ref,
Stream *  str,
int  width,
int  height,
GfxImageColorMap *  colorMap,
poppler_bool  interpolate,
Stream *  maskStr,
int  maskWidth,
int  maskHeight,
GfxImageColorMap *  maskColorMap,
poppler_bool  maskInterpolate 
)
overridevirtual
void pdfi::PDFOutDev::drawString ( GfxState *  state,
GooString *  s 
)
overridevirtual

Definition at line 958 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::endPage ( )
overridevirtual

Definition at line 544 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::endTextObject ( GfxState *  state)
overridevirtual

Definition at line 964 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::eoClip ( GfxState *  state)
overridevirtual

Definition at line 843 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

void pdfi::PDFOutDev::eoFill ( GfxState *  state)
overridevirtual

Definition at line 821 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

void pdfi::PDFOutDev::fill ( GfxState *  state)
overridevirtual

Definition at line 810 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

virtual poppler_bool pdfi::PDFOutDev::interpretType3Chars ( )
inlineoverridevirtual

Definition at line 173 of file pdfioutdev_gpl.hxx.

virtual poppler_bool pdfi::PDFOutDev::needNonText ( )
inlineoverridevirtual

Definition at line 176 of file pdfioutdev_gpl.hxx.

int pdfi::PDFOutDev::parseFont ( long long  nNewId,
GfxFont *  pFont,
GfxState *  state 
) const
private
void pdfi::PDFOutDev::printPath ( GfxPath *  pPath)
staticprivate

Definition at line 497 of file pdfioutdev_gpl.cxx.

References i, n, and pdfi::normalize().

Referenced by clip(), eoClip(), eoFill(), fill(), and stroke().

void pdfi::PDFOutDev::processLink ( Link link,
Catalog *  catalog 
)
overridevirtual

Definition at line 554 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

void pdfi::PDFOutDev::restoreState ( GfxState *  state)
overridevirtual

Definition at line 587 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::saveState ( GfxState *  state)
overridevirtual

Definition at line 582 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::setDefaultCTM ( double *  ctm)
overridevirtual

Definition at line 595 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

void pdfi::PDFOutDev::setPageNum ( int  nNumPages)
static

Definition at line 1097 of file pdfioutdev_gpl.cxx.

Referenced by main().

void pdfi::PDFOutDev::setSkipImages ( bool  bSkipImages)

Definition at line 1103 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

Referenced by main().

void pdfi::PDFOutDev::startPage ( int  pageNum,
GfxState *  state 
)
overridevirtual

Definition at line 532 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

void pdfi::PDFOutDev::stroke ( GfxState *  state)
overridevirtual

Definition at line 799 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

void pdfi::PDFOutDev::updateBlendMode ( GfxState *  state)
overridevirtual

Definition at line 735 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::updateCTM ( GfxState *  state,
double  m11,
double  m12,
double  m21,
double  m22,
double  m31,
double  m32 
)
overridevirtual

Definition at line 611 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

void pdfi::PDFOutDev::updateFillColor ( GfxState *  state)
overridevirtual

Definition at line 689 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

Referenced by updateFillOpacity().

void pdfi::PDFOutDev::updateFillOpacity ( GfxState *  state)
overridevirtual

Definition at line 721 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and updateFillColor().

void pdfi::PDFOutDev::updateFlatness ( GfxState *  state)
overridevirtual

Definition at line 649 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

void pdfi::PDFOutDev::updateFont ( GfxState *  state)
overridevirtual
void pdfi::PDFOutDev::updateLineCap ( GfxState *  state)
overridevirtual

Definition at line 665 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

void pdfi::PDFOutDev::updateLineDash ( GfxState *  state)
overridevirtual

Definition at line 630 of file pdfioutdev_gpl.cxx.

References i, m_bSkipImages, and pdfi::normalize().

void pdfi::PDFOutDev::updateLineJoin ( GfxState *  state)
overridevirtual

Definition at line 657 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

void pdfi::PDFOutDev::updateLineWidth ( GfxState *  state)
overridevirtual

Definition at line 681 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

void pdfi::PDFOutDev::updateMiterLimit ( GfxState *  state)
overridevirtual

Definition at line 673 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

void pdfi::PDFOutDev::updateRender ( GfxState *  state)
overridevirtual

Definition at line 792 of file pdfioutdev_gpl.cxx.

void pdfi::PDFOutDev::updateStrokeColor ( GfxState *  state)
overridevirtual

Definition at line 705 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

Referenced by updateStrokeOpacity().

void pdfi::PDFOutDev::updateStrokeOpacity ( GfxState *  state)
overridevirtual

Definition at line 728 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and updateStrokeColor().

virtual poppler_bool pdfi::PDFOutDev::upsideDown ( )
inlineoverridevirtual

Definition at line 166 of file pdfioutdev_gpl.hxx.

virtual poppler_bool pdfi::PDFOutDev::useDrawChar ( )
inlineoverridevirtual

Definition at line 169 of file pdfioutdev_gpl.hxx.

void pdfi::PDFOutDev::writeFontFile ( GfxFont *  gfxFont) const
private

Definition at line 471 of file pdfioutdev_gpl.cxx.

References g_binary_out, and m_pDoc.

Referenced by updateFont().

Member Data Documentation

std::unordered_map< long long, FontAttributes > pdfi::PDFOutDev::m_aFontMap
mutableprivate

Definition at line 146 of file pdfioutdev_gpl.hxx.

Referenced by parseFont(), and updateFont().

bool pdfi::PDFOutDev::m_bSkipImages
private
PDFDoc* pdfi::PDFOutDev::m_pDoc
private

Definition at line 144 of file pdfioutdev_gpl.hxx.

Referenced by parseFont(), and writeFontFile().

std::unique_ptr<UnicodeMap> pdfi::PDFOutDev::m_pUtf8Map
private

Definition at line 147 of file pdfioutdev_gpl.hxx.

Referenced by drawChar().


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