37 lines
No EOL
1.2 KiB
C++
37 lines
No EOL
1.2 KiB
C++
#pragma once
|
|
|
|
#include <string>
|
|
#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 <cgv/config/lib_end.h> |