summaryrefslogtreecommitdiff
path: root/src/gui/tikzview.cpp
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-07-20 11:13:42 +0200
committerAleks Kissinger <aleks0@gmail.com>2018-07-20 11:13:42 +0200
commitc7f79b3a9878dafc4088f170964264dff839f502 (patch)
tree1ef286f50d758ab739b7747418d76c1377176964 /src/gui/tikzview.cpp
parent329da8795d9a9183830d0c4e0e22ea08d546a4f7 (diff)
...
Diffstat (limited to 'src/gui/tikzview.cpp')
-rw-r--r--src/gui/tikzview.cpp256
1 files changed, 128 insertions, 128 deletions
diff --git a/src/gui/tikzview.cpp b/src/gui/tikzview.cpp
index f0084fb..6cdb17c 100644
--- a/src/gui/tikzview.cpp
+++ b/src/gui/tikzview.cpp
@@ -1,128 +1,128 @@
-/*
- TikZiT - a GUI diagram editor for TikZ
- Copyright (C) 2018 Aleks Kissinger
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <https://www.gnu.org/licenses/>.
-*/
-
-#include "tikzview.h"
-#include "tikzit.h"
-
-#include <QDebug>
-#include <QScrollBar>
-
-TikzView::TikzView(QWidget *parent) : QGraphicsView(parent)
-{
- setRenderHint(QPainter::Antialiasing);
- //setDragMode(QGraphicsView::RubberBandDrag);
-
- _scale = 1.0f;
-}
-
-void TikzView::zoomIn()
-{
- _scale *= 1.6f;
- scale(1.6,1.6);
-}
-
-void TikzView::zoomOut()
-{
- _scale *= 0.625f;
- scale(0.625,0.625);
-}
-
-void TikzView::setScene(QGraphicsScene *scene)
-{
- QGraphicsView::setScene(scene);
- centerOn(QPointF(0.0f,-230.0f));
-}
-
-void TikzView::drawBackground(QPainter *painter, const QRectF &rect)
-{
- // draw a gray background if disabled
- TikzScene *sc = static_cast<TikzScene*>(scene());
- if (!sc->enabled()) painter->fillRect(rect, QBrush(QColor(240,240,240)));
-
- // draw the grid
-
- QPen pen1;
- //pen1.setWidthF(0.5);
- pen1.setCosmetic(true);
- pen1.setColor(QColor(250,250,255));
-
- QPen pen2 = pen1;
- pen2.setColor(QColor(240,240,250));
-
- QPen pen3 = pen1;
- pen3.setColor(QColor(220,220,240));
-
- painter->setPen(pen1);
-
- if (_scale > 0.2f) {
- for (int x = -GRID_SEP; x > rect.left(); x -= GRID_SEP) {
- if (x % (GRID_SEP * GRID_N) != 0) {
- qreal xf = (qreal)x;
- painter->drawLine(xf, rect.top(), xf, rect.bottom());
- }
- }
-
- for (int x = GRID_SEP; x < rect.right(); x += GRID_SEP) {
- if (x % (GRID_SEP * GRID_N) != 0) {
- qreal xf = (qreal)x;
- painter->drawLine(xf, rect.top(), xf, rect.bottom());
- }
- }
-
- for (int y = -GRID_SEP; y > rect.top(); y -= GRID_SEP) {
- if (y % (GRID_SEP * GRID_N) != 0) {
- qreal yf = (qreal)y;
- painter->drawLine(rect.left(), yf, rect.right(), yf);
- }
- }
-
- for (int y = GRID_SEP; y < rect.bottom(); y += GRID_SEP) {
- if (y % (GRID_SEP * GRID_N) != 0) {
- qreal yf = (qreal)y;
- painter->drawLine(rect.left(), yf, rect.right(), yf);
- }
- }
- }
-
- painter->setPen(pen2);
-
- for (int x = -GRID_SEP*GRID_N; x > rect.left(); x -= GRID_SEP*GRID_N) {
- qreal xf = (qreal)x;
- painter->drawLine(xf, rect.top(), xf, rect.bottom());
- }
-
- for (int x = GRID_SEP*GRID_N; x < rect.right(); x += GRID_SEP*GRID_N) {
- qreal xf = (qreal)x;
- painter->drawLine(xf, rect.top(), xf, rect.bottom());
- }
-
- for (int y = -GRID_SEP*GRID_N; y > rect.top(); y -= GRID_SEP*GRID_N) {
- qreal yf = (qreal)y;
- painter->drawLine(rect.left(), yf, rect.right(), yf);
- }
-
- for (int y = GRID_SEP*GRID_N; y < rect.bottom(); y += GRID_SEP*GRID_N) {
- qreal yf = (qreal)y;
- painter->drawLine(rect.left(), yf, rect.right(), yf);
- }
-
- painter->setPen(pen3);
- painter->drawLine(rect.left(), 0, rect.right(), 0);
- painter->drawLine(0, rect.top(), 0, rect.bottom());
-}
-
+/*
+ TikZiT - a GUI diagram editor for TikZ
+ Copyright (C) 2018 Aleks Kissinger
+
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 3 of the License, or
+ (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+*/
+
+#include "tikzview.h"
+#include "tikzit.h"
+
+#include <QDebug>
+#include <QScrollBar>
+
+TikzView::TikzView(QWidget *parent) : QGraphicsView(parent)
+{
+ setRenderHint(QPainter::Antialiasing);
+ //setDragMode(QGraphicsView::RubberBandDrag);
+
+ _scale = 1.0f;
+}
+
+void TikzView::zoomIn()
+{
+ _scale *= 1.6f;
+ scale(1.6,1.6);
+}
+
+void TikzView::zoomOut()
+{
+ _scale *= 0.625f;
+ scale(0.625,0.625);
+}
+
+void TikzView::setScene(QGraphicsScene *scene)
+{
+ QGraphicsView::setScene(scene);
+ centerOn(QPointF(0.0f,-230.0f));
+}
+
+void TikzView::drawBackground(QPainter *painter, const QRectF &rect)
+{
+ // draw a gray background if disabled
+ TikzScene *sc = static_cast<TikzScene*>(scene());
+ if (!sc->enabled()) painter->fillRect(rect, QBrush(QColor(240,240,240)));
+
+ // draw the grid
+
+ QPen pen1;
+ //pen1.setWidthF(0.5);
+ pen1.setCosmetic(true);
+ pen1.setColor(QColor(250,250,255));
+
+ QPen pen2 = pen1;
+ pen2.setColor(QColor(240,240,250));
+
+ QPen pen3 = pen1;
+ pen3.setColor(QColor(220,220,240));
+
+ painter->setPen(pen1);
+
+ if (_scale > 0.2f) {
+ for (int x = -GRID_SEP; x > rect.left(); x -= GRID_SEP) {
+ if (x % (GRID_SEP * GRID_N) != 0) {
+ qreal xf = (qreal)x;
+ painter->drawLine(xf, rect.top(), xf, rect.bottom());
+ }
+ }
+
+ for (int x = GRID_SEP; x < rect.right(); x += GRID_SEP) {
+ if (x % (GRID_SEP * GRID_N) != 0) {
+ qreal xf = (qreal)x;
+ painter->drawLine(xf, rect.top(), xf, rect.bottom());
+ }
+ }
+
+ for (int y = -GRID_SEP; y > rect.top(); y -= GRID_SEP) {
+ if (y % (GRID_SEP * GRID_N) != 0) {
+ qreal yf = (qreal)y;
+ painter->drawLine(rect.left(), yf, rect.right(), yf);
+ }
+ }
+
+ for (int y = GRID_SEP; y < rect.bottom(); y += GRID_SEP) {
+ if (y % (GRID_SEP * GRID_N) != 0) {
+ qreal yf = (qreal)y;
+ painter->drawLine(rect.left(), yf, rect.right(), yf);
+ }
+ }
+ }
+
+ painter->setPen(pen2);
+
+ for (int x = -GRID_SEP*GRID_N; x > rect.left(); x -= GRID_SEP*GRID_N) {
+ qreal xf = (qreal)x;
+ painter->drawLine(xf, rect.top(), xf, rect.bottom());
+ }
+
+ for (int x = GRID_SEP*GRID_N; x < rect.right(); x += GRID_SEP*GRID_N) {
+ qreal xf = (qreal)x;
+ painter->drawLine(xf, rect.top(), xf, rect.bottom());
+ }
+
+ for (int y = -GRID_SEP*GRID_N; y > rect.top(); y -= GRID_SEP*GRID_N) {
+ qreal yf = (qreal)y;
+ painter->drawLine(rect.left(), yf, rect.right(), yf);
+ }
+
+ for (int y = GRID_SEP*GRID_N; y < rect.bottom(); y += GRID_SEP*GRID_N) {
+ qreal yf = (qreal)y;
+ painter->drawLine(rect.left(), yf, rect.right(), yf);
+ }
+
+ painter->setPen(pen3);
+ painter->drawLine(rect.left(), 0, rect.right(), 0);
+ painter->drawLine(0, rect.top(), 0, rect.bottom());
+}
+