94 lines
2.2 KiB
C++
94 lines
2.2 KiB
C++
/**
|
||
* @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
|