36 #include "qgis_core.h"
45 #include <QStringList>
46 #include <unordered_map>
95 Pal(
const Pal &other ) =
delete;
97 Pal &operator=(
const Pal &other ) =
delete;
119 void removeLayer(
Layer *layer );
121 typedef bool ( *FnIsCanceled )(
void *ctx );
124 void registerCancellationCallback( FnIsCanceled fnCanceled,
void *context );
127 inline bool isCanceled() {
return fnIsCanceled ? fnIsCanceled( fnIsCanceledContext ) :
false; }
150 QList<LabelPosition *> solveProblem(
Problem *prob,
bool displayAll, QList<pal::LabelPosition *> *unlabeled =
nullptr );
157 void setShowPartialLabels(
bool show );
164 bool showPartialLabels()
const;
246 std::unordered_map< QgsAbstractLabelProvider *, std::unique_ptr< Layer > > mLayers;
258 int mEjChainDeg = 50;
260 double mCandListSize = 0.2;
265 bool mShowPartialLabels =
true;
267 double mMaxLineCandidatesPerMapUnit = 0;
268 double mMaxPolygonCandidatesPerMapUnitSquared = 0;
270 int mGlobalCandidatesLimitPoint = 0;
271 int mGlobalCandidatesLimitLine = 0;
272 int mGlobalCandidatesLimitPolygon = 0;
277 FnIsCanceled fnIsCanceled =
nullptr;
279 void *fnIsCanceledContext =
nullptr;
292 void setPopmusicR(
int r );
298 void setMinIt(
int min_it );
304 void setMaxIt(
int max_it );
310 void setTenure(
int tenure );
316 void setEjChainDeg(
int degree );
322 void setCandListSize(
double fact );