Logo Search packages:      
Sourcecode: libpodofo version File versions  Download package

Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions

PoDoFo::PdfPainter Class Reference

#include <PdfPainter.h>

Inheritance diagram for PoDoFo::PdfPainter:
Inheritance graph
[legend]
Collaboration diagram for PoDoFo::PdfPainter:
Collaboration graph
[legend]

List of all members.

Public Member Functions

void AddText (const PdfString &sText)
void AddText (const PdfString &sText, pdf_long lStringLen)
void ArcTo (double dX, double dY, double dRadiusX, double dRadiusY, double dRotation, bool bLarge, bool bSweep)
void BeginText (double dX, double dY)
void Clip (bool useEvenOddRule=false)
void Close ()
void ClosePath ()
void CubicBezierTo (double dX1, double dY1, double dX2, double dY2, double dX3, double dY3)
bool DrawArc (double dX, double dY, double dRadius, double dAngle1, double dAngle2)
void DrawCircle (double dX, double dY, double dRadius)
void DrawEllipse (double dX, double dY, double dWidth, double dHeight)
void DrawImage (double dX, double dY, PdfImage *pObject, double dScaleX=1.0, double dScaleY=1.0)
void DrawLine (double dStartX, double dStartY, double dEndX, double dEndY)
void DrawMultiLineText (double dX, double dY, double dWidth, double dHeight, const PdfString &rsText, EPdfAlignment eAlignment=ePdfAlignment_Left, EPdfVerticalAlignment eVertical=ePdfVerticalAlignment_Top)
void DrawMultiLineText (const PdfRect &rRect, const PdfString &rsText, EPdfAlignment eAlignment=ePdfAlignment_Left, EPdfVerticalAlignment eVertical=ePdfVerticalAlignment_Top)
void DrawRect (const PdfRect &rRect, double dRoundX=0.0, double dRoundY=0.0)
void DrawRect (double dX, double dY, double dWidth, double dHeight, double dRoundX=0.0, double dRoundY=0.0)
void DrawText (double dX, double dY, const PdfString &sText, long lLen)
void DrawText (double dX, double dY, const PdfString &sText)
void DrawTextAligned (double dX, double dY, double dWidth, const PdfString &rsText, EPdfAlignment eAlignment)
void DrawXObject (double dX, double dY, PdfXObject *pObject, double dScaleX=1.0, double dScaleY=1.0)
void EndText ()
void Fill ()
void FillCircle (double dX, double dY, double dRadius)
void FillEllipse (double dX, double dY, double dWidth, double dHeight)
void FillRect (double dX, double dY, double dWidth, double dHeight, double dRoundX=0.0, double dRoundY=0.0)
void FillRect (const PdfRect &rRect, double dRoundX=0.0, double dRoundY=0.0)
void FinishPage ()
PdfFontGetFont () const
const PdfCanvasGetPage () const
unsigned short GetPrecision () const
unsigned short GetTabWidth () const
void HorizonalLineTo (double dX)
void LineTo (double dX, double dY)
void MoveTextPos (double dX, double dY)
void MoveTo (double dX, double dY)
 PdfPainter ()
void QuadCurveTo (double dX1, double dY1, double dX3, double dY3)
void Restore ()
void Save ()
void SetClipRect (const PdfRect &rRect)
void SetClipRect (double dX, double dY, double dWidth, double dHeight)
void SetColor (double r, double g, double b)
void SetColor (const PdfColor &rColor)
void SetColorCMYK (double c, double m, double y, double k)
void SetExtGState (PdfExtGState *inGState)
void SetFont (PdfFont *pFont)
void SetGray (double g)
void SetLineCapStyle (EPdfLineCapStyle eCapStyle)
void SetLineJoinStyle (EPdfLineJoinStyle eJoinStyle)
void SetPage (PdfCanvas *pPage)
void SetPrecision (unsigned short inPrec)
void SetRenderingIntent (char *intent)
void SetShadingPattern (const PdfShadingPattern &rPattern)
void SetStrokeStyle (EPdfStrokeStyle eStyle, const char *pszCustom=NULL)
void SetStrokeWidth (double dWidth)
void SetStrokingColor (const PdfColor &rColor)
void SetStrokingColor (double r, double g, double b)
void SetStrokingColorCMYK (double c, double m, double y, double k)
void SetStrokingGray (double g)
void SetStrokingShadingPattern (const PdfShadingPattern &rPattern)
void SetTabWidth (unsigned short nTabWidth)
void SetTransformationMatrix (double a, double b, double c, double d, double e, double f)
void SmoothCurveTo (double dX2, double dY2, double dX3, double dY3)
void SmoothQuadCurveTo (double dX3, double dY3)
void Stroke ()
void VerticalLineTo (double dY)

Protected Member Functions

PdfString ExpandTabs (const PdfString &rsString, pdf_long lLen) const
template<typename C >
PdfString ExpandTabsPrivate (const C *pszText, pdf_long lStringLen, int nTabCnt, const C cTab, const C cSpace) const
bool InternalArc (double x, double y, double ray, double ang1, double ang2, bool cont_flg)
void SetCurrentStrokingColor ()

Protected Attributes

double lcx
double lcy
double lpx
double lpx2
double lpx3
double lpy
double lpy2
double lpy3
double lrx
double lry
PdfColor m_curColor
bool m_isTextOpen
unsigned short m_nTabWidth
std::ostringstream m_oss
PdfStreamm_pCanvas
PdfFontm_pFont
PdfCanvasm_pPage

Private Member Functions

void AddToPageResources (const PdfName &rIdentifier, const PdfReference &rRef, const PdfName &rName)
void ConvertRectToBezier (double dX, double dY, double dWidth, double dHeight, double pdPointX[], double pdPointY[])

Detailed Description

This class provides an easy to use painter object which allows you to draw on a PDF page object.

During all drawing operations, you are still able to access the stream of the object you are drawing on directly.

All functions that take coordinates expect these to be in PDF User Units. Keep in mind that PDF has its coordinate system origin at the bottom left corner.

Definition at line 55 of file PdfPainter.h.


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

Generated by  Doxygen 1.6.0   Back to index