Skip to content

Commit d13eaa6

Browse files
committedNov 19, 2017
Improve documentation
1 parent 3405bc1 commit d13eaa6

File tree

2 files changed

+36
-6
lines changed

2 files changed

+36
-6
lines changed
 

‎python/core/symbology/qgsrenderer.sip

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -115,16 +115,28 @@ return a new renderer - used by default in vector layers
115115

116116
virtual void startRender( QgsRenderContext &context, const QgsFields &fields ) = 0;
117117
%Docstring
118-
Needs to be called when a new render cycle is started
118+
Must be called when a new render cycle is started. A call to startRender() must always
119+
be followed by a corresponding call to stopRender() after all features have been rendered.
119120

120121
\param context Additional information passed to the renderer about the job which will be rendered
121122
\param fields The fields available for rendering
122-
:return: Information passed back from the renderer that can e.g. be used to reduce the amount of requested features
123+
124+
.. seealso:: stopRender()
125+
126+
\warning This method is not thread safe. Before calling startRender() in a non-main thread,
127+
the renderer should instead be cloned and startRender()/stopRender() called on the clone.
123128
%End
124129

125130
virtual void stopRender( QgsRenderContext &context ) = 0;
126131
%Docstring
127-
Needs to be called when a render cycle has finished to clean up.
132+
Must be called when a render cycle has finished, to allow the renderer to clean up.
133+
134+
Calls to stopRender() must always be preceeded by a call to startRender().
135+
136+
\warning This method is not thread safe. Before calling startRender() in a non-main thread,
137+
the renderer should instead be cloned and startRender()/stopRender() called on the clone.
138+
139+
.. seealso:: startRender()
128140
%End
129141

130142
virtual QString filter( const QgsFields &fields = QgsFields() );
@@ -177,6 +189,9 @@ return a new renderer - used by default in vector layers
177189

178190
If layer is not -1, the renderer should draw only a particula layer from symbols
179191
(in order to support symbol level rendering).
192+
193+
.. seealso:: startRender()
194+
.. seealso:: stopRender()
180195
:rtype: bool
181196
%End
182197

‎src/core/symbology/qgsrenderer.h

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -151,16 +151,28 @@ class CORE_EXPORT QgsFeatureRenderer
151151
virtual QSet< QString > legendKeysForFeature( QgsFeature &feature, QgsRenderContext &context );
152152

153153
/**
154-
* Needs to be called when a new render cycle is started
154+
* Must be called when a new render cycle is started. A call to startRender() must always
155+
* be followed by a corresponding call to stopRender() after all features have been rendered.
155156
*
156157
* \param context Additional information passed to the renderer about the job which will be rendered
157158
* \param fields The fields available for rendering
158-
* \returns Information passed back from the renderer that can e.g. be used to reduce the amount of requested features
159+
*
160+
* \see stopRender()
161+
*
162+
* \warning This method is not thread safe. Before calling startRender() in a non-main thread,
163+
* the renderer should instead be cloned and startRender()/stopRender() called on the clone.
159164
*/
160165
virtual void startRender( QgsRenderContext &context, const QgsFields &fields ) = 0;
161166

162167
/**
163-
* Needs to be called when a render cycle has finished to clean up.
168+
* Must be called when a render cycle has finished, to allow the renderer to clean up.
169+
*
170+
* Calls to stopRender() must always be preceeded by a call to startRender().
171+
*
172+
* \warning This method is not thread safe. Before calling startRender() in a non-main thread,
173+
* the renderer should instead be cloned and startRender()/stopRender() called on the clone.
174+
*
175+
* \see startRender()
164176
*/
165177
virtual void stopRender( QgsRenderContext &context ) = 0;
166178

@@ -209,6 +221,9 @@ class CORE_EXPORT QgsFeatureRenderer
209221
*
210222
* If layer is not -1, the renderer should draw only a particula layer from symbols
211223
* (in order to support symbol level rendering).
224+
*
225+
* \see startRender()
226+
* \see stopRender()
212227
*/
213228
virtual bool renderFeature( QgsFeature &feature, QgsRenderContext &context, int layer = -1, bool selected = false, bool drawVertexMarker = false );
214229

0 commit comments

Comments
 (0)
Please sign in to comment.