Added CanvasWidget
This commit is contained in:
@@ -1,6 +1,12 @@
|
|||||||
project(DbGuiLib)
|
project(DbGuiLib)
|
||||||
|
|
||||||
|
find_package(Qt5Core CONFIG REQUIRED)
|
||||||
|
find_package(Qt5Gui CONFIG REQUIRED)
|
||||||
|
find_package(Qt5Widgets CONFIG REQUIRED)
|
||||||
|
find_package(Qt5LinguistTools CONFIG REQUIRED)
|
||||||
|
|
||||||
set(HEADERS
|
set(HEADERS
|
||||||
|
canvaswidget.h
|
||||||
dbguilib_global.h
|
dbguilib_global.h
|
||||||
editorfactory.h
|
editorfactory.h
|
||||||
ledindicator.h
|
ledindicator.h
|
||||||
@@ -15,6 +21,7 @@ set(HEADERS
|
|||||||
)
|
)
|
||||||
|
|
||||||
set(SOURCES
|
set(SOURCES
|
||||||
|
canvaswidget.cpp
|
||||||
editorfactory.cpp
|
editorfactory.cpp
|
||||||
ledindicator.cpp
|
ledindicator.cpp
|
||||||
matrix4x4widget.cpp
|
matrix4x4widget.cpp
|
||||||
|
30
canvaswidget.cpp
Normal file
30
canvaswidget.cpp
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
#include "canvaswidget.h"
|
||||||
|
|
||||||
|
// Qt includes
|
||||||
|
#include <QPainter>
|
||||||
|
|
||||||
|
CanvasWidget::CanvasWidget(QWidget *parent) :
|
||||||
|
QWidget(parent)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
void CanvasWidget::setImage(const QImage &image)
|
||||||
|
{
|
||||||
|
m_image = image;
|
||||||
|
repaint();
|
||||||
|
}
|
||||||
|
|
||||||
|
void CanvasWidget::paintEvent(QPaintEvent *event)
|
||||||
|
{
|
||||||
|
Q_UNUSED(event)
|
||||||
|
|
||||||
|
const double scale = std::min(double(width()) / m_image.width(),
|
||||||
|
double(height()) / m_image.height());
|
||||||
|
|
||||||
|
const QRect imageRect(QPoint(), m_image.size() * scale);
|
||||||
|
|
||||||
|
QPainter painter;
|
||||||
|
painter.begin(this);
|
||||||
|
painter.drawImage(imageRect, m_image);
|
||||||
|
painter.end();
|
||||||
|
}
|
21
canvaswidget.h
Normal file
21
canvaswidget.h
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
#pragma once
|
||||||
|
|
||||||
|
#include "dbguilib_global.h"
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
#include <QImage>
|
||||||
|
|
||||||
|
class DBGUILIB_EXPORT CanvasWidget : public QWidget
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
explicit CanvasWidget(QWidget *parent = Q_NULLPTR);
|
||||||
|
|
||||||
|
public Q_SLOTS:
|
||||||
|
void setImage(const QImage &image);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void paintEvent(QPaintEvent *event) Q_DECL_OVERRIDE;
|
||||||
|
|
||||||
|
private:
|
||||||
|
QImage m_image;
|
||||||
|
};
|
Reference in New Issue
Block a user