diff --git a/linux/CMakeLists.txt b/linux/CMakeLists.txt index e56fcdc..abb98ee 100644 --- a/linux/CMakeLists.txt +++ b/linux/CMakeLists.txt @@ -27,6 +27,7 @@ add_executable(panopainter ../libs/poly2tri/poly2tri/sweep/sweep_context.cc ../libs/poly2tri/poly2tri/sweep/sweep.cc ../libs/fmt/src/format.cc + ../libs/tinyfiledialogs/tinyfiledialogs.c ../src/pch.cpp ../src/util.cpp ../src/rtt.cpp @@ -115,6 +116,7 @@ target_include_directories(panopainter PRIVATE ../libs/hash-library ../libs/fmt/include ../libs/glad/include + ../libs/tinyfiledialogs ) target_link_libraries(panopainter glfw curl GL dl X11 pthread) diff --git a/linux/src/main.cpp b/linux/src/main.cpp index 8fbe095..643d479 100644 --- a/linux/src/main.cpp +++ b/linux/src/main.cpp @@ -70,13 +70,13 @@ int main(int argc, char** args) return 1; } - glfwSetCursorPosCallback(wnd, [](GLFWwindow* w, double x, double y){ + glfwSetCursorPosCallback(wnd, [](GLFWwindow* wnd, double x, double y){ g_cursor_pos = glm::vec2(x, y); app.ui_task_async([=]{ app.mouse_move(x, y, 1.f, kEventSource::Mouse, false); }); }); - glfwSetMouseButtonCallback(wnd, [](GLFWwindow* w, int button, int action, int mods){ + glfwSetMouseButtonCallback(wnd, [](GLFWwindow* wnd, int button, int action, int mods){ app.ui_task_async([=]{ if (action == GLFW_PRESS) app.mouse_down(button, g_cursor_pos.x, g_cursor_pos.y, 1.f, kEventSource::Mouse, false); @@ -95,6 +95,11 @@ int main(int argc, char** args) glfwSetWindowShouldClose(app.glfw_window, GLFW_FALSE); }); }); + glfwSetWindowRefreshCallback(wnd, [](GLFWwindow* wnd){ + app.ui_task_async([=]{ + app.redraw = true; + }, true); + }); glfwMakeContextCurrent(wnd); if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) diff --git a/src/app_events.cpp b/src/app_events.cpp index 4f27323..36e6968 100644 --- a/src/app_events.cpp +++ b/src/app_events.cpp @@ -14,6 +14,9 @@ std::string win32_open_dir(); void win32_show_cursor(bool visible); bool win32_clipboard_set_text(const std::string & s); std::string win32_clipboard_get_text(); +#elif __APPLE__ +#else +#include #endif @@ -190,6 +193,9 @@ void App::pick_file(std::vector types, std::function