Files
HPPA/HPPA/ImageViewer.h
tangchao0503 0b2744656b maptool:
报错,没实现;
2026-03-11 18:09:38 +08:00

79 lines
1.8 KiB
C++

#ifndef MAPCAVAS_H
#define MAPCAVAS_H
#include "QGraphicsView"
#include "qlabel.h"
#include <QVector>
#include "RasterLayer.h"
class MapTool;
class Mapcavas : public QGraphicsView
{
Q_OBJECT
public:
Mapcavas(QWidget* pParent = NULL);
~Mapcavas();
void DisplayFrameNumber(int frameNumber);
void mousePressEvent(QMouseEvent *event);
void mouseMoveEvent(QMouseEvent *event);
void mouseReleaseEvent(QMouseEvent *event);
void mouseDoubleClickEvent(QMouseEvent *event);
void SetImage(QPixmap *image);
bool HasImage();
void ensureSceneVisible();
void wheelEvent(QWheelEvent *event) Q_DECL_OVERRIDE;
void scaling(qreal scaleFactor);
void zoomIn(); // 放大
void zoomOut(); // 缩小
void zoom(float scaleFactor); // 缩放 - scaleFactor缩放的比例因子
// 平移速度
void setTranslateSpeed(qreal speed);
qreal translateSpeed() const;
// 缩放的增量
void setZoomDelta(qreal delta);
qreal zoomDelta() const;
// new: set raster layer and refresh map
void setLayers(RasterLayer* layer);
void freshmap();
void freshmap(const RasterLayer::RenderParams& params);
RasterLayer* rasterLayer() const;
// MapTool management
void setMapTool(MapTool* tool);
void unsetMapTool(MapTool* tool);
MapTool* mapTool() const;
protected:
QGraphicsScene *m_qtGraphicsScene;
private:
QGraphicsPixmapItem *m_GraphicsPixmapItemHandle;
QLabel *m_framNumberLabel;//显示实时采集到的帧数
RasterLayer* m_rasterLayer = nullptr; // associated raster layer
MapTool* m_mapTool = nullptr; // current active map tool
qreal m_translateSpeed; // 平移速度
qreal m_zoomDelta; // 缩放的增量
bool m_bMouseTranslate; // 平移标识
QPoint m_lastMousePos; // 鼠标最后按下的位置
qreal m_scale; // 缩放值
signals:
void leftMouseButtonPressed(int, int, QVector<double>, QVector<double>);
};
#endif