-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathqyklabel.h
88 lines (63 loc) · 2.39 KB
/
qyklabel.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
#ifndef QYKLABEL_H
#define QYKLABEL_H
#include <QLabel>
#include <QMouseEvent>
#include <QRect>
#include <vector>
class YK16GrayImage;
class AG17RGBAImage;
class qyklabel : public QLabel
{
Q_OBJECT
public:
YK16GrayImage* m_pYK16Image;
AG17RGBAImage* m_pRGBAImage;
QRect m_Rt;
std::vector<QPoint> m_vPt;
bool m_bDrawPoints;
int m_iMouseWheelDelta;
bool m_bFocusIn;
public:
qyklabel(QWidget *parent);
~qyklabel();
bool isFocusIn() {return m_bFocusIn;}
// virtual function reimplementation
void mousePressEvent(QMouseEvent *ev); //ev->buttons() == Qt::LeftButton
void mouseMoveEvent(QMouseEvent *ev);
void mouseReleaseEvent(QMouseEvent *ev);
void wheelEvent(QWheelEvent * event); //this->setText("Delta Value: "+QString::number(event->delta()));
//void keyPressEvent ( QKeyEvent *ev);
//void focusInEvent ( QFocusEvent * ev );
//void focusOutEvent ( QFocusEvent * ev );
void enterEvent (QEvent *);
void leaveEvent(QEvent *);
int x,y;
void SetBaseImage(YK16GrayImage* pYKImage);
void SetOverlayImage(AG17RGBAImage* pRGBAQImage);
//void ConvertAndCopyPoints(vector<QPoint>& vSrcPoint);
void ConvertAndCopyPoints(std::vector<QPoint>& vSrcPoint, int iDataWidth, int iDataHeight);
QPoint View2Data(QPoint viewPt, int viewWidth, int viewHeight, int dataWidth, int dataHeight);
QPoint View2DataExt(QPoint viewPt, int viewWidth, int viewHeight, int dataWidth, int dataHeight, QPoint ptDataOffset, double fUserZoom);
QPoint Data2View(QPoint dataPt, int viewWidth, int viewHeight, int dataWidth, int dataHeight);
QPoint Data2ViewExt(QPoint dataPt, int viewWidth, int viewHeight, int dataWidth, int dataHeight, QPoint ptDataOffset, double fUserZoom);
QPoint GetDataPtFromMousePos(); //Return data position of the mouse position.m_pYK16 image is mandatory
QPoint GetDataPtFromViewPt(int viewPtX, int viewPtY);
QPoint GetViewPtFromDataPt(int dataPtX, int dataPtY);
protected:
void paintEvent(QPaintEvent *);
signals:
void Mouse_Pressed_Left();
void Mouse_Pressed_Right();
void Mouse_Move();
void Mouse_Released_Left();
void Mouse_Released_Right();
void Mouse_Wheel();
void FocusIn();
void FocusOut();
//void ArrowPressed(int arrowDirection);// 0: Left, 1: Upward, 2: Right, 3: Downward
//void OutFromWindow();
public slots:
void SetDrawPointToggle(bool bToggle);
private:
};
#endif // QYKLABEL_H