37 lines
1.2 KiB
C
37 lines
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>
|