Graphics v0.0.0
A simple abstraction layer for the modern graphics APIs.
载入中...
搜索中...
未找到
Window类 参考

窗体. 更多...

#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::Window ( std::string_view  title,
const Vector2i &  size 
)

构造函数, 创建一个窗口.

参数
title窗口标题.
size窗口大小(分辨率).
fullscreen是否全屏, true 为全屏.

成员函数说明

◆ get_position()

Vector2i Window::get_position ( ) const

获取窗口坐标.

返回
当前窗口坐标.

◆ is_visible()

bool Window::is_visible ( ) const
noexcept

获取窗口可见性.

返回
true 为可见, false 为不可见.

◆ set_cursor_lock()

void Window::set_cursor_lock ( bool  enable)

设置是否开启光标锁定.

会将光标隐藏并锁定在窗口中.

参数
enabletrue 为开启, false 为关闭.

◆ set_cursor_position()

void Window::set_cursor_position ( const Vector2i &  pos)

设置光标在窗口中的坐标.

参数
pos新光标在窗口中的坐标.

◆ set_floating()

void Window::set_floating ( bool  enable)

设置窗口是否置顶.

参数
enabletrue 为置顶, false 为不置顶.

◆ set_fullscreen()

void Window::set_fullscreen ( bool  fullscreen)

设置窗口是否全屏.

参数
fullscreentrue 为全屏, false 为窗口.

◆ set_icon()

void Window::set_icon ( const Image image)

设置窗口图标.

参数
image图标图像.

◆ set_position()

void Window::set_position ( const Vector2i &  pos)

设置窗口坐标.

参数
pos新窗口坐标.

◆ set_raw_mouse_motion()

void Window::set_raw_mouse_motion ( bool  enable)

设置是否启用原始鼠标运动.

参数
enabletrue 为开启, false 为关闭.

原始鼠标运动更接近鼠标在表面上的实际运动. 它不受应用于桌面光标运动的缩放和加速度的影响. 适合控制 3D 相机.

警告
仅在禁用光标时有效.

◆ set_resizable()

void Window::set_resizable ( bool  enable)

设置大小是否可调.

参数
enabletrue 为可调, false 为不可调.

◆ set_size()

void Window::set_size ( const Vector2i &  size)

设置窗口大小.

参数
size窗口大小.

◆ set_title()

void Window::set_title ( std::string_view  title)

设置窗口标题.

参数
title窗口标题.

◆ set_visible()

void Window::set_visible ( bool  visible)

设置窗口可见性.

参数
visibletrue 为可见, false 为不可见.

◆ set_vsync()

void Window::set_vsync ( bool  enable)
noexcept

设置是否开启垂直同步.

参数
enabletrue 为开启, false 为关闭.

◆ update()

void Window::update ( )

更新.

轮询窗口事件, 并交换缓冲区.


该类的文档由以下文件生成: