Add path rendering.
This commit is contained in:
parent
f2ab532005
commit
97afa782a0
39 changed files with 1148 additions and 131 deletions
|
@ -1,5 +1,6 @@
|
|||
add_subdirectory(test_utils)
|
||||
|
||||
add_subdirectory(geometry)
|
||||
add_subdirectory(ui_controls)
|
||||
|
||||
file(COPY data/ DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/test_data)
|
||||
|
@ -11,7 +12,6 @@ set(TEST_MODULES
|
|||
core
|
||||
database
|
||||
fonts
|
||||
geometry
|
||||
graphics
|
||||
image
|
||||
ipc
|
||||
|
|
|
@ -1,11 +1,13 @@
|
|||
set(MODULE_NAME geometry)
|
||||
|
||||
set(GEOMETRY_UNIT_TEST_FILES
|
||||
geometry/TestGeometryCollection.cpp
|
||||
geometry/TestGrid.cpp
|
||||
PARENT_SCOPE
|
||||
)
|
||||
list(APPEND UNIT_TEST_FILES
|
||||
TestGeometryCollection.cpp
|
||||
TestGrid.cpp
|
||||
TestPath.cpp
|
||||
)
|
||||
|
||||
set(GEOMETRY_UNIT_TEST_DEPENDENCIES
|
||||
geometry
|
||||
PARENT_SCOPE
|
||||
)
|
||||
set(UNIT_TEST_TARGET_NAME ${MODULE_NAME}_unit_tests)
|
||||
|
||||
add_executable(${UNIT_TEST_TARGET_NAME} ${CMAKE_SOURCE_DIR}/test/test_runner.cpp ${UNIT_TEST_FILES})
|
||||
target_link_libraries(${UNIT_TEST_TARGET_NAME} PUBLIC test_utils geometry)
|
||||
set_property(TARGET ${UNIT_TEST_TARGET_NAME} PROPERTY FOLDER test/${MODULE_NAME})
|
10
test/geometry/TestPath.cpp
Normal file
10
test/geometry/TestPath.cpp
Normal file
|
@ -0,0 +1,10 @@
|
|||
#include "TestFramework.h"
|
||||
#include "TestUtils.h"
|
||||
|
||||
#include "Path.h"
|
||||
|
||||
TEST_CASE(TestPath, "geometry")
|
||||
{
|
||||
GeometryPath path;
|
||||
path.buildFromPostscript("M11 39h7.5V26.5h11V39H37V19.5L24 9.75 11 19.5Zm-3 3V18L24 6l16 12v24H26.5V29.5h-5V42Zm16-17.65Z");
|
||||
};
|
|
@ -6,14 +6,16 @@
|
|||
#include "SvgWriter.h"
|
||||
|
||||
#include "SvgNode.h"
|
||||
#include "MediaResourceManager.h"
|
||||
|
||||
TEST_CASE(TestSvgToNodeConverter, "publishing")
|
||||
|
||||
TEST_CASE(TestSvgToNodeConverter_Circles, "publishing")
|
||||
{
|
||||
SvgReader svg_reader;
|
||||
auto svg_doc = svg_reader.read(TestUtils::getTestDataDir() / "circles.svg");
|
||||
|
||||
SvgWriter svg_writer;
|
||||
svg_writer.toFile(TestUtils::getTestOutputDir(__FILE__) / "TestSvgToNodeConverter.svg", svg_doc.get());
|
||||
svg_writer.toFile(TestUtils::getTestOutputDir(__FILE__) / "TestSvgToNodeConverter_Circles.svg", svg_doc.get());
|
||||
|
||||
TestRenderer renderer;
|
||||
|
||||
|
@ -21,5 +23,21 @@ TEST_CASE(TestSvgToNodeConverter, "publishing")
|
|||
svg_node->setContent(std::move(svg_doc));
|
||||
renderer.getScene()->addNode(svg_node.get());
|
||||
|
||||
renderer.write(TestUtils::getTestOutputDir(__FILE__) / "TestSvgToNodeConverter.png");
|
||||
renderer.write(TestUtils::getTestOutputDir(__FILE__) / "TestSvgToNodeConverter_Circles.png");
|
||||
}
|
||||
|
||||
TEST_CASE(TestSvgToNodeConverter_Path, "publishing")
|
||||
{
|
||||
SvgReader svg_reader;
|
||||
auto svg_doc = svg_reader.read(MediaResourceManager::getSvgIconPath(Resource::Icon::Svg::HOME_MEDIUM));
|
||||
|
||||
auto svg_node = std::make_unique<SvgNode>(Point(0.0, 0.0));
|
||||
svg_node->setContent(std::move(svg_doc));
|
||||
|
||||
TestRenderer renderer;
|
||||
renderer.getScene()->addNode(svg_node.get());
|
||||
|
||||
renderer.writeSvg(TestUtils::getTestOutputDir(__FILE__) / "TestSvgToNodeConverter_Path.svg");
|
||||
|
||||
renderer.write(TestUtils::getTestOutputDir(__FILE__) / "TestSvgToNodTestSvgToNodeConverter_PathConverter.png");
|
||||
}
|
|
@ -7,6 +7,7 @@
|
|||
#include "MouseEvent.h"
|
||||
|
||||
#include "VerticalSpacer.h"
|
||||
#include "MediaResources.h"
|
||||
|
||||
#include "Button.h"
|
||||
|
||||
|
@ -20,7 +21,9 @@ TEST_CASE(TestButton_Elevated, "ui_controls")
|
|||
|
||||
auto enabled_button = Button::Create(ButtonData::Component::Elevated);
|
||||
enabled_button->setLabel("Enabled");
|
||||
enabled_button->setSvgIcon(Resource::Icon::Svg::HOME_MEDIUM);
|
||||
|
||||
/*
|
||||
auto disabled_button = Button::Create(ButtonData::Component::Elevated);
|
||||
disabled_button->setEnabled(false);
|
||||
disabled_button->setLabel("Disabled");
|
||||
|
@ -28,9 +31,11 @@ TEST_CASE(TestButton_Elevated, "ui_controls")
|
|||
auto pressed_button = Button::Create(ButtonData::Component::Elevated);
|
||||
pressed_button->setLabel("Pressed");
|
||||
|
||||
*/
|
||||
|
||||
spacer.addWidget(std::move(enabled_button));
|
||||
spacer.addWidget(std::move(disabled_button));
|
||||
spacer.addWidget(std::move(pressed_button));
|
||||
//spacer.addWidget(std::move(disabled_button));
|
||||
//spacer.addWidget(std::move(pressed_button));
|
||||
|
||||
auto node = spacer.getRootNode();
|
||||
|
||||
|
@ -40,7 +45,7 @@ TEST_CASE(TestButton_Elevated, "ui_controls")
|
|||
auto mouse_event = MouseEvent::Create();
|
||||
mouse_event->setAction(MouseEvent::Action::Pressed);
|
||||
mouse_event->setClientLocation({ 250, 20 });
|
||||
spacer.onMouseEvent(mouse_event.get());
|
||||
//spacer.onMouseEvent(mouse_event.get());
|
||||
|
||||
auto paint_event = PaintEvent::Create(theme_manager.get(), nullptr);
|
||||
spacer.onPaintEvent(paint_event.get());
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue