QtBase  v6.3.1
Public Types | Public Member Functions | Friends | List of all members
QPdfEngine Class Reference

#include <qpdf_p.h>

Inheritance diagram for QPdfEngine:
Inheritance graph
[legend]
Collaboration diagram for QPdfEngine:
Collaboration graph
[legend]

Public Types

enum  PdfVersion { Version_1_4 , Version_A1b , Version_1_6 }
 
- Public Types inherited from QPaintEngine
enum  PaintEngineFeature {
  PrimitiveTransform = 0x00000001 , PatternTransform = 0x00000002 , PixmapTransform = 0x00000004 , PatternBrush = 0x00000008 ,
  LinearGradientFill = 0x00000010 , RadialGradientFill = 0x00000020 , ConicalGradientFill = 0x00000040 , AlphaBlend = 0x00000080 ,
  PorterDuff = 0x00000100 , PainterPaths = 0x00000200 , Antialiasing = 0x00000400 , BrushStroke = 0x00000800 ,
  ConstantOpacity = 0x00001000 , MaskedBrush = 0x00002000 , PerspectiveTransform = 0x00004000 , BlendModes = 0x00008000 ,
  ObjectBoundingModeGradients = 0x00010000 , RasterOpModes = 0x00020000 , PaintOutsidePaintEvent = 0x20000000 , AllFeatures = 0xffffffff
}
 
enum  DirtyFlag {
  DirtyPen = 0x0001 , DirtyBrush = 0x0002 , DirtyBrushOrigin = 0x0004 , DirtyFont = 0x0008 ,
  DirtyBackground = 0x0010 , DirtyBackgroundMode = 0x0020 , DirtyTransform = 0x0040 , DirtyClipRegion = 0x0080 ,
  DirtyClipPath = 0x0100 , DirtyHints = 0x0200 , DirtyCompositionMode = 0x0400 , DirtyClipEnabled = 0x0800 ,
  DirtyOpacity = 0x1000 , AllDirty = 0xffff
}
 
enum  PolygonDrawMode { OddEvenMode , WindingMode , ConvexMode , PolylineMode }
 
enum  Type {
  X11 , Windows , QuickDraw , CoreGraphics ,
  MacPrinter , QWindowSystem , OpenGL , Picture ,
  SVG , Raster , Direct3D , Pdf ,
  OpenVG , OpenGL2 , PaintBuffer , Blitter ,
  Direct2D , User = 50 , MaxUser = 100
}
 

Public Member Functions

 QPdfEngine ()
 
 QPdfEngine (QPdfEnginePrivate &d)
 
 ~QPdfEngine ()
 
void setOutputFilename (const QString &filename)
 
void setResolution (int resolution)
 
int resolution () const
 
void setPdfVersion (PdfVersion version)
 
void setDocumentXmpMetadata (const QByteArray &xmpMetadata)
 
QByteArray documentXmpMetadata () const
 
void addFileAttachment (const QString &fileName, const QByteArray &data, const QString &mimeType)
 
bool begin (QPaintDevice *pdev) override
 
bool end () override
 
void drawPoints (const QPointF *points, int pointCount) override
 
void drawLines (const QLineF *lines, int lineCount) override
 
void drawRects (const QRectF *rects, int rectCount) override
 
void drawPolygon (const QPointF *points, int pointCount, PolygonDrawMode mode) override
 
void drawPath (const QPainterPath &path) override
 
void drawTextItem (const QPointF &p, const QTextItem &textItem) override
 
void drawPixmap (const QRectF &rectangle, const QPixmap &pixmap, const QRectF &sr) override
 
void drawImage (const QRectF &r, const QImage &pm, const QRectF &sr, Qt::ImageConversionFlags flags=Qt::AutoColor) override
 
void drawTiledPixmap (const QRectF &rectangle, const QPixmap &pixmap, const QPointF &point) override
 
void drawHyperlink (const QRectF &r, const QUrl &url)
 
void updateState (const QPaintEngineState &state) override
 
int metric (QPaintDevice::PaintDeviceMetric metricType) const
 
Type type () const override
 
bool newPage ()
 
void setPageLayout (const QPageLayout &pageLayout)
 
void setPageSize (const QPageSize &pageSize)
 
void setPageOrientation (QPageLayout::Orientation orientation)
 
void setPageMargins (const QMarginsF &margins, QPageLayout::Unit units=QPageLayout::Point)
 
QPageLayout pageLayout () const
 
void setPen ()
 
void setBrush ()
 
void setupGraphicsState (QPaintEngine::DirtyFlags flags)
 
- Public Member Functions inherited from QPaintEngine
 QPaintEngine (PaintEngineFeatures features=PaintEngineFeatures())
 
virtual ~QPaintEngine ()
 
bool isActive () const
 
void setActive (bool newState)
 
virtual void drawRects (const QRect *rects, int rectCount)
 
virtual void drawLines (const QLine *lines, int lineCount)
 
