Effector: C++/CMake image effects app
Port of the Python prototype to C++20 with a CMake build: - effector_core: GUI-free static library (effects, image IO via gdk-pixbuf, declarative param specs, registry, portable seeded RNG, thread helper) - scanlines effect: plans strips from the seeded RNG, then copies pixels in parallel with memcpy and doubling horizontal tiling - gtkmm 4 interface: native file dialogs, widgets generated from the param specs, coalesced background renders, preview as a GDK memory texture - CLI: flags generated from the effect registry, headless rendering with no display required - ctest suite covering the RNG, registry, effect geometry and image round trip The Python prototype is kept under python-reference/.
This commit is contained in:
@@ -0,0 +1,19 @@
|
||||
#include "gui/app.hpp"
|
||||
|
||||
#include <gtkmm.h>
|
||||
|
||||
#include "gui/window.hpp"
|
||||
|
||||
namespace effector {
|
||||
|
||||
int runGui(const Options& initial, int argc, char** argv) {
|
||||
// Our own parser already consumed argv, so GTK must not see it.
|
||||
(void)argc;
|
||||
(void)argv;
|
||||
|
||||
auto app = Gtk::Application::create("org.effector.Effector",
|
||||
Gio::Application::Flags::NON_UNIQUE);
|
||||
return app->make_window_and_run<EffectorWindow>(0, nullptr, initial);
|
||||
}
|
||||
|
||||
} // namespace effector
|
||||
Reference in New Issue
Block a user