79        DxfLayer( 
QgsVectorLayer *vl, 
int layerOutputAttributeIndex = -1, 
bool buildDDBlocks = DEFAULT_DXF_DATA_DEFINED_BLOCKS, 
int ddBlocksMaxNumberOfClasses = -1, QString overriddenName = QString() )
 
   81          , mLayerOutputAttributeIndex( layerOutputAttributeIndex )
 
   82          , mBuildDDBlocks( buildDDBlocks )
 
   83          , mDDBlocksMaxNumberOfClasses( ddBlocksMaxNumberOfClasses )
 
   84          , mOverriddenName( overriddenName )
 
 
  103        QString splitLayerAttribute() 
const;
 
  127        int mLayerOutputAttributeIndex = -1;
 
  132        bool mBuildDDBlocks = DEFAULT_DXF_DATA_DEFINED_BLOCKS;
 
  137        int mDDBlocksMaxNumberOfClasses = -1;
 
  142        QString mOverriddenName;
 
 
  148      FlagNoMText = 1 << 1, 
 
  149      FlagOnlySelectedFeatures = 1 << 2, 
 
  150      FlagHairlineWidthExport = 1 << 3 
 
 
  163      DeviceNotWritableError, 
 
 
  202      Is3DPolygonMesh = 16, 
 
  205      ContinuousPattern = 128, 
 
 
  248    ExportResult writeToFile( QIODevice *d, const QString &codec );  
 
  254    const QString feedbackMessage()
 const { 
return mFeedbackMessage; }
 
  347    static int closestColorMatch( QRgb color );
 
  355    QString layerName( 
const QString &
id, 
const QgsFeature &f ) 
const;
 
  371    void writeGroup( 
int code, 
int i ) 
SIP_PYNAME( writeGroupInt );
 
  379    void writeGroup( 
int code, 
long long i ) 
SIP_PYNAME( writeGroupLong );
 
  387    void writeGroup( 
int code, 
double d ) 
SIP_PYNAME( writeGroupDouble );
 
  394    void writeGroup( 
int code, 
const QString &s );
 
  412    void writeGroup( 
const QColor &color, 
int exactMatch = 62, 
int rgbCode = 420, 
int transparencyCode = 440 );
 
  418    void writeGroupCode( 
int code );
 
  424    void writeInt( 
int i );
 
  430    void writeDouble( 
double d );
 
  436    void writeString( 
const QString &s );
 
  444    int writeHandle( 
int code = 5, 
int handle = 0 );
 
  455    void writePolyline( 
const QgsPointSequence &line, 
const QString &layer, 
const QString &lineStyleName, 
const QColor &color, 
double width = -1 ) 
SIP_SKIP;
 
  467    void writePolyline( const 
QgsCurve &curve, const QString &layer, const QString &lineStyleName, const QColor &color, 
double width = -1 ) 
SIP_SKIP;
 
  477    void writePolygon( const 
QgsRingSequence &polygon, const QString &layer, const QString &hatchPattern, const QColor &color ) 
SIP_SKIP;
 
  488    void writePolygon( const 
QgsCurvePolygon &polygon, const QString &layer, const QString &hatchPattern, const QColor &color ) 
SIP_SKIP;
 
  493    void writeLine( const 
QgsPoint &pt1, const 
QgsPoint &pt2, const QString &layer, const QString &lineStyleName, const QColor &color, 
double width = -1 );
 
  499    void writePoint( const QString &layer, const QColor &color, const 
QgsPoint &pt ) 
SIP_PYNAME( writePointV2 );
 
  505    void writeFilledCircle( const QString &layer, const QColor &color, const 
QgsPoint &pt, 
double radius ) 
SIP_PYNAME( writeFillCircleV2 );
 
  511    void writeCircle( const QString &layer, const QColor &color, const 
QgsPoint &pt, 
double radius, const QString &lineStyleName, 
double width ) 
SIP_PYNAME( writeCircleV2 );
 
  523    void writeMText( const QString &layer, const QString &text, const 
QgsPoint &pt, 
double width, 
double angle, const QColor &color );
 
  532    static 
double mapUnitScaleFactor( 
double scale, 
Qgis::RenderUnit symbolUnits, 
Qgis::DistanceUnit mapUnits, 
double mapUnitsPerPixel = 1.0 );
 
  540    void clipValueToMapUnitScale( 
double &value, const 
QgsMapUnitScale &scale, 
double pixelToMMFactor ) const;
 
  543    static QString dxfLayerName( const QString &name );
 
  546    static QString dxfEncoding( const QString &name );
 
  549    static QStringList encodings();
 
  566    Q_DECL_DEPRECATED 
