#include "CppUnitTest.h" #include #include #include "ElementRendererTest.h" #include "Renderer/Painting/ElementStyle.h" using namespace Microsoft::VisualStudio::CppUnitTestFramework; using namespace Renderer; namespace UnitTest { TEST_CLASS(ElementRendererTest) { public: TEST_METHOD(TestStrokePlain) { QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); char* argv[] = { (char*)"" }; int argc = 1; QApplication a(argc, argv); Renderer::ElementStyleStrokeDemo style(2); TestGLWidget w(style); w.show(); a.exec(); } TEST_METHOD(TestStrokeRadialGradient1) { QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); char* argv[] = { (char*)"" }; int argc = 1; QApplication a(argc, argv); class StyleStrokeRadialGradient : public Renderer::ElementStyle { virtual std::vector toBaseStyles() const override { std::map materialMap = { {0.25, Material{QColor(255,0,0)}}, {0.50, Material{QColor(0,255,0)}}, {0.75, Material{QColor(0,0,255)}}, {1.00, Material{QColor(255,255,0)}}, }; return { BaseStyle(std::make_shared(), std::make_shared(4, StrokeType::kLeftSide, StrokeEndType::kRound, std::make_shared(materialMap, false))) }; } } style; TestGLWidget w(style); w.show(); a.exec(); } TEST_METHOD(TestStrokeRadialGradient2) { QGuiApplication::setAttribute(Qt::AA_EnableHighDpiScaling); QCoreApplication::setAttribute(Qt::AA_UseHighDpiPixmaps); QApplication::setHighDpiScaleFactorRoundingPolicy(Qt::HighDpiScaleFactorRoundingPolicy::PassThrough); char* argv[] = { (char*)"" }; int argc = 1; QApplication a(argc, argv); class StyleStrokeRadialGradient : public Renderer::ElementStyle { virtual std::vector toBaseStyles() const override { std::map materialMap = { {0.50, Material{QColor(0,255,0)}}, {0.75, Material{QColor(0,0,255)}}, {1.00, Material{QColor(255,255,0)}}, }; return { BaseStyle(std::make_shared(), std::make_shared(4, StrokeType::kLeftSide, StrokeEndType::kRound, std::make_shared(materialMap, true))) }; } } style; TestGLWidget w(style); w.show(); a.exec(); } }; }