DYTSrouce/src/scene/ui/ZoomManager.cpp

66 lines
2.1 KiB
C++
Raw Normal View History

2025-01-12 17:35:51 +00:00
#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);
}