void registerDxfLayer( const QString &layerId, 
QgsFeatureId fid, const QString &layer );
 
  575    struct DataDefinedBlockInfo
 
  586    double mSymbologyScale = 1.0;
 
  589    bool mLayerTitleAsName = 
false;
 
  591    QTextStream mTextStream;
 
  593    int mSymbolLayerCounter = 0; 
 
  595    int mBlockCounter = 0;
 
  597    QHash< const QgsSymbolLayer *, QString > mLineStyles; 
 
  598    QHash< const QgsSymbolLayer *, QString > mPointSymbolBlocks; 
 
  599    QHash< const QgsSymbolLayer *, double > mPointSymbolBlockSizes; 
 
  600    QHash< const QgsSymbolLayer *, double > mPointSymbolBlockAngles; 
 
  602    QHash< const QgsSymbolLayer *, QHash <uint, DataDefinedBlockInfo> > mDataDefinedBlockInfo; 
 
  605    void createDDBlockInfo();
 
  606    void writeHeader( 
const QString &codepage );
 
  607    void prepareRenderers();
 
  610    void writeEntities();
 
  611    void writeEntitiesSymbolLevels( 
DxfLayerJob *job );
 
  612    void stopRenderers();
 
  619    void writeDefaultLinetypes();
 
  620    void writeSymbolLayerLinetype( 
const QgsSymbolLayer *symbolLayer );
 
  621    void writeLinetype( 
const QString &styleName, 
const QVector<qreal> &pattern, 
Qgis::RenderUnit u );
 
  652    QString lineStyleFromSymbolLayer( 
const QgsSymbolLayer *symbolLayer );
 
  655    static int color_distance( QRgb p1, 
int index );
 
  656    static QRgb createRgbEntry( qreal r, qreal g, qreal b );
 
  661    QList< QPair< QgsSymbolLayer *, QgsSymbol * > > symbolLayers( 
QgsRenderContext &context );
 
  662    static int nLineTypes( 
const QList< QPair< QgsSymbolLayer *, QgsSymbol *> > &symbolLayers );
 
  664    void writeSymbolTableBlockRef( 
const QString &blockName );
 
  669    double dashSize() 
const;
 
  670    double dotSize() 
const;
 
  671    double dashSeparatorSize() 
const;
 
  672    double sizeToMapUnits( 
double s ) 
const;
 
  673    static QString lineNameFromPenStyle( Qt::PenStyle style );
 
  674    bool layerIsScaleBasedVisible( 
const QgsMapLayer *layer ) 
const;
 
  676    QHash<QString, int> mBlockHandles;
 
  677    QString mBlockHandle;
 
  680    QMap< QString, QMap<QgsFeatureId, QString> > mDxfLayerNames;
 
  683    QList<QgsMapLayer *> mLayerList;
 
  684    QHash<QString, int> mLayerNameAttribute;
 
  685    QHash<QString, int> mLayerDDBlockMaxNumberOfClasses;
 
  686    QHash<QString, QString> mLayerOverriddenName;
 
  687    double mFactor = 1.0;
 
  688    bool mForce2d = 
false;
 
  692    void appendCurve( 
const QgsCurve &
c, QVector<QgsPoint> &points, QVector<double> &bulges );
 
  693    void appendLineString( 
const QgsLineString &ls, QVector<QgsPoint> &points, QVector<double> &bulges );
 
  694    void appendCircularString( 
const QgsCircularString &cs, QVector<QgsPoint> &points, QVector<double> &bulges );
 
  695    void appendCompoundCurve( 
const QgsCompoundCurve &cc, QVector<QgsPoint> &points, QVector<double> &bulges );
 
  699    QList<DxfLayerJob *> mJobs;
 
  700    std::unique_ptr<QgsLabelingEngine> mLabelingEngine;
 
  702    QString mFeedbackMessage;
 
 
Expression contexts are used to encapsulate the parameters around which a QgsExpression should be eva...
 
Contains information about the context of a rendering operation.
 
Encapsulates the context in which a symbol is being rendered.
 
Q_DECLARE_OPERATORS_FOR_FLAGS(QgsTextRendererUtils::CurvedTextFlags)