27 #include "../../../dataaccess/Exception.h"
28 #include "../../../geometry/Envelope.h"
29 #include "../../../maptools/AbstractLayer.h"
39 connect(
this, SIGNAL(started()), SLOT(
onStarted()));
40 connect(
this, SIGNAL(finished()), SLOT(
onFinished()));
60 m_finishedWithSuccess =
true;
61 m_errorMessage.clear();
64 if(m_image.size() != size)
65 m_image = QImage(size, QImage::Format_ARGB32_Premultiplied);
67 m_image.fill(qRgba(0, 0, 0, 0));
76 return m_finishedWithSuccess;
81 return m_errorMessage;
94 canvas.
calcAspectRatio(m_env.m_llx, m_env.m_lly, m_env.m_urx, m_env.m_ury);
95 canvas.
setWindow(m_env.m_llx, m_env.m_lly, m_env.m_urx, m_env.m_ury);
103 m_layer->draw(&canvas, m_env, m_srid);
106 catch(
const te::da::Exception& e)
115 m_finishedWithSuccess =
false;
116 m_errorMessage = QString(tr(
"The layer") +
" %1 " + tr(
"could not be drawn! Details:") +
" %2").arg(m_layer->getTitle().c_str()).arg(e.what());
120 catch(
const std::exception& e)
122 m_finishedWithSuccess =
false;
123 m_errorMessage = QString(tr(
"The layer") +
" %1 " + tr(
"could not be drawn! Details:") +
" %2").arg(m_layer->getTitle().c_str()).arg(e.what());
131 m_feedback.start(m_interval);
136 emit feedback(m_image);
141 emit drawLayerFinished(m_index, m_image);
142 m_image.fill(qRgba(0, 0, 0, 0));
This is the base class for layers.
This class represents a thread responsible to draw a given layer. Basically, this class receives draw...
An Envelope defines a 2D rectangular region.