From 6d02137dca0080320b63d667eddb312d812757ce Mon Sep 17 00:00:00 2001 From: Ilusha <63184036+IlyaShurupov@users.noreply.github.com> Date: Tue, 19 Mar 2024 20:17:47 +0300 Subject: [PATCH] tmp --- Graphics/examples/Example.cpp | 17 ++++++++-- Graphics/private/GraphicApplication.cpp | 8 +---- Graphics/public/GraphicApplication.hpp | 3 -- Widgets/CMakeLists.txt | 2 +- Widgets/examples/Entry.cpp | 44 +++++++++++-------------- Widgets/public/SplitViewWidget.hpp | 4 +-- Widgets/public/WidgetConfig.hpp | 2 ++ 7 files changed, 40 insertions(+), 40 deletions(-) diff --git a/Graphics/examples/Example.cpp b/Graphics/examples/Example.cpp index 15d7297..935a1c4 100644 --- a/Graphics/examples/Example.cpp +++ b/Graphics/examples/Example.cpp @@ -1,6 +1,5 @@ #include "GraphicApplication.hpp" - #include "imgui.h" using namespace tp; @@ -22,6 +21,18 @@ public: }; int main() { - ExampleApplication app; - app.run(); + + ModuleManifest* deps[] = { &gModuleGraphics, nullptr }; + ModuleManifest module("Eample", nullptr, nullptr, deps); + + if (!module.initialize()) { + return 1; + } + + { + ExampleApplication app; + app.run(); + } + + module.deinitialize(); } diff --git a/Graphics/private/GraphicApplication.cpp b/Graphics/private/GraphicApplication.cpp index 0fb2e43..6e20c8a 100644 --- a/Graphics/private/GraphicApplication.cpp +++ b/Graphics/private/GraphicApplication.cpp @@ -3,11 +3,7 @@ using namespace tp; -Application::Application() : - mApplicationModule("Application", nullptr, nullptr, mModuleDeps) { - mInitialized = mApplicationModule.initialize(); - if (!mInitialized) return; - +Application::Application() { mWindow = Window::createWindow(); mDrawTimer.setDuration(1000.f / mDrawPerSecond); @@ -83,7 +79,5 @@ void Application::drawFrame(Canvas* canvas) { } Application::~Application() { - if (!mInitialized) return; Window::destroyWindow(mWindow); - mApplicationModule.deinitialize(); } \ No newline at end of file diff --git a/Graphics/public/GraphicApplication.hpp b/Graphics/public/GraphicApplication.hpp index 28e9fee..1fed5bf 100644 --- a/Graphics/public/GraphicApplication.hpp +++ b/Graphics/public/GraphicApplication.hpp @@ -18,9 +18,6 @@ namespace tp { virtual ~Application(); protected: - ModuleManifest* mModuleDeps[2] = { &gModuleGraphics, nullptr }; - ModuleManifest mApplicationModule; - Window* mWindow = nullptr; bool mInitialized = false; diff --git a/Widgets/CMakeLists.txt b/Widgets/CMakeLists.txt index 4253461..8a66ffa 100644 --- a/Widgets/CMakeLists.txt +++ b/Widgets/CMakeLists.txt @@ -6,7 +6,7 @@ file(GLOB HEADERS "./public/*.hpp") add_library(${PROJECT_NAME} STATIC ${SOURCES} ${HEADERS}) target_include_directories(${PROJECT_NAME} PUBLIC ./public/) -target_link_libraries(${PROJECT_NAME} PUBLIC Math Strings) +target_link_libraries(${PROJECT_NAME} PUBLIC Math Graphics Strings) ### -------------------------- Tests -------------------------- ### enable_testing() diff --git a/Widgets/examples/Entry.cpp b/Widgets/examples/Entry.cpp index 21410f9..96c0b5c 100644 --- a/Widgets/examples/Entry.cpp +++ b/Widgets/examples/Entry.cpp @@ -1,32 +1,29 @@ #include "ExampleGUI.hpp" -#include "Graphics.hpp" +#include "GraphicApplication.hpp" using namespace tp; -void runApp() { - auto window = tp::Window::createWindow({ 800, 600 }, "Window 1"); - - tp::ComplexWidget gui; - - if (window) { - while (!window->shouldClose()) { - window->processEvents(); - - auto area = window->getCanvas().getAvaliableArea(); - - gui.proc(window->getEvents(), {}, { area.x, area.y, area.z, area.w }); - gui.draw(window->getCanvas()); - - tp::sleep(20); - - window->draw(); - } +class ExampleGUI : public Application { +public: + ExampleGUI() { + gGlobalGUIConfig = &mConfig; } - tp::Window::destroyWindow(window); -} + void processFrame(EventHandler* eventHandler) override { + auto rec = RectF( { 0, 0 }, mWindow->getSize() ); + mGui.proc(*eventHandler, rec, rec); + } + + void drawFrame(Canvas* canvas) override { + mGui.draw(*canvas); + } + +private: + GlobalGUIConfig mConfig; + ComplexWidget mGui; +}; int main() { @@ -38,9 +35,8 @@ int main() { } { - tp::GlobalGUIConfig config; - tp::gGlobalGUIConfig = &config; - runApp(); + ExampleGUI gui; + gui.run(); } binModule.deinitialize(); diff --git a/Widgets/public/SplitViewWidget.hpp b/Widgets/public/SplitViewWidget.hpp index e53a504..4fb0f30 100644 --- a/Widgets/public/SplitViewWidget.hpp +++ b/Widgets/public/SplitViewWidget.hpp @@ -23,9 +23,9 @@ namespace tp { return; } - mIsHover = getHandle().isInside(events.getPos()); + mIsHover = getHandle().isInside(events.getPointer()); - if (events.isPressed() && mIsHover) { + if (events.isPressed(InputID::MOUSE1) && mIsHover) { mResizeInProcess = true; } else if (!events.isDown()) { mResizeInProcess = false; diff --git a/Widgets/public/WidgetConfig.hpp b/Widgets/public/WidgetConfig.hpp index 7e12f2e..cf72b22 100644 --- a/Widgets/public/WidgetConfig.hpp +++ b/Widgets/public/WidgetConfig.hpp @@ -5,6 +5,8 @@ #include "Rect.hpp" #include "Strings.hpp" +#include "InputCodes.hpp" + namespace tp { extern ModuleManifest gModuleWidgets;