%ModuleHeaderCode #include #include #include %End class QgsAnnotation : QObject { %TypeHeaderCode #include %End %ConvertToSubClassCode if ( dynamic_cast< QgsTextAnnotation* > ( sipCpp ) ) sipType = sipType_QgsTextAnnotation; else if ( dynamic_cast< QgsSvgAnnotation* > ( sipCpp ) ) sipType = sipType_QgsSvgAnnotation; else if ( dynamic_cast< QgsHtmlAnnotation* > ( sipCpp ) ) sipType = sipType_QgsHtmlAnnotation; else sipType = NULL; %End public: QgsAnnotation( QObject* parent /TransferThis/ = nullptr ); virtual QgsAnnotation *clone() const = 0 /Factory/; bool isVisible() const; void setVisible( bool visible ); bool hasFixedMapPosition() const; void setHasFixedMapPosition( bool fixed ); QgsPoint mapPosition() const; void setMapPosition( const QgsPoint& position ); QgsCoordinateReferenceSystem mapPositionCrs() const; void setMapPositionCrs( const QgsCoordinateReferenceSystem& crs ); QPointF relativePosition() const; void setRelativePosition( QPointF position ); void setFrameOffsetFromReferencePoint( QPointF offset ); QPointF frameOffsetFromReferencePoint() const; void setFrameSize( QSizeF size ); QSizeF frameSize() const; void setContentsMargin( const QgsMargins& margins ); QgsMargins contentsMargin() const; void setFillSymbol( QgsFillSymbol* symbol /Transfer/ ); QgsFillSymbol* fillSymbol() const; void render( QgsRenderContext& context ) const; virtual void writeXml( QDomElement& elem, QDomDocument & doc ) const = 0; virtual void readXml( const QDomElement& itemElem, const QDomDocument& doc ) = 0; void setMarkerSymbol( QgsMarkerSymbol* symbol /Transfer/ ); QgsMarkerSymbol* markerSymbol() const; QgsMapLayer* mapLayer() const; void setMapLayer( QgsMapLayer* layer ); QgsFeature associatedFeature() const; virtual void setAssociatedFeature( const QgsFeature& feature ); signals: void appearanceChanged(); void moved(); void mapLayerChanged(); protected: virtual void renderAnnotation( QgsRenderContext& context, QSizeF size ) const = 0; virtual QSizeF minimumFrameSize() const; void _writeXml( QDomElement& itemElem, QDomDocument& doc ) const; void _readXml( const QDomElement& annotationElem, const QDomDocument& doc ); void copyCommonProperties( QgsAnnotation *target ) const; };