/** Render class to display labels */ class QgsLabel { %TypeHeaderCode #include %End private: QgsLabel (); // pretend that constructor is private for now public: QgsLabel ( const QMap & fields ); ~QgsLabel(); /* Fields */ enum LabelField { Text = 0, Family, Size, Bold, Italic, Underline, Color, XCoordinate, YCoordinate, XOffset, YOffset, Angle, Alignment, BufferEnabled, BufferSize, BufferColor, BufferBrush, BorderWidth, BorderColor, BorderStyle, MultilineEnabled, LabelFieldCount }; struct labelpoint { QgsPoint p; double angle; }; /** \brief render label * \param sizeScale global scale factor for size in pixels, labels in map units are not scaled */ void renderLabel ( QPainter* painter, QgsRectangle& viewExtent, QgsCoordinateTransform* coordinateTransform, QgsMapToPixel *transform, QgsFeature &feature, bool selected, QgsLabelAttributes *classAttributes=0, double sizeScale = 1, double rasterScaleFactor = 1); /** Reads the renderer configuration from an XML file @param rnode the Dom node to read */ void readXML(const QDomNode& node); /** Writes the contents of the renderer to a configuration file */ void writeXML( QDomNode & label_node, QDomDocument & document ); //! add vector of required fields to existing list of fields void addRequiredFields ( QList & fields ); //! Set available fields void setFields( const QMap & fields ); //! Available vector fields QMap & fields ( ); //! Pointer to default attributes QgsLabelAttributes *layerAttributes ( ); //! Set label field void setLabelField ( int attr, int fieldId ); //! label field QString labelField ( int attr ); /** Get field value if : 1) field name is not empty * 2) field exists * 3) value is defined * otherwise returns empty string */ QString fieldValue ( int attr, QgsFeature& feature ); /** Accessor and mutator for the minimum scale member */ void setMinScale( float theMinScale ); float minScale(); /** Accessor and mutator for the maximum scale member */ void setMaxScale( float theMaxScale ); float maxScale(); /** Accessor and mutator for the scale based visilibility flag */ void setScaleBasedVisibility( bool theVisibilityFlag ); bool scaleBasedVisibility(); };