virtual void drawEllipse (const QRectF &r)
 
virtual void drawEllipse (const QRect &r)
 
virtual void drawPoints (const QPoint *points, int pointCount)
 
virtual void drawPolygon (const QPoint *points, int pointCount, PolygonDrawMode mode)
 
void setPaintDevice (QPaintDevice *device)
 
QPaintDevicepaintDevice () const
 
void setSystemClip (const QRegion &baseClip)
 
QRegion systemClip () const
 
void setSystemRect (const QRect &rect)
 
QRect systemRect () const
 
virtual QPoint coordinateOffset () const
 
void fix_neg_rect (int *x, int *y, int *w, int *h)
 
bool testDirty (DirtyFlags df)
 
void setDirty (DirtyFlags df)
 
void clearDirty (DirtyFlags df)
 
bool hasFeature (PaintEngineFeatures feature) const
 
QPainterpainter () const
 
void syncState ()
 
bool isExtended () const
 
virtual QPixmap createPixmap (QSize size)
 
virtual QPixmap createPixmapFromImage (QImage image, Qt::ImageConversionFlags flags=Qt::AutoColor)
 

Friends

class QPdfWriter
 

Additional Inherited Members

- Protected Member Functions inherited from QPaintEngine
 QPaintEngine (QPaintEnginePrivate &data, PaintEngineFeatures devcaps=PaintEngineFeatures())
 
- Protected Attributes inherited from QPaintEngine
QPaintEngineStatestate
 
PaintEngineFeatures gccaps
 
uint active: 1
 
uint selfDestruct: 1
 
uint extended: 1
 
QScopedPointer< QPaintEnginePrivated_ptr
 

Detailed Description

Definition at line 167 of file qpdf_p.h.

Member Enumeration Documentation

◆ PdfVersion

Enumerator
Version_1_4 
Version_A1b 
Version_1_6 

Definition at line 173 of file qpdf_p.h.

Constructor & Destructor Documentation

◆ QPdfEngine() [1/2]

QPdfEngine::QPdfEngine ( )

Definition at line 800 of file qpdf.cpp.

◆ QPdfEngine() [2/2]

QPdfEngine::QPdfEngine ( QPdfEnginePrivate d)

Definition at line 795 of file qpdf.cpp.

◆ ~QPdfEngine()

QPdfEngine::~QPdfEngine ( )
inline

Definition at line 182 of file qpdf_p.h.

Member Function Documentation

◆ addFileAttachment()

void QPdfEngine::addFileAttachment ( const QString fileName,
const QByteArray data,
const QString mimeType 
)

Definition at line 1585 of file qpdf.cpp.

◆ begin()

bool QPdfEngine::begin ( QPaintDevice pdev)
overridevirtual

Reimplement this function to initialise your paint engine when painting is to start on the paint device pdev. Return true if the initialization was successful; otherwise return false.

See also
end(), isActive()

Implements QPaintEngine.

Reimplemented in QPdfPrintEngine.

Definition at line 1506 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ documentXmpMetadata()

QByteArray QPdfEngine::documentXmpMetadata ( ) const

Definition at line 1405 of file qpdf.cpp.

◆ drawHyperlink()

void QPdfEngine::drawHyperlink ( const QRectF r,
const QUrl url 
)

Definition at line 1077 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawImage()

void QPdfEngine::drawImage ( const QRectF rectangle,
const QImage image,
const QRectF sr,
Qt::ImageConversionFlags  flags = Qt::AutoColor 
)
overridevirtual

Reimplement this function to draw the part of the image specified by the sr rectangle in the given rectangle using the given conversion flags flags, to convert it to a pixmap.

Reimplemented from QPaintEngine.

Definition at line 983 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawLines()

void QPdfEngine::drawLines ( const QLineF lines,
int  lineCount 
)
overridevirtual

The default implementation splits the list of lines in lines into lineCount separate calls to drawPath() or drawPolygon() depending on the feature set of the paint engine.

Reimplemented from QPaintEngine.

Definition at line 830 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawPath()

void QPdfEngine::drawPath ( const QPainterPath path)
overridevirtual

The default implementation ignores the path and does nothing.

Reimplemented from QPaintEngine.

Definition at line 912 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ drawPixmap()

void QPdfEngine::drawPixmap ( const QRectF r,
const QPixmap pm,
const QRectF sr 
)
overridevirtual

Reimplement this function to draw the part of the pm specified by the sr rectangle in the given r.

Implements QPaintEngine.

Definition at line 940 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawPoints()

void QPdfEngine::drawPoints ( const QPointF points,
int  pointCount 
)
overridevirtual

Draws the first pointCount points in the buffer points

Reimplemented from QPaintEngine.

Definition at line 812 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawPolygon()

void QPdfEngine::drawPolygon ( const QPointF points,
int  pointCount,
PolygonDrawMode  mode 
)
overridevirtual

