imovewindow.h 742 Bytes
#ifndef IMoveWindow_H
#define IMoveWindow_H

#include <QMouseEvent>
#include <QPoint>
#include <QCursor>
#include <QRect>
#include <QMainWindow>
#define PADDING 2


enum Direction{
    UP = 0,
    DOWN=1,
    LEFT,
    RIGHT,
    LEFTTOP,
    LEFTBOTTOM,
    RIGHTBOTTOM,
    RIGHTTOP,
    NONE
};
class IMoveWindow : public QMainWindow
{
    Q_OBJECT
    
public:
    explicit IMoveWindow(QWidget *parent = 0);
    ~IMoveWindow();
private:
    void region(const QPoint &cursorPoint);
protected:
    void mouseReleaseEvent(QMouseEvent *event);
    void mouseMoveEvent(QMouseEvent *event);
    void mousePressEvent(QMouseEvent *event);
private:
    bool isLeftPressDown;
    QPoint dragPosition;
    Direction dir;
};

#endif // IMoveWindow_H