#pragma once #include #include "window.h" #include "lib_begin.h" namespace cgv { /// namespace that holds the abstract gui interface namespace gui { /// the application class is only a container for static methods that give access to the windows of the application class CGV_API application { public: /// create a window of the given %type, where all %gui implementations must support the %type "viewer" static window_ptr create_window(int w, int h, const std::string& title, const std::string& window_type = "viewer"); /// set the input focus to the given window static bool set_focus(const_window_ptr); /// return the number of created windows static unsigned int get_nr_windows(); /// return the i-th created window static window_ptr get_window(unsigned int i); /// run the main loop of the %window system static bool run(); /// quit the %application by closing all windows static void quit(int exit_code = 0); /// copy text to the clipboard static void copy_to_clipboard(const std::string& s); /// retreive text from clipboard static std::string paste_from_clipboard(); }; } } #include