Commit c53320d6 authored by Ilia Ryabokon's avatar Ilia Ryabokon

Circle and rectangular magnifier

parent 116f6f7d
...@@ -344,5 +344,7 @@ ...@@ -344,5 +344,7 @@
<file>images/download_open.png</file> <file>images/download_open.png</file>
<file>images/tab_mask.png</file> <file>images/tab_mask.png</file>
<file>images/duplicateDisabled.svg</file> <file>images/duplicateDisabled.svg</file>
<file>images/roundeRrectangle.svg</file>
<file>images/circle.svg</file>
</qresource> </qresource>
</RCC> </RCC>
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="26px" height="26px" viewBox="0 0 26 26" style="enable-background:new 0 0 26 26;" xml:space="preserve">
<circle style="fill:#CCCCCC;" cx="13" cy="13" r="13"/>
<circle style="fill:#999999;" cx="13" cy="13" r="11"/>
<circle style="fill:#FFFFFF;" cx="13" cy="13" r="7"/>
</svg>
<?xml version="1.0" encoding="iso-8859-1"?>
<!-- Generator: Adobe Illustrator 13.0.2, SVG Export Plug-In . SVG Version: 6.00 Build 14948) -->
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
width="26px" height="26px" viewBox="0 0 26 26" style="enable-background:new 0 0 26 26;" xml:space="preserve">
<circle style="fill:#CCCCCC;" cx="13" cy="13" r="13"/>
<circle style="fill:#999999;" cx="13" cy="13" r="11"/>
<rect rx="2" ry="2" x="4" y="9" style="fill:#FFFFFF;" width="18" height="8"/>
</svg>
...@@ -351,6 +351,7 @@ void UBSettings::init() ...@@ -351,6 +351,7 @@ void UBSettings::init()
appOnlineUserName = new UBSetting(this, "App", "OnlineUserName", ""); appOnlineUserName = new UBSetting(this, "App", "OnlineUserName", "");
boardShowToolsPalette = new UBSetting(this, "Board", "ShowToolsPalette", "false"); boardShowToolsPalette = new UBSetting(this, "Board", "ShowToolsPalette", "false");
magnifierDrawingMode = new UBSetting(this, "Board", "MagnifierDrawingMode", "0");
svgViewBoxMargin = new UBSetting(this, "SVG", "ViewBoxMargin", "50"); svgViewBoxMargin = new UBSetting(this, "SVG", "ViewBoxMargin", "50");
......
...@@ -372,6 +372,7 @@ class UBSettings : public QObject ...@@ -372,6 +372,7 @@ class UBSettings : public QObject
UBSetting* libIconSize; UBSetting* libIconSize;
UBSetting* magnifierDrawingMode;
public slots: public slots:
void setPenWidthIndex(int index); void setPenWidthIndex(int index);
......
...@@ -1947,6 +1947,7 @@ void UBGraphicsScene::addMagnifier(UBMagnifierParams params) ...@@ -1947,6 +1947,7 @@ void UBGraphicsScene::addMagnifier(UBMagnifierParams params)
connect(magniferControlViewWidget, SIGNAL(magnifierClose_Signal()), this, SLOT(closeMagnifier())); connect(magniferControlViewWidget, SIGNAL(magnifierClose_Signal()), this, SLOT(closeMagnifier()));
connect(magniferControlViewWidget, SIGNAL(magnifierZoomIn_Signal()), this, SLOT(zoomInMagnifier())); connect(magniferControlViewWidget, SIGNAL(magnifierZoomIn_Signal()), this, SLOT(zoomInMagnifier()));
connect(magniferControlViewWidget, SIGNAL(magnifierZoomOut_Signal()), this, SLOT(zoomOutMagnifier())); connect(magniferControlViewWidget, SIGNAL(magnifierZoomOut_Signal()), this, SLOT(zoomOutMagnifier()));
connect(magniferControlViewWidget, SIGNAL(magnifierDrawingModeChange_Signal(int)), this, SLOT(changeMagnifierMode(int)));
connect(magniferControlViewWidget, SIGNAL(magnifierResized_Signal(qreal)), this, SLOT(resizedMagnifier(qreal))); connect(magniferControlViewWidget, SIGNAL(magnifierResized_Signal(qreal)), this, SLOT(resizedMagnifier(qreal)));
setModified(true); setModified(true);
...@@ -2013,6 +2014,14 @@ void UBGraphicsScene::zoomOutMagnifier() ...@@ -2013,6 +2014,14 @@ void UBGraphicsScene::zoomOutMagnifier()
} }
} }
void UBGraphicsScene::changeMagnifierMode(int mode)
{
if(magniferControlViewWidget)
magniferControlViewWidget->setDrawingMode(mode);
if(magniferDisplayViewWidget)
magniferDisplayViewWidget->setDrawingMode(mode);
}
void UBGraphicsScene::resizedMagnifier(qreal newPercent) void UBGraphicsScene::resizedMagnifier(qreal newPercent)
{ {
if(newPercent > 18 && newPercent < 50) if(newPercent > 18 && newPercent < 50)
......
...@@ -346,6 +346,7 @@ public slots: ...@@ -346,6 +346,7 @@ public slots:
void closeMagnifier(); void closeMagnifier();
void zoomInMagnifier(); void zoomInMagnifier();
void zoomOutMagnifier(); void zoomOutMagnifier();
void changeMagnifierMode(int mode);
void resizedMagnifier(qreal newPercent); void resizedMagnifier(qreal newPercent);
protected: protected:
......
This diff is collapsed.
...@@ -42,16 +42,26 @@ public : ...@@ -42,16 +42,26 @@ public :
class UBMagnifier : public QWidget class UBMagnifier : public QWidget
{ {
Q_OBJECT Q_OBJECT
public:
enum DrawingMode
{
circular = 0,
rectangular,
modesCount // should me last.
};
public: public:
UBMagnifier(QWidget *parent = 0, bool isInteractive = false); UBMagnifier(QWidget *parent = 0, bool isInteractive = false);
~UBMagnifier(); ~UBMagnifier();
void setSize(qreal percentFromScene); void setSize(qreal percentFromScene);
void createMask();
void setZoom(qreal zoom); void setZoom(qreal zoom);
void setGrabView(QWidget *view); void setGrabView(QWidget *view);
void setMoveView(QWidget *view) {mView = view;} void setMoveView(QWidget *view) {mView = view;}
void setDrawingMode(int mode);
void grabPoint(); void grabPoint();
void grabPoint(const QPoint &point); void grabPoint(const QPoint &point);
...@@ -65,10 +75,13 @@ signals: ...@@ -65,10 +75,13 @@ signals:
void magnifierZoomIn_Signal(); void magnifierZoomIn_Signal();
void magnifierZoomOut_Signal(); void magnifierZoomOut_Signal();
void magnifierResized_Signal(qreal newPercentSize); void magnifierResized_Signal(qreal newPercentSize);
void magnifierDrawingModeChange_Signal(int mode);
public slots: public slots:
void slot_refresh(); void slot_refresh();
private:
void calculateButtonsPositions();
protected: protected:
void paintEvent(QPaintEvent *); void paintEvent(QPaintEvent *);
...@@ -81,17 +94,25 @@ protected: ...@@ -81,17 +94,25 @@ protected:
bool mShouldMoveWidget; bool mShouldMoveWidget;
bool mShouldResizeWidget; bool mShouldResizeWidget;
int m_iButtonInterval;
QPixmap *sClosePixmap; QPixmap *sClosePixmap;
QRect sClosePixmapButtonRect;
QPixmap *sIncreasePixmap; QPixmap *sIncreasePixmap;
QRect sIncreasePixmapButtonRect;
QPixmap *sDecreasePixmap; QPixmap *sDecreasePixmap;
QRect sDecreasePixmapButtonRect;
QPixmap *sChangeModePixmap;
QRect sChangeModePixmapButtonRect;
QPixmap *mResizeItem; QPixmap *mResizeItem;
QRect mResizeItemButtonRect;
bool isCusrsorAlreadyStored; bool isCusrsorAlreadyStored;
QCursor mOldCursor; QCursor mOldCursor;
QCursor mResizeCursor; QCursor mResizeCursor;
private: private:
DrawingMode mDrawingMode;
QTimer mRefreshTimer; QTimer mRefreshTimer;
bool m_isInteractive; bool m_isInteractive;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment