Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
|
窗体. 更多...
#include <Window.h>
Public 成员函数 | |
Window (std::string_view title, const Vector2i &size) | |
构造函数, 创建一个窗口. 更多... | |
virtual | ~Window () |
析构函数. | |
void | update () |
更新. 更多... | |
void | set_title (std::string_view title) |
设置窗口标题. 更多... | |
void | set_size (const Vector2i &size) |
设置窗口大小. 更多... | |
Vector2i | get_size () const |
获取窗口大小. | |
void | set_position (const Vector2i &pos) |
设置窗口坐标. 更多... | |
Vector2i | get_position () const |
获取窗口坐标. 更多... | |
void | set_visible (bool visible) |
设置窗口可见性. 更多... | |
bool | is_visible () const noexcept |
获取窗口可见性. 更多... | |
void | set_fullscreen (bool fullscreen) |
设置窗口是否全屏. 更多... | |
bool | is_fullscreen () const noexcept |
是否处于全屏模式. | |
void | set_vsync (bool enable) noexcept |
设置是否开启垂直同步. 更多... | |
void | set_resizable (bool enable) |
设置大小是否可调. 更多... | |
bool | is_resizable () const noexcept |
是否可调窗口大小. | |
void | set_floating (bool enable) |
设置窗口是否置顶. 更多... | |
bool | is_floating () const noexcept |
是否已置顶. | |
void | set_icon (const Image &image) |
设置窗口图标. 更多... | |
void | request_focus () |
请求聚焦. | |
void | set_cursor_lock (bool enable) |
设置是否开启光标锁定. 更多... | |
bool | is_cursor_lock () const |
是否开启光标锁定. | |
void | set_cursor_position (const Vector2i &pos) |
设置光标在窗口中的坐标. 更多... | |
Vector2d | get_cursor_position () const |
获取光标在窗口中的坐标. | |
void | set_raw_mouse_motion (bool enable) |
设置是否启用原始鼠标运动. 更多... | |
GLFWwindow * | get_handle () const |
获取本地句柄. | |
静态 Public 成员函数 | |
static void | init () |
static void | deinit () |
Public 属性 | |
std::function< void(Vector2i)> | onResize |
窗口大小变化时回调 | |
std::function< void(bool)> | onFocus |
窗口获取/失去焦点回调 | |
std::function< void()> | onClose |
窗口关闭按钮按下回调 | |
std::function< void(int, Key)> | onKey |
键盘按键回调 | |
std::function< void(Vector2d)> | onScroll |
鼠标滚轮滚动回调 | |
std::function< void(Vector2d)> | onMouseMove |
鼠标移动回调 | |
std::function< void(bool)> | onMouseEnter |
鼠标进入窗口回调 | |
std::function< void(int, Mouse)> | onMouse |
鼠标按键回调 | |
std::function< void(int, const char *paths[])> | onDrop |
路径拽入窗口回调 | |
窗体.
Window::Window | ( | std::string_view | title, |
const Vector2i & | size | ||
) |
构造函数, 创建一个窗口.
title | 窗口标题. |
size | 窗口大小(分辨率). |
fullscreen | 是否全屏, true 为全屏. |
Vector2i Window::get_position | ( | ) | const |
获取窗口坐标.
|
noexcept |
获取窗口可见性.
void Window::set_cursor_lock | ( | bool | enable | ) |
设置是否开启光标锁定.
会将光标隐藏并锁定在窗口中.
enable | true 为开启, false 为关闭. |
void Window::set_cursor_position | ( | const Vector2i & | pos | ) |
设置光标在窗口中的坐标.
pos | 新光标在窗口中的坐标. |
void Window::set_floating | ( | bool | enable | ) |
设置窗口是否置顶.
enable | true 为置顶, false 为不置顶. |
void Window::set_fullscreen | ( | bool | fullscreen | ) |
设置窗口是否全屏.
fullscreen | true 为全屏, false 为窗口. |
void Window::set_icon | ( | const Image & | image | ) |
设置窗口图标.
image | 图标图像. |
void Window::set_position | ( | const Vector2i & | pos | ) |
设置窗口坐标.
pos | 新窗口坐标. |
void Window::set_raw_mouse_motion | ( | bool | enable | ) |
设置是否启用原始鼠标运动.
enable | true 为开启, false 为关闭. |
原始鼠标运动更接近鼠标在表面上的实际运动. 它不受应用于桌面光标运动的缩放和加速度的影响. 适合控制 3D 相机.
void Window::set_resizable | ( | bool | enable | ) |
设置大小是否可调.
enable | true 为可调, false 为不可调. |
void Window::set_size | ( | const Vector2i & | size | ) |
设置窗口大小.
size | 窗口大小. |
void Window::set_title | ( | std::string_view | title | ) |
设置窗口标题.
title | 窗口标题. |
void Window::set_visible | ( | bool | visible | ) |
设置窗口可见性.
visible | true 为可见, false 为不可见. |
|
noexcept |
设置是否开启垂直同步.
enable | true 为开启, false 为关闭. |
void Window::update | ( | ) |
更新.
轮询窗口事件, 并交换缓冲区.