Reimplement this virtual function to draw the polygon defined by the pointCount first points in points, using mode mode.

Note
At least one of the drawPolygon() functions must be reimplemented.

Reimplemented from QPaintEngine.

Definition at line 876 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawRects()

void QPdfEngine::drawRects ( const QRectF rects,
int  rectCount 
)
overridevirtual

Draws the first rectCount rectangles in the buffer rects. The default implementation of this function calls drawPath() or drawPolygon() depending on the feature set of the paint engine.

Reimplemented from QPaintEngine.

Definition at line 847 of file qpdf.cpp.

Here is the caller graph for this function:

◆ drawTextItem()

void QPdfEngine::drawTextItem ( const QPointF p,
const QTextItem textItem 
)
overridevirtual

This function draws the text item textItem at position p. The default implementation of this function converts the text to a QPainterPath and paints the resulting path.

Reimplemented from QPaintEngine.

Definition at line 1047 of file qpdf.cpp.

Here is the call graph for this function:

◆ drawTiledPixmap()

void QPdfEngine::drawTiledPixmap ( const QRectF rect,
const QPixmap pixmap,
const QPointF p 
)
overridevirtual

Reimplement this function to draw the pixmap in the given rect, starting at the given p. The pixmap will be drawn repeatedly until the rect is filled.

Reimplemented from QPaintEngine.

Definition at line 1017 of file qpdf.cpp.

Here is the call graph for this function:

◆ end()

bool QPdfEngine::end ( )
overridevirtual

Reimplement this function to finish painting on the current paint device. Return true if painting was finished successfully; otherwise return false.

See also
begin(), isActive()

Implements QPaintEngine.

Reimplemented in QPdfPrintEngine.

Definition at line 1561 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ metric()

int QPdfEngine::metric ( QPaintDevice::PaintDeviceMetric  metricType) const

Definition at line 1443 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ newPage()

bool QPdfEngine::newPage ( )

Definition at line 1362 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ pageLayout()

QPageLayout QPdfEngine::pageLayout ( ) const

Definition at line 1436 of file qpdf.cpp.

Here is the caller graph for this function:

◆ resolution()

int QPdfEngine::resolution ( ) const

Definition at line 1387 of file qpdf.cpp.

Here is the caller graph for this function:

◆ setBrush()

void QPdfEngine::setBrush ( )

Definition at line 1326 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setDocumentXmpMetadata()

void QPdfEngine::setDocumentXmpMetadata ( const QByteArray xmpMetadata)

Definition at line 1399 of file qpdf.cpp.

◆ setOutputFilename()

void QPdfEngine::setOutputFilename ( const QString filename)

Definition at line 805 of file qpdf.cpp.

◆ setPageLayout()

void QPdfEngine::setPageLayout ( const QPageLayout pageLayout)

Definition at line 1411 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setPageMargins()

void QPdfEngine::setPageMargins ( const QMarginsF margins,
QPageLayout::Unit  units = QPageLayout::Point 
)

Definition at line 1429 of file qpdf.cpp.

Here is the caller graph for this function:

◆ setPageOrientation()

void QPdfEngine::setPageOrientation ( QPageLayout::Orientation  orientation)

Definition at line 1423 of file qpdf.cpp.

Here is the caller graph for this function:

◆ setPageSize()

void QPdfEngine::setPageSize ( const QPageSize pageSize)

Definition at line 1417 of file qpdf.cpp.

Here is the caller graph for this function:

◆ setPdfVersion()

void QPdfEngine::setPdfVersion ( PdfVersion  version)

Definition at line 1393 of file qpdf.cpp.

Here is the caller graph for this function:

◆ setPen()

void QPdfEngine::setPen ( )

Definition at line 1267 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ setResolution()

void QPdfEngine::setResolution ( int  resolution)

Definition at line 1381 of file qpdf.cpp.

Here is the call graph for this function:

◆ setupGraphicsState()

void QPdfEngine::setupGraphicsState ( QPaintEngine::DirtyFlags  flags)

Definition at line 1196 of file qpdf.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ type()

QPaintEngine::Type QPdfEngine::type ( ) const
overridevirtual

Reimplement this function to return the paint engine \l{Type}.

Implements QPaintEngine.

Definition at line 1376 of file qpdf.cpp.

◆ updateState()

void QPdfEngine::updateState ( const QPaintEngineState state)
overridevirtual

Reimplement this function to update the state of a paint engine.

When implemented, this function is responsible for checking the paint engine's current state and update the properties that are changed. Use the QPaintEngineState::state() function to find out which properties that must be updated, then use the corresponding \l {GetFunction}{get function} to retrieve the current values for the given properties.

See also
QPaintEngineState

Implements QPaintEngine.

Definition at line 1112 of file qpdf.cpp.

Here is the call graph for this function:

Friends And Related Function Documentation

◆ QPdfWriter

friend class QPdfWriter
friend

Definition at line 170 of file qpdf_p.h.


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