qt/LedOK/oescreenshot/oeamplifier.h
2023-04-18 14:14:46 +08:00

94 lines
2.3 KiB
C++
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* @author : 陈鲁勇
* @date : 2017年04月
* @version: 1.0
* @note : 根据 Apache 许可证 2.0 版(以下简称“许可证”)授权;
* 除非遵守本许可,否则您不能使用这个文件。
* @remarks: 您可以获得该许可的副本:
* http://www.apache.org/licenses/LICENSE-2.0
* 除非适用法律需要或者书面同意,按本许可分发的软件
* 要按“原样”分发,没有任何形式的,明确或隐含的担保条款。
* 参见按照本许可控制许可权限及限制的特定语言的许可证。
*
* 你可以获得该代码的最新版本:
*
* https://git.oschina.net/Mr_ChenLuYong/screenshot
*
* 开源社区的所有人都期待与你的共同维护。
*
*
* 如果你对这些代码还有不理解的地方可以通过最新的文章进行学习:
*
* 博客地址http://blog.csdn.net/csnd_ayo
*
* 文章地址http://blog.csdn.net/csnd_ayo/article/details/70197915
*
* 期待你提交Bug欢迎Issues。
*
*/
#ifndef OEAMPLIFIER_H
#define OEAMPLIFIER_H
#include <memory>
#include <QWidget>
/**
* @class : OEAmplifier
* @brief : 放大取色器
* @note : 关于鼠标位置局部放大的操作以及色卡取值的操作
*/
class OEAmplifier : public QWidget
{
Q_OBJECT
public:
explicit OEAmplifier(std::shared_ptr<QPixmap> originPainting, QWidget *parent = 0);
signals:
public slots:
/**
* @brief : 大小修改
* @param : w 宽度
* @param : h 高度
* @date : 2017年4月29日
*/
void onSizeChange(int w, int h);
/**
* @brief : 大小修改
* @param : w 宽度
* @param : h 高度
* @date : 2017年4月29日
*/
void onPostionChange(int x, int y);
protected:
/**
* @brief : 窗口自绘事件
* @date : 2017年4月29日
*/
virtual void paintEvent(QPaintEvent *);
private:
/// 外部组件的大小信息
QSize screenSize_;
/// 鼠标的位置
QPoint cursorPoint_;
/// 取色放大器的边长
int sideLength_;
/// 放大区的高度
int imageHeight_;
/// 屏幕原画
std::shared_ptr<QPixmap> originPainting_;
};
#endif /// OEAMPLIFIER_H