27 #include "../../../maptools/Utils.h" 
   28 #include "../../widgets/tools/Pan.h" 
   29 #include "../../widgets/tools/ZoomWheel.h" 
   30 #include "../canvas/Canvas.h" 
   31 #include "../canvas/MultiThreadMapDisplay.h" 
   33 #include "ui_OverlayWidgetForm.h" 
   39     m_ui(new Ui::OverlayWidgetForm),
 
   40     m_panTool(0), m_zoomTool(0),
 
   41     m_draft(0), m_draftOriginal(0)
 
   46   m_ui->m_applyToolButton->setIcon(QIcon::fromTheme(
"check"));
 
   48   connect(
m_ui->m_opacityHorizontalSlider, SIGNAL(valueChanged(
int)), 
this, SLOT(
onOpacityChanged(
int)));
 
   54   QGridLayout* displayLayout = 
new QGridLayout(
m_ui->m_widget);
 
   57   displayLayout->setContentsMargins(0,0,0,0);
 
   73   delete m_draftOriginal;
 
   83    std::list<te::map::AbstractLayerPtr>::iterator it = layerList.begin();
 
   85   while(it != layerList.end())
 
   89     m_ui->m_upperComboBox->addItem(l->getTitle().c_str(), QVariant::fromValue(l));
 
   90     m_ui->m_lowerComboBox->addItem(l->getTitle().c_str(), QVariant::fromValue(l));
 
   99   int lowerIdx = m_ui->m_lowerComboBox->currentIndex();
 
  100   QVariant lowerV = m_ui->m_lowerComboBox->itemData(lowerIdx, Qt::UserRole);
 
  104   std::list<te::map::AbstractLayerPtr> list;
 
  105   list.push_back(lowerLayer);
 
  109   m_mapDisplay->setMouseTracking(
true);
 
  110   m_mapDisplay->setLayerList(list);
 
  111   m_mapDisplay->setSRID(lowerLayer->getSRID(), 
false);
 
  112   m_mapDisplay->setExtent(e, 
true);
 
  115   int upperIdx = m_ui->m_upperComboBox->currentIndex();
 
  116   QVariant upperV = m_ui->m_upperComboBox->itemData(upperIdx, Qt::UserRole);
 
  121   m_draft = m_mapDisplay->getDraftPixmap();
 
  122   m_draft->fill(Qt::transparent);
 
  125   Canvas canvas(m_mapDisplay->width(), m_mapDisplay->height());
 
  127   canvas.setWindow(env.m_llx, env.m_lly, env.m_urx, env.m_ury);
 
  129   upperLayer->draw(&canvas, env, m_mapDisplay->getSRID());
 
  131   m_mapDisplay->repaint();
 
  137   int upperIdx = m_ui->m_upperComboBox->currentIndex();
 
  138   QVariant upperV = m_ui->m_upperComboBox->itemData(upperIdx, Qt::UserRole);
 
  143   m_draft = m_mapDisplay->getDraftPixmap();
 
  144   m_draft->fill(Qt::transparent);
 
  148     Canvas canvas(m_mapDisplay->width(), m_mapDisplay->height());
 
  150     canvas.setWindow(env.m_llx, env.m_lly, env.m_urx, env.m_ury);
 
  152     upperLayer->draw(&canvas, env, m_mapDisplay->getSRID());
 
  155   m_draftOriginal = 
new QPixmap(*m_mapDisplay->getDraftPixmap());
 
  157   updateSliderBarSize();
 
  159   m_mapDisplay->repaint();
 
  171     m_draft->fill(Qt::transparent);
 
  172     m_mapDisplay->repaint();
 
  182   if(m_ui->m_hideToolButton->isChecked())
 
  185   QImage img = m_draftOriginal->toImage();
 
  187   m_draft->fill(Qt::transparent);
 
  190   p.setOpacity(m_ui->m_opacityHorizontalSlider->value() / 255.);
 
  191   p.drawImage(0, 0, img, 0, 0, m_ui->m_horizontalSlider->value(), m_ui->m_verticalSlider->value());
 
  194   m_mapDisplay->repaint();
 
  199   m_ui->m_horizontalSlider->setMaximum(m_mapDisplay->getWidth() - 1);
 
  200   m_ui->m_horizontalSlider->setValue(m_mapDisplay->getWidth() - 1);
 
  201   m_ui->m_verticalSlider->setMaximum(m_mapDisplay->getHeight() - 1);
 
  202   m_ui->m_verticalSlider->setValue(m_mapDisplay->getHeight() - 1);
 
An Envelope defines a 2D rectangular region. 
 
boost::intrusive_ptr< AbstractLayer > AbstractLayerPtr