PoDoFo
0.9.6
|
#include <PdfPainter.h>
Public Member Functions | |
PdfPainter () | |
void | SetPage (PdfCanvas *pPage) |
PdfCanvas * | GetPage () const |
PdfStream * | GetCanvas () const |
void | FinishPage () |
void | SetStrokingGray (double g) |
void | SetGray (double g) |
void | SetStrokingColor (double r, double g, double b) |
void | SetColor (double r, double g, double b) |
void | SetStrokingColorCMYK (double c, double m, double y, double k) |
void | SetColorCMYK (double c, double m, double y, double k) |
void | SetStrokingShadingPattern (const PdfShadingPattern &rPattern) |
void | SetShadingPattern (const PdfShadingPattern &rPattern) |
void | SetStrokingTilingPattern (const PdfTilingPattern &rPattern) |
void | SetStrokingTilingPattern (const std::string &rPatternName) |
void | SetTilingPattern (const PdfTilingPattern &rPattern) |
void | SetTilingPattern (const std::string &rPatternName) |
void | SetStrokingColor (const PdfColor &rColor) |
void | SetColor (const PdfColor &rColor) |
void | SetStrokeWidth (double dWidth) |
void | SetStrokeStyle (EPdfStrokeStyle eStyle, const char *pszCustom=NULL, bool inverted=false, double scale=1.0, bool subtractJoinCap=false) |
void | SetLineCapStyle (EPdfLineCapStyle eCapStyle) |
void | SetLineJoinStyle (EPdfLineJoinStyle eJoinStyle) |
void | SetFont (PdfFont *pFont) |
void | SetTextRenderingMode (EPdfTextRenderingMode mode) |
EPdfTextRenderingMode | GetTextRenderingMode (void) const |
PdfFont * | GetFont () const |
void | SetClipRect (double dX, double dY, double dWidth, double dHeight) |
void | SetClipRect (const PdfRect &rRect) |
void | SetMiterLimit (double value) |
void | DrawLine (double dStartX, double dStartY, double dEndX, double dEndY) |
void | Rectangle (double dX, double dY, double dWidth, double dHeight, double dRoundX=0.0, double dRoundY=0.0) |
void | Rectangle (const PdfRect &rRect, double dRoundX=0.0, double dRoundY=0.0) |
void | Ellipse (double dX, double dY, double dWidth, double dHeight) |
void | Circle (double dX, double dY, double dRadius) |
void | DrawText (double dX, double dY, const PdfString &sText) |
void | DrawText (double dX, double dY, const PdfString &sText, long lLen) |
void | DrawMultiLineText (double dX, double dY, double dWidth, double dHeight, const PdfString &rsText, EPdfAlignment eAlignment=ePdfAlignment_Left, EPdfVerticalAlignment eVertical=ePdfVerticalAlignment_Top, bool bClip=true, bool bSkipSpaces=true) |
void | DrawMultiLineText (const PdfRect &rRect, const PdfString &rsText, EPdfAlignment eAlignment=ePdfAlignment_Left, EPdfVerticalAlignment eVertical=ePdfVerticalAlignment_Top, bool bClip=true, bool bSkipSpaces=true) |
std::vector< PdfString > | GetMultiLineTextAsLines (double dWidth, const PdfString &rsText, bool bSkipSpaces=true) |
void | DrawTextAligned (double dX, double dY, double dWidth, const PdfString &rsText, EPdfAlignment eAlignment) |
void | BeginText (double dX, double dY) |
void | AddText (const PdfString &sText) |
void | AddText (const PdfString &sText, pdf_long lStringLen) |
void | MoveTextPos (double dX, double dY) |
void | EndText () |
void | DrawGlyph (PdfMemDocument *pDocument, double dX, double dY, const char *pszGlyphname) |
void | DrawImage (double dX, double dY, PdfImage *pObject, double dScaleX=1.0, double dScaleY=1.0) |
void | DrawXObject (double dX, double dY, PdfXObject *pObject, double dScaleX=1.0, double dScaleY=1.0) |
void | ClosePath () |
void | LineTo (double dX, double dY) |
void | MoveTo (double dX, double dY) |
void | CubicBezierTo (double dX1, double dY1, double dX2, double dY2, double dX3, double dY3) |
void | HorizontalLineTo (double dX) |
void | VerticalLineTo (double dY) |
void | SmoothCurveTo (double dX2, double dY2, double dX3, double dY3) |
void | QuadCurveTo (double dX1, double dY1, double dX3, double dY3) |
void | SmoothQuadCurveTo (double dX3, double dY3) |
void | ArcTo (double dX, double dY, double dRadiusX, double dRadiusY, double dRotation, bool bLarge, bool bSweep) |
void | Close () |
void | Stroke () |
void | Fill (bool useEvenOddRule=false) |
void | FillAndStroke (bool useEvenOddRule=false) |
void | Clip (bool useEvenOddRule=false) |
void | EndPath (void) |
void | Save () |
void | Restore () |
void | SetTransformationMatrix (double a, double b, double c, double d, double e, double f) |
void | SetExtGState (PdfExtGState *inGState) |
void | SetRenderingIntent (char *intent) |
void | SetTabWidth (unsigned short nTabWidth) |
unsigned short | GetTabWidth () const |
void | SetPrecision (unsigned short inPrec) |
unsigned short | GetPrecision () const |
std::ostringstream & | GetCurrentPath (void) |
void | SetDependICCProfileColor (const PdfColor &rColor, const std::string &pCSTag) |
Protected Member Functions | |
void | ConvertRectToBezier (double dX, double dY, double dWidth, double dHeight, double pdPointX[], double pdPointY[]) |
virtual void | AddToPageResources (const PdfName &rIdentifier, const PdfReference &rRef, const PdfName &rName) |
void | SetCurrentStrokingColor () |
PdfString | ExpandTabs (const PdfString &rsString, pdf_long lLen) const |
Protected Attributes | |
PdfStream * | m_pCanvas |
PdfCanvas * | m_pPage |
PdfFont * | m_pFont |
unsigned short | m_nTabWidth |
PdfColor | m_curColor |
bool | m_isTextOpen |
std::ostringstream | m_oss |
std::ostringstream | m_curPath |
bool | m_isCurColorICCDepend |
std::string | m_CSTag |
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.
PoDoFo::PdfPainter::PdfPainter | ( | ) |
Create a new PdfPainter object.
void PoDoFo::PdfPainter::AddText | ( | const PdfString & | sText | ) |
Draw a string on a page. You have to call BeginText before the first call of this function and EndText after the last call.
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use DrawText which is easier.
sText | the text string which should be printed |
void PoDoFo::PdfPainter::AddText | ( | const PdfString & | sText, |
pdf_long | lStringLen | ||
) |
Draw a string on a page. You have to call BeginText before the first call of this function and EndText after the last call.
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use DrawText which is easier.
sText | the text string which should be printed |
lStringLen | draw only lLen characters of pszText |
|
protectedvirtual |
Register an object in the resource dictionary of this page so that it can be used for any following drawing operations.
rIdentifier | identifier of this object, e.g. /Ft0 |
rRef | reference to the object you want to register |
rName | register under this key in the resource dictionary |
void PoDoFo::PdfPainter::ArcTo | ( | double | dX, |
double | dY, | ||
double | dRadiusX, | ||
double | dRadiusY, | ||
double | dRotation, | ||
bool | bLarge, | ||
bool | bSweep | ||
) |
Append a Arc to the current path Matches the SVG 'A' operator.
dX | x coordinate of the start point |
dY | y coordinate of the start point |
dRadiusX | x coordinate of the end point, which is the new current point |
dRadiusY | y coordinate of the end point, which is the new current point |
dRotation | degree of rotation in radians |
bLarge | large or small portion of the arc |
bSweep | sweep? |
void PoDoFo::PdfPainter::BeginText | ( | double | dX, |
double | dY | ||
) |
Begin drawing multiple text strings on a page using a given font object. You have to call SetFont before calling this function.
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use DrawText which is easier.
dX | the x coordinate |
dY | the y coordinate |
void PoDoFo::PdfPainter::Circle | ( | double | dX, |
double | dY, | ||
double | dRadius | ||
) |
Add a circle into the current path
dX | x center coordinate of the circle |
dY | y coordinate of the circle |
dRadius | radius of the circle |
void PoDoFo::PdfPainter::Clip | ( | bool | useEvenOddRule = false | ) |
Clip the current path. Matches the PDF 'W' operator. This function is useful to construct an own path for drawing or clipping.
useEvenOddRule | select even-odd rule instead of nonzero winding number rule |
void PoDoFo::PdfPainter::Close | ( | ) |
Close the current path. Matches the PDF 'h' operator.
void PoDoFo::PdfPainter::ClosePath | ( | ) |
Closes the current path by drawing a line from the current point to the starting point of the path. Matches the PDF 'h' operator. This function is useful to construct an own path for drawing or clipping.
|
protected |
Coverts a rectangle to an array of points which can be used to draw an ellipse using 4 bezier curves.
The arrays plPointX and plPointY need space for at least 12 longs to be stored.
dX | x position of the bounding rectangle |
dY | y position of the bounding rectangle |
dWidth | width of the bounding rectangle |
dHeight | height of the bounding rectangle |
pdPointX | pointer to an array were the x coordinates of the resulting points will be stored |
pdPointY | pointer to an array were the y coordinates of the resulting points will be stored |
void PoDoFo::PdfPainter::CubicBezierTo | ( | double | dX1, |
double | dY1, | ||
double | dX2, | ||
double | dY2, | ||
double | dX3, | ||
double | dY3 | ||
) |
Append a cubic bezier curve to the current path Matches the PDF 'c' operator.
dX1 | x coordinate of the first control point |
dY1 | y coordinate of the first control point |
dX2 | x coordinate of the second control point |
dY2 | y coordinate of the second control point |
dX3 | x coordinate of the end point, which is the new current point |
dY3 | y coordinate of the end point, which is the new current point |
void PoDoFo::PdfPainter::DrawGlyph | ( | PdfMemDocument * | pDocument, |
double | dX, | ||
double | dY, | ||
const char * | pszGlyphname | ||
) |
Draw a single glyph on a page using a given font object.
pDocument | pointer to the document, needed to generate a copy of the current font |
dX | the x coordinate |
dY | the y coordinate |
pszGlyphname | the name of the glyph which should be printed |
void PoDoFo::PdfPainter::DrawImage | ( | double | dX, |
double | dY, | ||
PdfImage * | pObject, | ||
double | dScaleX = 1.0 , |
||
double | dScaleY = 1.0 |
||
) |
Draw an image on the current page.
dX | the x coordinate (bottom left position of the image) |
dY | the y coordinate (bottom position of the image) |
pObject | an PdfXObject |
dScaleX | option scaling factor in x direction |
dScaleY | option scaling factor in y direction |
void PoDoFo::PdfPainter::DrawLine | ( | double | dStartX, |
double | dStartY, | ||
double | dEndX, | ||
double | dEndY | ||
) |
Draw a line with the current color and line settings.
dStartX | x coordinate of the starting point |
dStartY | y coordinate of the starting point |
dEndX | x coordinate of the ending point |
dEndY | y coordinate of the ending point |
|
inline |
Draw multiline text into a rectangle doing automatic wordwrapping. The current font is used and SetFont has to be called at least once before using this function
rRect | bounding rectangle of the text |
rsText | the text which should be drawn |
eAlignment | alignment of the individual text lines in the given bounding box |
eVertical | vertical alignment of the text in the given bounding box |
bClip | set the clipping rectangle to the given rRect, otherwise no clipping is performed |
bSkipSpaces | whether the trailing whitespaces should be skipped, so that next line doesn't start with whitespace |
void PoDoFo::PdfPainter::DrawMultiLineText | ( | double | dX, |
double | dY, | ||
double | dWidth, | ||
double | dHeight, | ||
const PdfString & | rsText, | ||
EPdfAlignment | eAlignment = ePdfAlignment_Left , |
||
EPdfVerticalAlignment | eVertical = ePdfVerticalAlignment_Top , |
||
bool | bClip = true , |
||
bool | bSkipSpaces = true |
||
) |
Draw multiline text into a rectangle doing automatic wordwrapping. The current font is used and SetFont has to be called at least once before using this function
dX | the x coordinate of the text area (left) |
dY | the y coordinate of the text area (bottom) |
dWidth | width of the text area |
dHeight | height of the text area |
rsText | the text which should be drawn |
eAlignment | alignment of the individual text lines in the given bounding box |
eVertical | vertical alignment of the text in the given bounding box |
bClip | set the clipping rectangle to the given rRect, otherwise no clipping is performed |
bSkipSpaces | whether the trailing whitespaces should be skipped, so that next line doesn't start with whitespace |
void PoDoFo::PdfPainter::DrawText | ( | double | dX, |
double | dY, | ||
const PdfString & | sText | ||
) |
Draw a single-line text string on a page using a given font object. You have to call SetFont before calling this function.
dX | the x coordinate |
dY | the y coordinate |
sText | the text string which should be printed |
void PoDoFo::PdfPainter::DrawText | ( | double | dX, |
double | dY, | ||
const PdfString & | sText, | ||
long | lLen | ||
) |
Draw a single-line text string on a page using a given font object. You have to call SetFont before calling this function.
dX | the x coordinate |
dY | the y coordinate |
sText | the text string which should be printed (is not allowed to be NULL!) |
lLen | draw only lLen characters of pszText |
void PoDoFo::PdfPainter::DrawTextAligned | ( | double | dX, |
double | dY, | ||
double | dWidth, | ||
const PdfString & | rsText, | ||
EPdfAlignment | eAlignment | ||
) |
Draw a single line of text horizontally aligned.
dX | the x coordinate of the text line |
dY | the y coordinate of the text line |
dWidth | the width of the text line |
rsText | the text to draw |
eAlignment | alignment of the text line |
void PoDoFo::PdfPainter::DrawXObject | ( | double | dX, |
double | dY, | ||
PdfXObject * | pObject, | ||
double | dScaleX = 1.0 , |
||
double | dScaleY = 1.0 |
||
) |
Draw an XObject on the current page. For PdfImage use DrawImage.
dX | the x coordinate (bottom left position of the XObject) |
dY | the y coordinate (bottom position of the XObject) |
pObject | an PdfXObject |
dScaleX | option scaling factor in x direction |
dScaleY | option scaling factor in y direction |
void PoDoFo::PdfPainter::Ellipse | ( | double | dX, |
double | dY, | ||
double | dWidth, | ||
double | dHeight | ||
) |
Add an ellipse into the current path
dX | x coordinate of the ellipse (left coordinate) |
dY | y coordinate of the ellipse (top coordinate) |
dWidth | width of the ellipse |
dHeight | absolute height of the ellipse |
void PoDoFo::PdfPainter::EndPath | ( | void | ) |
End current pathm without filling or stroking it. Matches the PDF 'n' operator.
void PoDoFo::PdfPainter::EndText | ( | ) |
End drawing multiple text strings on a page
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use DrawText which is easier.
|
protected |
Expand all tab characters in a string using spaces.
rsString | expand all tabs in this string using spaces |
lLen | use only lLen characters of rsString |
void PoDoFo::PdfPainter::Fill | ( | bool | useEvenOddRule = false | ) |
Fill the current path. Matches the PDF 'f' operator. This function is useful to construct an own path for drawing or clipping.
useEvenOddRule | select even-odd rule instead of nonzero winding number rule |
void PoDoFo::PdfPainter::FillAndStroke | ( | bool | useEvenOddRule = false | ) |
Fill then stroke the current path. Matches the PDF 'B' operator.
useEvenOddRule | select even-odd rule instead of nonzero winding number rule |
void PoDoFo::PdfPainter::FinishPage | ( | ) |
Finish drawing onto a page.
This has to be called whenever a page has been drawn complete.
|
inline |
Return the current page canvas stream that is set on the painter.
|
inline |
Get current path string stream. Stroke/Fill commands clear current path.
|
inline |
Get the current font:
std::vector< PdfString > PoDoFo::PdfPainter::GetMultiLineTextAsLines | ( | double | dWidth, |
const PdfString & | rsText, | ||
bool | bSkipSpaces = true |
||
) |
Gets the text divided into individual lines, using the current font and clipping rectangle.
dWidth | width of the text area |
rsText | the text which should be drawn |
bSkipSpaces | whether the trailing whitespaces should be skipped, so that next line doesn't start with whitespace |
|
inline |
Return the current page that is that on the painter.
|
inline |
Get the currently set floating point precision
|
inline |
Get the currently set tab width
|
inline |
Gets current text rendering mode. Default mode is ePdfTextRenderingMode_Fill.
void PoDoFo::PdfPainter::HorizontalLineTo | ( | double | dX | ) |
Append a horizontal line to the current path Matches the SVG 'H' operator
dX | x coordinate to draw the line to |
void PoDoFo::PdfPainter::LineTo | ( | double | dX, |
double | dY | ||
) |
Append a line segment to the current path. Matches the PDF 'l' operator. This function is useful to construct an own path for drawing or clipping.
dX | x position |
dY | y position |
void PoDoFo::PdfPainter::MoveTextPos | ( | double | dX, |
double | dY | ||
) |
Move position for text drawing on a page. You have to call BeginText before calling this function
If you want more simpler text output and do not need the advanced text position features of MoveTextPos use DrawText which is easier.
dX | the x offset relative to pos of BeginText or last MoveTextPos |
dY | the y offset relative to pos of BeginText or last MoveTextPos |
void PoDoFo::PdfPainter::MoveTo | ( | double | dX, |
double | dY | ||
) |
Begin a new path. Matches the PDF 'm' operator. This function is useful to construct an own path for drawing or clipping.
dX | x position |
dY | y position |
void PoDoFo::PdfPainter::QuadCurveTo | ( | double | dX1, |
double | dY1, | ||
double | dX3, | ||
double | dY3 | ||
) |
Append a quadratic bezier curve to the current path Matches the SVG 'Q' operator.
dX1 | x coordinate of the first control point |
dY1 | y coordinate of the first control point |
dX3 | x coordinate of the end point, which is the new current point |
dY3 | y coordinate of the end point, which is the new current point |
|
inline |
Add a rectangle into the current path
rRect | the rectangle area |
dRoundX | rounding factor, x direction |
dRoundY | rounding factor, y direction |
void PoDoFo::PdfPainter::Rectangle | ( | double | dX, |
double | dY, | ||
double | dWidth, | ||
double | dHeight, | ||
double | dRoundX = 0.0 , |
||
double | dRoundY = 0.0 |
||
) |
Add a rectangle into the current path
dX | x coordinate of the rectangle (left coordinate) |
dY | y coordinate of the rectangle (bottom coordinate) |
dWidth | width of the rectangle |
dHeight | absolute height of the rectangle |
dRoundX | rounding factor, x direction |
dRoundY | rounding factor, y direction |
void PoDoFo::PdfPainter::Restore | ( | ) |
void PoDoFo::PdfPainter::Save | ( | ) |
|
inline |
Set a clipping rectangle
rRect | rectangle |
void PoDoFo::PdfPainter::SetClipRect | ( | double | dX, |
double | dY, | ||
double | dWidth, | ||
double | dHeight | ||
) |
Set a clipping rectangle
dX | x coordinate of the rectangle (left coordinate) |
dY | y coordinate of the rectangle (bottom coordinate) |
dWidth | width of the rectangle |
dHeight | absolute height of the rectangle |
void PoDoFo::PdfPainter::SetColor | ( | const PdfColor & | rColor | ) |
Set the color for all following non-stroking operations.
rColor | a PdfColor object |
void PoDoFo::PdfPainter::SetColor | ( | double | r, |
double | g, | ||
double | b | ||
) |
Set the color for all following non-stroking operations in rgb colorspace. This operation used the 'rg' PDF operator.
This color is also used when drawing text.
r | red value in the range 0.0 - 1.0 |
g | green value in the range 0.0 - 1.0 |
b | blue value in the range 0.0 - 1.0 |
void PoDoFo::PdfPainter::SetColorCMYK | ( | double | c, |
double | m, | ||
double | y, | ||
double | k | ||
) |
Set the color for all following non-stroking operations in cmyk colorspace. This operation used the 'k' PDF operator.
c | cyan value in the range 0.0 - 1.0 |
m | magenta value in the range 0.0 - 1.0 |
y | yellow value in the range 0.0 - 1.0 |
k | black value in the range 0.0 - 1.0 |
|
protected |
void PoDoFo::PdfPainter::SetDependICCProfileColor | ( | const PdfColor & | rColor, |
const std::string & | pCSTag | ||
) |
Set rgb color that depend on color space setting, "cs" tag.
rColor | a PdfColor object |
pCSTag | a CS tag used in PdfPage::SetICCProfile |
void PoDoFo::PdfPainter::SetExtGState | ( | PdfExtGState * | inGState | ) |
Sets a specific PdfExtGState as being active
inGState | the specific ExtGState to set |
void PoDoFo::PdfPainter::SetFont | ( | PdfFont * | pFont | ) |
void PoDoFo::PdfPainter::SetGray | ( | double | g | ) |
Set the color for all following non-stroking operations in grayscale colorspace. This operation used the 'g' PDF operator.
g | gray scale value in the range 0.0 - 1.0 |
void PoDoFo::PdfPainter::SetLineCapStyle | ( | EPdfLineCapStyle | eCapStyle | ) |
Set the line cap style for all stroking operations.
eCapStyle | the cap style. |
Possible values: ePdfLineCapStyle_Butt, ePdfLineCapStyle_Round, ePdfLineCapStyle_Square
void PoDoFo::PdfPainter::SetLineJoinStyle | ( | EPdfLineJoinStyle | eJoinStyle | ) |
Set the line join style for all stroking operations.
eJoinStyle | the join style. |
Possible values: ePdfLineJoinStyle_Miter ePdfLineJoinStyle_Round ePdfLineJoinStyle_Bevel
void PoDoFo::PdfPainter::SetMiterLimit | ( | double | value | ) |
Set miter limit.
void PoDoFo::PdfPainter::SetPage | ( | PdfCanvas * | pPage | ) |
Set the page on which the painter should draw. The painter will draw of course on the pages contents object.
Calls FinishPage() on the last page if it was not yet called.
pPage | a PdfCanvas object (most likely a PdfPage or PdfXObject). |
|
inline |
Set the floating point precision.
inPrec | write this many decimal places |
void PoDoFo::PdfPainter::SetRenderingIntent | ( | char * | intent | ) |
Sets a specific rendering intent
intent | the specific intent to set |
void PoDoFo::PdfPainter::SetShadingPattern | ( | const PdfShadingPattern & | rPattern | ) |
Set the shading pattern for all following non-stroking operations. This operation uses the 'scn' PDF operator.
rPattern | a shading pattern |
void PoDoFo::PdfPainter::SetStrokeStyle | ( | EPdfStrokeStyle | eStyle, |
const char * | pszCustom = NULL , |
||
bool | inverted = false , |
||
double | scale = 1.0 , |
||
bool | subtractJoinCap = false |
||
) |
Set the stoke style for all stroking operations.
eStyle | style of the stroking operations |
pszCustom | a custom stroking style which is used when eStyle == ePdfStrokeStyle_Custom. |
inverted | inverted dash style (gaps for drawn spaces), it is ignored for None, Solid and Custom styles |
scale | scale factor of the stroke style it is ignored for None, Solid and Custom styles |
subtractJoinCap | if true, subtracts scaled width on filled parts, thus the line capability still draws into the cell; is used only if scale is not 1.0 |
Possible values: ePdfStrokeStyle_None ePdfStrokeStyle_Solid ePdfStrokeStyle_Dash ePdfStrokeStyle_Dot ePdfStrokeStyle_DashDot ePdfStrokeStyle_DashDotDot ePdfStrokeStyle_Custom
void PoDoFo::PdfPainter::SetStrokeWidth | ( | double | dWidth | ) |
Set the line width for all stroking operations.
dWidth | in PDF User Units. |
void PoDoFo::PdfPainter::SetStrokingColor | ( | const PdfColor & | rColor | ) |
Set the color for all following stroking operations.
rColor | a PdfColor object |
void PoDoFo::PdfPainter::SetStrokingColor | ( | double | r, |
double | g, | ||
double | b | ||
) |
Set the color for all following stroking operations in rgb colorspace. This operation used the 'RG' PDF operator.
r | red value in the range 0.0 - 1.0 |
g | green value in the range 0.0 - 1.0 |
b | blue value in the range 0.0 - 1.0 |
void PoDoFo::PdfPainter::SetStrokingColorCMYK | ( | double | c, |
double | m, | ||
double | y, | ||
double | k | ||
) |
Set the color for all following stroking operations in cmyk colorspace. This operation used the 'K' PDF operator.
c | cyan value in the range 0.0 - 1.0 |
m | magenta value in the range 0.0 - 1.0 |
y | yellow value in the range 0.0 - 1.0 |
k | black value in the range 0.0 - 1.0 |
void PoDoFo::PdfPainter::SetStrokingGray | ( | double | g | ) |
Set the color for all following stroking operations in grayscale colorspace. This operation used the 'G' PDF operator.
g | gray scale value in the range 0.0 - 1.0 |
void PoDoFo::PdfPainter::SetStrokingShadingPattern | ( | const PdfShadingPattern & | rPattern | ) |
Set the shading pattern for all following stroking operations. This operation uses the 'SCN' PDF operator.
rPattern | a shading pattern |
void PoDoFo::PdfPainter::SetStrokingTilingPattern | ( | const PdfTilingPattern & | rPattern | ) |
Set the tiling pattern for all following stroking operations. This operation uses the 'SCN' PDF operator.
rPattern | a tiling pattern |
void PoDoFo::PdfPainter::SetStrokingTilingPattern | ( | const std::string & | rPatternName | ) |
Set the tiling pattern for all following stroking operations by pattern name, Use when it's already in resources. This operation uses the 'SCN' PDF operator.
rPatternName | a tiling pattern name |
|
inline |
Set the tab width for the DrawText operation. Every tab '\t' is replaced with nTabWidth spaces before drawing text. Default is a value of 4
nTabWidth | replace every tabulator by this much spaces |
void PoDoFo::PdfPainter::SetTextRenderingMode | ( | EPdfTextRenderingMode | mode | ) |
Set the text rendering mode
mode | What text rendering mode to use. |
Possible values: ePdfTextRenderingMode_Fill (default mode) ePdfTextRenderingMode_Stroke ePdfTextRenderingMode_FillAndStroke ePdfTextRenderingMode_Invisible ePdfTextRenderingMode_FillToClipPath ePdfTextRenderingMode_StrokeToClipPath ePdfTextRenderingMode_FillAndStrokeToClipPath ePdfTextRenderingMode_ToClipPath
void PoDoFo::PdfPainter::SetTilingPattern | ( | const PdfTilingPattern & | rPattern | ) |
Set the tiling pattern for all following non-stroking operations. This operation uses the 'scn' PDF operator.
rPattern | a tiling pattern |
void PoDoFo::PdfPainter::SetTilingPattern | ( | const std::string & | rPatternName | ) |
Set the tiling pattern for all following non-stroking operations by pattern name. Use when it's already in resources. This operation uses the 'scn' PDF operator.
rPattern | a tiling pattern |
void PoDoFo::PdfPainter::SetTransformationMatrix | ( | double | a, |
double | b, | ||
double | c, | ||
double | d, | ||
double | e, | ||
double | f | ||
) |
Set the transformation matrix for the current coordinate system See the operator 'cm' in PDF.
The six parameters are a standard 3x3 transformation matrix where the 3 left parameters are 0 0 1.
a | scale in x direction |
b | rotation |
c | rotation |
d | scale in y direction |
e | translate in x direction |
f | translate in y direction |
void PoDoFo::PdfPainter::SmoothCurveTo | ( | double | dX2, |
double | dY2, | ||
double | dX3, | ||
double | dY3 | ||
) |
Append a smooth bezier curve to the current path Matches the SVG 'S' operator.
dX2 | x coordinate of the second control point |
dY2 | y coordinate of the second control point |
dX3 | x coordinate of the end point, which is the new current point |
dY3 | y coordinate of the end point, which is the new current point |
void PoDoFo::PdfPainter::SmoothQuadCurveTo | ( | double | dX3, |
double | dY3 | ||
) |
Append a smooth quadratic bezier curve to the current path Matches the SVG 'T' operator.
dX3 | x coordinate of the end point, which is the new current point |
dY3 | y coordinate of the end point, which is the new current point |
void PoDoFo::PdfPainter::Stroke | ( | ) |
Stroke the current path. Matches the PDF 'S' operator. This function is useful to construct an own path for drawing or clipping.
void PoDoFo::PdfPainter::VerticalLineTo | ( | double | dY | ) |
Append a vertical line to the current path Matches the SVG 'V' operator
dY | y coordinate to draw the line to |
|
protected |
ColorSpace tag
|
protected |
Save the current color for non stroking colors
|
protected |
current path
|
protected |
True if should use color with ICC Profile
|
protected |
Is between BT and ET
|
protected |
Every tab '\t' is replaced with m_nTabWidth spaces before drawing text. Default is a value of 4
|
protected |
temporary stream buffer
|
protected |
All drawing operations work on this stream. This object may not be NULL. If it is NULL any function accessing it should return ERROR_PDF_INVALID_HANDLE
|
protected |
Font for all drawing operations
|
protected |
The page object is needed so that fonts etc. can be added to the page resource dictionary as appropriate.