Commit c53320d6 authored by Ilia Ryabokon's avatar Ilia Ryabokon

Circle and rectangular magnifier

parent 116f6f7d
......@@ -344,5 +344,7 @@
<file>images/download_open.png</file>
<file>images/tab_mask.png</file>
<file>images/duplicateDisabled.svg</file>
<file>images/roundeRrectangle.svg</file>
<file>images/circle.svg</file>
</qresource>
</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()
appOnlineUserName = new UBSetting(this, "App", "OnlineUserName", "");
boardShowToolsPalette = new UBSetting(this, "Board", "ShowToolsPalette", "false");
magnifierDrawingMode = new UBSetting(this, "Board", "MagnifierDrawingMode", "0");
svgViewBoxMargin = new UBSetting(this, "SVG", "ViewBoxMargin", "50");
......
......@@ -372,6 +372,7 @@ class UBSettings : public QObject
UBSetting* libIconSize;
UBSetting* magnifierDrawingMode;
public slots:
void setPenWidthIndex(int index);
......
......@@ -1947,6 +1947,7 @@ void UBGraphicsScene::addMagnifier(UBMagnifierParams params)
connect(magniferControlViewWidget, SIGNAL(magnifierClose_Signal()), this, SLOT(closeMagnifier()));
connect(magniferControlViewWidget, SIGNAL(magnifierZoomIn_Signal()), this, SLOT(zoomInMagnifier()));
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)));
setModified(true);
......@@ -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)
{
if(newPercent > 18 && newPercent < 50)
......
......@@ -346,6 +346,7 @@ public slots:
void closeMagnifier();
void zoomInMagnifier();
void zoomOutMagnifier();
void changeMagnifierMode(int mode);
void resizedMagnifier(qreal newPercent);
protected:
......
This diff is collapsed.
......@@ -42,16 +42,26 @@ public :
class UBMagnifier : public QWidget
{
Q_OBJECT
public:
enum DrawingMode
{
circular = 0,
rectangular,
modesCount // should me last.
};
public:
UBMagnifier(QWidget *parent = 0, bool isInteractive = false);
~UBMagnifier();
void setSize(qreal percentFromScene);
void createMask();
void setZoom(qreal zoom);
void setGrabView(QWidget *view);
void setMoveView(QWidget *view) {mView = view;}
void setDrawingMode(int mode);
void grabPoint();
void grabPoint(const QPoint &point);
......@@ -65,10 +75,13 @@ signals:
void magnifierZoomIn_Signal();
void magnifierZoomOut_Signal();
void magnifierResized_Signal(qreal newPercentSize);
void magnifierDrawingModeChange_Signal(int mode);
public slots:
void slot_refresh();
private:
void calculateButtonsPositions();
protected:
void paintEvent(QPaintEvent *);
......@@ -81,17 +94,25 @@ protected:
bool mShouldMoveWidget;
bool mShouldResizeWidget;
int m_iButtonInterval;
QPixmap *sClosePixmap;
QRect sClosePixmapButtonRect;
QPixmap *sIncreasePixmap;
QRect sIncreasePixmapButtonRect;
QPixmap *sDecreasePixmap;
QRect sDecreasePixmapButtonRect;
QPixmap *sChangeModePixmap;
QRect sChangeModePixmapButtonRect;
QPixmap *mResizeItem;
QRect mResizeItemButtonRect;
bool isCusrsorAlreadyStored;
QCursor mOldCursor;
QCursor mResizeCursor;
private:
DrawingMode mDrawingMode;
QTimer mRefreshTimer;
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