|
Shinya Kitaoka |
810553 |
#pragma once
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#ifndef RULER_INCLUDED
|
|
Toshihiro Shimizu |
890ddd |
#define RULER_INCLUDED
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#include <qwidget></qwidget>
|
|
Toshihiro Shimizu |
890ddd |
#include "toonz/sceneproperties.h"
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
// forward declaration
|
|
Toshihiro Shimizu |
890ddd |
class SceneViewer;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
//=============================================================================
|
|
Toshihiro Shimizu |
890ddd |
// Ruler
|
|
Toshihiro Shimizu |
890ddd |
//-----------------------------------------------------------------------------
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
/*! La classe si occupa della visualizzazione e della gestione
|
|
Toshihiro Shimizu |
890ddd |
di una linea guida (puo' essere orizzontale o verticale)
|
|
Toshihiro Shimizu |
890ddd |
*/
|
|
Shinya Kitaoka |
d1f6c4 |
class Ruler final : public QWidget {
|
|
Shinya Kitaoka |
120a6e |
Q_OBJECT
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QColor m_parentBgColor;
|
|
Shinya Kitaoka |
120a6e |
Q_PROPERTY(QColor ParentBGColor READ getParentBGColor WRITE setParentBGColor)
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
QColor m_scaleColor;
|
|
Shinya Kitaoka |
120a6e |
Q_PROPERTY(QColor ScaleColor READ getScaleColor WRITE setScaleColor)
|
|
Toshihiro Shimizu |
890ddd |
|
|
Kite |
521c84 |
QColor m_borderColor;
|
|
Kite |
521c84 |
Q_PROPERTY(QColor BorderColor READ getBorderColor WRITE setBorderColor)
|
|
Kite |
521c84 |
|
|
Kite |
521c84 |
QColor m_handleColor;
|
|
Kite |
521c84 |
Q_PROPERTY(QColor HandleColor READ getHandleColor WRITE setHandleColor)
|
|
Kite |
521c84 |
|
|
Kite |
521c84 |
QColor m_handleDragColor;
|
|
Kite |
521c84 |
Q_PROPERTY(
|
|
Kite |
521c84 |
QColor HandleDragColor READ getHandleDragColor WRITE setHandleDragColor)
|
|
Kite |
521c84 |
|
|
Shinya Kitaoka |
120a6e |
void setParentBGColor(const QColor &color) { m_parentBgColor = color; }
|
|
Shinya Kitaoka |
120a6e |
QColor getParentBGColor() const { return m_parentBgColor; }
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void setScaleColor(const QColor &color) { m_scaleColor = color; }
|
|
Shinya Kitaoka |
120a6e |
QColor getScaleColor() const { return m_scaleColor; }
|
|
Toshihiro Shimizu |
890ddd |
|
|
Kite |
521c84 |
void setBorderColor(const QColor &color) { m_borderColor = color; }
|
|
Kite |
521c84 |
QColor getBorderColor() const { return m_borderColor; }
|
|
Kite |
521c84 |
|
|
Kite |
521c84 |
void setHandleColor(const QColor &color) { m_handleColor = color; }
|
|
Kite |
521c84 |
QColor getHandleColor() const { return m_handleColor; }
|
|
Kite |
521c84 |
|
|
Kite |
521c84 |
void setHandleDragColor(const QColor &color) { m_handleDragColor = color; }
|
|
Kite |
521c84 |
QColor getHandleDragColor() const { return m_handleDragColor; }
|
|
Kite |
521c84 |
|
|
Shinya Kitaoka |
120a6e |
SceneViewer *m_viewer;
|
|
Shinya Kitaoka |
120a6e |
bool m_vertical;
|
|
Shinya Kitaoka |
120a6e |
bool m_moving;
|
|
Shinya Kitaoka |
120a6e |
bool m_hiding;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
typedef TSceneProperties::Guides Guides;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
public:
|
|
Shinya Kitaoka |
120a6e |
Ruler(QWidget *parent, SceneViewer *viewer, bool vertical);
|
|
Shinya Kitaoka |
120a6e |
Guides &getGuides() const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
int getGuideCount() const;
|
|
Shinya Kitaoka |
120a6e |
double getGuide(int index) const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
double getUnit() const;
|
|
Shinya Kitaoka |
120a6e |
void getIndices(double origin, double iunit, int size, int &i0, int &i1,
|
|
Shinya Kitaoka |
120a6e |
int &ic) const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
double getZoomScale() const;
|
|
Shinya Kitaoka |
120a6e |
double getPan() const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
void drawVertical(QPainter &);
|
|
Shinya Kitaoka |
120a6e |
void drawHorizontal(QPainter &);
|
|
Shinya Kitaoka |
473e70 |
void paintEvent(QPaintEvent *) override;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
120a6e |
double posToValue(const QPoint &p) const;
|
|
Toshihiro Shimizu |
890ddd |
|
|
Shinya Kitaoka |
473e70 |
void mousePressEvent(QMouseEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void mouseMoveEvent(QMouseEvent *e) override;
|
|
Shinya Kitaoka |
473e70 |
void mouseReleaseEvent(QMouseEvent *e) override;
|
|
shun-iwasawa |
86528d |
void contextMenuEvent(QContextMenuEvent *event) override;
|
|
Toshihiro Shimizu |
890ddd |
};
|
|
Toshihiro Shimizu |
890ddd |
|
|
Toshihiro Shimizu |
890ddd |
#endif
|