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, const 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 134 of file pdfioutdev_gpl.hxx.

Constructor & Destructor Documentation

◆ PDFOutDev()

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

Definition at line 565 of file pdfioutdev_gpl.cxx.

◆ ~PDFOutDev()

pdfi::PDFOutDev::~PDFOutDev ( )
overridevirtual

Definition at line 571 of file pdfioutdev_gpl.cxx.

Member Function Documentation

◆ clip()

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

Definition at line 890 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

◆ drawChar()

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 939 of file pdfioutdev_gpl.cxx.

References i, m_pUtf8Map, pdfi::normalize(), u, x, and y.

◆ drawImage()

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

◆ drawImageMask()

void pdfi::PDFOutDev::drawImageMask ( GfxState *  state,
Object *  ref,
Stream *  str,
int  width,
int  height,
poppler_bool  invert,
poppler_bool  interpolate,
poppler_bool  inlineImg 
)
overridevirtual

◆ drawMaskedImage()

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

◆ drawSoftMaskedImage()

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

◆ drawString()

void pdfi::PDFOutDev::drawString ( GfxState *  state,
GooString *  s 
)
overridevirtual

Definition at line 1016 of file pdfioutdev_gpl.cxx.

◆ endPage()

void pdfi::PDFOutDev::endPage ( )
overridevirtual

Definition at line 587 of file pdfioutdev_gpl.cxx.

◆ endTextObject()

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

Definition at line 1022 of file pdfioutdev_gpl.cxx.

◆ eoClip()

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

Definition at line 901 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

◆ eoFill()

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

Definition at line 879 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

◆ fill()

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

Definition at line 868 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

◆ interpretType3Chars()

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

Definition at line 166 of file pdfioutdev_gpl.hxx.

◆ needNonText()

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

Definition at line 169 of file pdfioutdev_gpl.hxx.

◆ parseFont()

int pdfi::PDFOutDev::parseFont ( long long  nNewId,
GfxFont *  pFont,
const GfxState *  state 
) const
private

◆ printPath()

void pdfi::PDFOutDev::printPath ( GfxPath *  pPath)
staticprivate

Definition at line 541 of file pdfioutdev_gpl.cxx.

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

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

◆ processLink()

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

Definition at line 597 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

◆ restoreState()

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

Definition at line 632 of file pdfioutdev_gpl.cxx.

◆ saveState()

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

Definition at line 627 of file pdfioutdev_gpl.cxx.

◆ setDefaultCTM()

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

Definition at line 640 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

◆ setPageNum()

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

Definition at line 1155 of file pdfioutdev_gpl.cxx.

Referenced by main().

◆ setSkipImages()

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

Definition at line 1161 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

Referenced by main().

◆ startPage()

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

Definition at line 575 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

◆ stroke()

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

Definition at line 857 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and printPath().

◆ updateBlendMode()

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

Definition at line 787 of file pdfioutdev_gpl.cxx.

◆ updateCTM()

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

Definition at line 656 of file pdfioutdev_gpl.cxx.

References pdfi::normalize().

◆ updateFillColor()

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

Definition at line 741 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

Referenced by updateFillOpacity().

◆ updateFillOpacity()

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

Definition at line 773 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and updateFillColor().

◆ updateFlatness()

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

Definition at line 701 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

◆ updateFont()

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

◆ updateLineCap()

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

Definition at line 717 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

◆ updateLineDash()

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

Definition at line 675 of file pdfioutdev_gpl.cxx.

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

◆ updateLineJoin()

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

Definition at line 709 of file pdfioutdev_gpl.cxx.

References m_bSkipImages.

◆ updateLineWidth()

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

Definition at line 733 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

◆ updateMiterLimit()

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

Definition at line 725 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

◆ updateRender()

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

Definition at line 850 of file pdfioutdev_gpl.cxx.

◆ updateStrokeColor()

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

Definition at line 757 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and pdfi::normalize().

Referenced by updateStrokeOpacity().

◆ updateStrokeOpacity()

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

Definition at line 780 of file pdfioutdev_gpl.cxx.

References m_bSkipImages, and updateStrokeColor().

◆ upsideDown()

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

Definition at line 159 of file pdfioutdev_gpl.hxx.

◆ useDrawChar()

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

Definition at line 162 of file pdfioutdev_gpl.hxx.

◆ writeFontFile()

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

Definition at line 498 of file pdfioutdev_gpl.cxx.

References g_binary_out, and m_pDoc.

Referenced by updateFont().

Member Data Documentation

◆ m_aFontMap

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

Definition at line 139 of file pdfioutdev_gpl.hxx.

Referenced by parseFont(), and updateFont().

◆ m_bSkipImages

bool pdfi::PDFOutDev::m_bSkipImages
private

◆ m_pDoc

PDFDoc* pdfi::PDFOutDev::m_pDoc
private

Definition at line 137 of file pdfioutdev_gpl.hxx.

Referenced by parseFont(), and writeFontFile().

◆ m_pUtf8Map

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

Definition at line 140 of file pdfioutdev_gpl.hxx.

Referenced by drawChar().


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