DYTSrouce/src/scene/ui/ZoomManager.h

65 lines
1.2 KiB
C
Raw Normal View History

2025-01-12 17:35:51 +00:00
#ifndef Zoom_H_
#define Zoom_H_
#include "BackGroundWidget.h"
#include "CompositeHandle.h"
#include "CompositeWidget.h"
#include "ZoomWidget.h"
#include "ZoomHandle.h"
#include <QObject>
#include <QVariant>
class ZoomManager : public osg::Referenced {
public:
2025-03-13 00:42:41 +00:00
ZoomManager(class OEScene* oeScene);
2025-01-12 17:35:51 +00:00
~ZoomManager(void);
void ResetCanvasPosition(double x, double y);
void SendZoom();
osgWidget::Canvas* GetCanvasZoom() {
return _canvasZoom;
}
2025-03-25 16:04:39 +00:00
osgWidget::Widget* GetBar() const {
return _bar;
}
2025-01-12 17:35:51 +00:00
void AttachViewUI(class OsgViewUI* ui);
//
//signals:
// void signalZoom(QVariant var);
2025-03-13 00:42:41 +00:00
protected:
void slotZoom();
2025-01-12 17:35:51 +00:00
private:
osgWidget::Canvas* _canvasZoom;
osgWidget::Widget* _lessen;
osgWidget::Widget* _enlargement;
osgWidget::Widget* _zoomBackground;
osgWidget::Widget* _bar;
osgWidget::Widget* _bar_;
osgWidget::Widget* _zoomBackground_shadow;
int _zoomNum[1];
2025-03-13 00:42:41 +00:00
class OEScene* oeScene_;
2025-01-12 17:35:51 +00:00
public:
enum STATE {
MOUSE_PUSH,
MOUSE_RELEASE,
MOUSE_LEAVE,
MOUSE_OVER,
MOUSE_DRAG,
DEFAULT
};
STATE state;
double zoom;
};
#endif