diff --git a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp index 529d61b..3e5eff5 100644 --- a/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp +++ b/ArchitectureColoredPainting/src/Editor/EditorWidget.cpp @@ -29,7 +29,7 @@ EditorWidget::EditorWidget(QWidget *parent) : QWidget(parent) QJsonObject source = jsonDoc.object(); elementManager = new ElementManager(source,previewWindow->getRenderer()); layerManager = new LayerManager(source, elementManager); - previewWindow->initialize(layerManager); + previewWindow->initialize(layerManager,QSize(jsonDoc.object().value("width").toDouble(),jsonDoc.object().value("height").toDouble())); if (layerManager->getRoot() != nullptr) { treeWidget->addTopLevelItem(layerManager->getRoot()->qTreeItem); diff --git a/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp b/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp index ec42d82..9381eee 100644 --- a/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp +++ b/ArchitectureColoredPainting/src/Editor/GraphicElement.cpp @@ -46,7 +46,6 @@ PixelPath GroupElement::getPaintObject() const PixelPath SimpleElement::getPaintObject(std::vector styles) const { PixelPath result; Renderer::ElementStyleStrokeDemo demo(2); - qDebug() << (renderer == nullptr) << "------------"; auto [img, mov] = renderer->drawElement(painterPath, demo, 1.0, false); //qDebug() << img << " ------"; result.addImage(img, mov); diff --git a/ArchitectureColoredPainting/src/Editor/PixelPath.cpp b/ArchitectureColoredPainting/src/Editor/PixelPath.cpp index b729882..d813867 100644 --- a/ArchitectureColoredPainting/src/Editor/PixelPath.cpp +++ b/ArchitectureColoredPainting/src/Editor/PixelPath.cpp @@ -21,9 +21,15 @@ QRectF PixelPath::getBoundingRect() const { return boundingRect; } - +#include QPixmap PixelPath::getPixmap() const { + auto k = pixmap; + QPainter pt(&k); + qDebug() << this->boundingRect; + //pt.fillRect(this->boundingRect, Qt::red); + //pt.fillRect(QRectF(1013.35 - 1000, 768.327 - 700,58.0887,41.5352), Qt::blue); + return k; return pixmap; } diff --git a/ArchitectureColoredPainting/src/Editor/PixelPath.h b/ArchitectureColoredPainting/src/Editor/PixelPath.h index 204b74f..6d82af2 100644 --- a/ArchitectureColoredPainting/src/Editor/PixelPath.h +++ b/ArchitectureColoredPainting/src/Editor/PixelPath.h @@ -12,8 +12,8 @@ private: QPixmap pixmap; int w,h; public: - PixelPath(int w=1280, int h=720); - PixelPath(QPainterPath painterPath,int w = 1280, int h = 720); + PixelPath(int w=2400, int h= 2400); + PixelPath(QPainterPath painterPath,int w = 2400, int h = 2400); ~PixelPath() = default; QRectF getBoundingRect() const; QPixmap getPixmap() const; diff --git a/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp b/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp index 2c7767c..7a1bb65 100644 --- a/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp +++ b/ArchitectureColoredPainting/src/Editor/PreviewWindow.cpp @@ -12,8 +12,9 @@ PreviewWindow::PreviewWindow(QWidget *parent) : QOpenGLWidget(parent) layerManager = nullptr; } -void PreviewWindow::initialize(LayerManager *layerManager) +void PreviewWindow::initialize(LayerManager *layerManager,QSize windowSize) { + this->setFixedSize(windowSize); this->layerManager = layerManager; } diff --git a/ArchitectureColoredPainting/src/Editor/PreviewWindow.h b/ArchitectureColoredPainting/src/Editor/PreviewWindow.h index 0dea51b..b907d7f 100644 --- a/ArchitectureColoredPainting/src/Editor/PreviewWindow.h +++ b/ArchitectureColoredPainting/src/Editor/PreviewWindow.h @@ -21,7 +21,7 @@ class PreviewWindow : public QOpenGLWidget, protected QOpenGLFunctions public: PreviewWindow(QWidget *parent = nullptr); - void initialize(LayerManager *layerManager); + void initialize(LayerManager *layerManager, QSize windowSize = QSize(1920, 1080)); void show(); void initializeGL() override; void paintGL() override; diff --git a/ArchitectureColoredPainting/src/Editor/RightBar/InfoDisplayWidget.cpp b/ArchitectureColoredPainting/src/Editor/RightBar/InfoDisplayWidget.cpp index e3ecee9..d069285 100644 --- a/ArchitectureColoredPainting/src/Editor/RightBar/InfoDisplayWidget.cpp +++ b/ArchitectureColoredPainting/src/Editor/RightBar/InfoDisplayWidget.cpp @@ -44,27 +44,27 @@ void InfoDisplayWidget::generateLayerForm() QLineEdit *scaleX = new QLineEdit(QString::number(this->displayLayer->property.scale.x()), this); QLineEdit *scaleY = new QLineEdit(QString::number(this->displayLayer->property.scale.y()), this); name->setDisabled(true); - rotation->setValidator(new QIntValidator(-1000, 1000, this)); + rotation->setValidator(new QIntValidator(-10000, 10000, this)); connect(rotation, &QLineEdit::textChanged, [=](QString content) { this->displayLayer->property.rotation = content.toDouble(); emit requireRefreshPreview(); }); - offsetX->setValidator(new QIntValidator(-1000, 1000, this)); + offsetX->setValidator(new QIntValidator(-10000, 10000, this)); connect(offsetX, &QLineEdit::textChanged, [=](QString content) { this->displayLayer->property.offset = {content.toDouble(), this->displayLayer->property.offset.y()}; emit requireRefreshPreview(); }); - offsetY->setValidator(new QIntValidator(-1000, 1000, this)); + offsetY->setValidator(new QIntValidator(-10000, 10000, this)); connect(offsetY, &QLineEdit::textChanged, [=](QString content) { this->displayLayer->property.offset = {this->displayLayer->property.offset.x(), content.toDouble()}; emit requireRefreshPreview(); }); - scaleX->setValidator(new QDoubleValidator(0.01, 100, 4, this)); + scaleX->setValidator(new QDoubleValidator(0.001, 1000, 4, this)); connect(scaleX, &QLineEdit::textChanged, [=](QString content) { this->displayLayer->property.scale = {content.toDouble(), this->displayLayer->property.scale.y()}; emit requireRefreshPreview(); }); - scaleY->setValidator(new QDoubleValidator(0.01, 100, 4, this)); + scaleY->setValidator(new QDoubleValidator(0.001, 1000, 4, this)); connect(scaleY, &QLineEdit::textChanged, [=](QString content) { this->displayLayer->property.scale = {this->displayLayer->property.scale.x(), content.toDouble()}; emit requireRefreshPreview(); diff --git a/UnitTest/ElementRendererTest.cpp b/UnitTest/ElementRendererTest.cpp index f9c9538..fcb086a 100644 --- a/UnitTest/ElementRendererTest.cpp +++ b/UnitTest/ElementRendererTest.cpp @@ -14,6 +14,8 @@ namespace UnitTest public: TEST_METHOD(TestBothSidesRound) { + Logger::WriteMessage("In Class1"); + Assert::AreEqual(1 ,2); QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); diff --git a/data.json b/data.json index 20889e6..e8a7a0c 100644 --- a/data.json +++ b/data.json @@ -1,109 +1,38 @@ { - "height": 1080, - "width": 1080, - "elements": [ - { - "name": "ababa", - "type": "svg-file", - "data": { - "include": "./svg/2.svg" - } - }, - { - "name": "ababa-group", - "type": "group", - "data": { - "reference-layer": "0.0" - } - } - ], - "root-layer": { - "name": "root", - "transform": { - "offset": { - "x": 0, - "y": 0 - }, - "scale": { - "x": 1.0, - "y": 1.0 - }, + "height": 1080, + "width": 1920, + "elements": [ + { + "name": "ababa", + "type": "svg-file", + "data": { + "include": "./svg/12(1).svg" + } + }, + { + "name": "ababa-group", + "type": "group", + "data": { + "reference-layer": "0.0" + } + } + ], + "root-layer": { + "name": "root", + "transform": { + "offset": { + "x": 0, + "y": 0 + }, + "scale": { + "x": 0.5, + "y": 0.5 + }, "rotation": 0.0 - }, - "effects": [], - "is-folder": true, - "referenced-by": null, - "children": [ - { - "name": "GroupFolderExample", - "transform": { - "offset": { - "x": 50, - "y": 50 - }, - "scale": { - "x": 1.0, - "y": 1.0 - }, - "rotation": 0.0 - }, - "effects": [], - "is-folder": true, - "referenced-by": 1, - "children": [ - { - "name": "Leaf1", - "transform": { - "offset": { - "x": 0, - "y": 0 - }, - "scale": { - "x": 1.0, - "y": 1.0 - }, - "rotation": 0.0 - }, - "effects": [], - "is-folder": false, - "element": 0 - }, - { - "name": "Leaf2", - "transform": { - "offset": { - "x": 150, - "y": 0 - }, - "scale": { - "x": 1.5, - "y": 1.5 - }, - "rotation": 0.0 - }, - "effects": [], - "is-folder": false, - "element": 0 - } - ] - }, - { - "name": "ReferencingGroupLayer", - "transform": { - "offset": { - "x": 100, - "y": 0 - }, - "scale": { - "x": 1, - "y": 1 - }, - "rotation": 45 - }, - "effects": [], - "is-folder": false, - "element": 1 - } - ] - } -} \ No newline at end of file + }, + "effects": [], + "is-folder": false, + "element": 0 + } + +} diff --git a/svg/12(1).svg b/svg/12(1).svg new file mode 100644 index 0000000..d7ebd10 --- /dev/null +++ b/svg/12(1).svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/svg/12.svg b/svg/12.svg new file mode 100644 index 0000000..d16fc67 --- /dev/null +++ b/svg/12.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file