66 lines
2.1 KiB
C++
66 lines
2.1 KiB
C++
|
#include "ZoomManager.h"
|
|||
|
|
|||
|
#include "config.h"
|
|||
|
#include "common/SpdLogger.h"
|
|||
|
#include "viewer/OsgViewUI.h"
|
|||
|
#include "common/RecourceHelper.h"
|
|||
|
|
|||
|
ZoomManager::ZoomManager(void)
|
|||
|
{
|
|||
|
zoom = 0.0;
|
|||
|
state = ZoomManager::DEFAULT;
|
|||
|
|
|||
|
_canvasZoom = new osgWidget::Canvas("Zoom");
|
|||
|
_canvasZoom->setOrigin(733, 350);
|
|||
|
_canvasZoom->getBackground()->setColor(0, 0, 0, 0);
|
|||
|
_canvasZoom->setVisibilityMode(osgWidget::Window::VM_ENTIRE);
|
|||
|
_canvasZoom->setStrata(osgWidget::Window::STRATA_FOREGROUND);
|
|||
|
|
|||
|
const std::string texturePath = RecourceHelper::Get().GetResourcesPath().toStdString();
|
|||
|
_lessen = new ZoomWidget("lessen", 18, 20, texturePath + "/northarrow/zoom_down.png", "lessen", osgWidget::Widget::LAYER_TOP, this);
|
|||
|
_enlargement = new ZoomWidget("enlargement", 18, 20, texturePath + "/northarrow/zoom_up.png", "enlargement", osgWidget::Widget::LAYER_TOP, this);
|
|||
|
_zoomBackground = new BackGroundWidget("zoomBackground", 18, 144, texturePath + "/northarrow/zoomactive.png");
|
|||
|
_bar = new ZoomWidget("bar", 17, 10, texturePath + "/northarrow/zoombar_norm.png", "bar", osgWidget::Widget::LAYER_TOP, this);
|
|||
|
_bar_ = new BackGroundWidget("bar_", 18, 12, texturePath + "/northarrow/zoombar_norm_.png");
|
|||
|
_zoomBackground_shadow = new BackGroundWidget("background_shadow", 18, 144, texturePath + "/northarrow/zoombackground.png");
|
|||
|
|
|||
|
_canvasZoom->addWidget(_lessen, 0, 0);
|
|||
|
_canvasZoom->addWidget(_enlargement, 0, 124);
|
|||
|
_canvasZoom->addWidget(_bar_, 0, 66);
|
|||
|
_canvasZoom->addWidget(_bar, 0, 67);
|
|||
|
_canvasZoom->addWidget(_zoomBackground, 0, 0);
|
|||
|
_canvasZoom->addWidget(_zoomBackground_shadow, 0, 0);
|
|||
|
}
|
|||
|
|
|||
|
ZoomManager::~ZoomManager(void)
|
|||
|
{
|
|||
|
delete _canvasZoom;
|
|||
|
|
|||
|
delete _lessen;
|
|||
|
delete _enlargement;
|
|||
|
delete _zoomBackground;
|
|||
|
delete _bar;
|
|||
|
delete _bar_;
|
|||
|
delete _zoomBackground_shadow;
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
void ZoomManager::ResetCanvasPosition(double x, double y)
|
|||
|
{
|
|||
|
_canvasZoom->setOrigin(x - 100 + 33, y - 250);
|
|||
|
_canvasZoom->resize();
|
|||
|
}
|
|||
|
|
|||
|
void ZoomManager::SendZoom()
|
|||
|
{
|
|||
|
_zoomNum[0] = zoom;
|
|||
|
|
|||
|
//emit signalZoom(QVariant(_zoomNum[0]));
|
|||
|
}
|
|||
|
|
|||
|
void ZoomManager::AttachViewUI(OsgViewUI* ui) {
|
|||
|
dyt_check(nullptr != ui);
|
|||
|
|
|||
|
ui->addChild(_canvasZoom);
|
|||
|
}
|