GraceFt v2.3
开源图形引擎 EGE(Easy Graphics Engine) 的高层封装库
 
载入中...
搜索中...
未找到
GFt::Window类 参考final

全局窗口对象 更多...

#include <Window.h>

+ 类 GFt::Window 继承关系图:

Public 成员函数

 ~Window ()
 
void fullscreen ()
 全屏显示窗口
 
void hide ()
 隐藏窗口
 
void maximize ()
 最大化窗口
 
void minimize ()
 窗口最小化
 
void move (const iPoint &dpos)
 移动窗口(相对位置)
 
void moveTo (const iPoint &pos)
 移动窗口(绝对位置)
 
void resize (const iSize &size)
 更改窗口的大小
 
void restore ()
 还原最大化或全屏显示的窗口
 
void setAlpha (const std::optional< Color > &color=std::nullopt)
 设置绘制指定颜色时绘制为透明
 
void setAlpha (float alpha)
 设置窗口透明度
 
void setFrameless (bool frameless=true)
 设置窗口是否无边框
 
void setTitle (const std::wstring &title)
 设置窗口标题
 
void setTopMost (bool topMost=true)
 设置窗口是否置顶
 
void show ()
 显示窗口
 
- Public 成员函数 继承自 GFt::Block
 Block (const iRect &rect, Block *parent=nullptr, int zIndex=0)
 构造函数
 
virtual ~Block ()
 
iPoint absolutePosition () const
 计算相对于屏幕的绝对坐标
 
void addChild (Block *child)
 添加子对象
 
BlockgetParent () const
 获取父对象
 
int getZIndex () const
 获取层级
 
void hide ()
 隐藏块对象
 
bool isHide () const
 获取块当前是否被隐藏
 
iPoint relativePosFrom (Block *block) const
 计算相对于指定对象的相对坐标
 
void removeChild (Block *child)
 移除子对象
 
void setParent (Block *parent)
 设置父对象
 
void setZIndex (int zIndex)
 设置层级
 
void show ()
 显示块对象
 
- Public 成员函数 继承自 GFt::GraphInterface
 GraphInterface (iRect rect)
 构造函数
 
virtual ~GraphInterface ()
 
const iRectrect () const
 
void setHeight (int height)
 
void setPosition (const iPoint &pos)
 
void setRect (const iRect &rect)
 
void setSize (const iSize &size)
 
void setWidth (int width)
 
void setX (int x)
 
void setY (int y)
 

静态 Public 成员函数

static WindowcreateFullScreenWindow (Block *block, bool hide=false)
 创建全屏窗口
 
static WindowcreateNoBorderTopMostWindow (Block *block, bool hide=false)
 创建无边框置顶窗口
 
static WindowcreateNoBorderWindow (Block *block, bool hide=false)
 创建无边框窗口
 
static WindowcreateTopMostWindow (Block *block, bool hide=false)
 创建置顶窗口
 
static WindowcreateWindow (Block *block, bool hide=false)
 创建普通窗口
 
static Windowwindow ()
 获取已创建的窗口对象实例
 

静态 Public 属性

static Signal< Window * > onWindowCreated
 窗口创建信号
 
static Signal< Window * > onWindowDestroyed
 窗口销毁信号
 
static Signal< Window * > onWindowFullscreened
 窗口全屏信号
 
static Signal< Window * > onWindowMaximized
 窗口最大化信号
 
static Signal< Window * > onWindowMinimized
 窗口最小化信号
 
static Signal< Window * > onWindowMoved
 窗口位置改变信号
 
static Signal< Window * > onWindowResized
 窗口大小改变信号
 
static Signal< Window * > onWindowRestored
 窗口还原信号
 
static Signal< Window * > onWindowSizeChanged
 窗口大小改变信号
 

额外继承的成员函数

- Public 属性 继承自 GFt::Block
Signal< Block * > FocusOff
 当该对象失去焦点时触发该信号
 
Signal< Block * > FocusOn
 当该对象获得焦点时触发该信号
 
Signal< Block * > HoverOff
 当鼠标移开该对象时之上时触发该信号
 
Signal< Block * > HoverOn
 当鼠标悬停该对象时之上时触发该信号
 
Signal< bool > ViewChanged
 当该对象显示状态变化时触发该信号
 
- Public 属性 继承自 GFt::GraphInterface
Signal< const iPoint & > onPositionChanged
 
Signal< const iSize & > onSizeChanged
 
- Protected 成员函数 继承自 GFt::Block
void onDraw (Graphics &g) override
 此函数用于绘制内容
 
void onKeyPress (KeyPressEvent *event) override
 此函数用于处理键盘按键按下事件
 
void onKeyRelease (KeyReleaseEvent *event) override
 此函数用于处理键盘按键释放事件
 
void onMouseButtonPress (MouseButtonPressEvent *event) override
 此函数用于处理鼠标按钮按下事件
 
void onMouseButtonRelease (MouseButtonReleaseEvent *event) override
 此函数用于处理鼠标按钮释放事件
 
void onMouseMove (MouseMoveEvent *event) override
 此函数用于处理鼠标移动事件
 
void onMouseWheel (MouseWheelEvent *event) override
 此函数用于处理鼠标滚轮事件
 
void onTextInput (TextInputEvent *event) override
 此函数用于处理文本输入事件
 
- Protected 成员函数 继承自 GFt::GraphInterface
- Protected 成员函数 继承自 GFt::MouseButtonPressEventMonitor
- Protected 成员函数 继承自 GFt::MouseButtonReleaseEventMonitor
- Protected 成员函数 继承自 GFt::MouseMoveEventMonitor
- Protected 成员函数 继承自 GFt::MouseWheelEventMonitor
- Protected 成员函数 继承自 GFt::KeyPressEventMonitor
- Protected 成员函数 继承自 GFt::KeyReleaseEventMonitor
- Protected 成员函数 继承自 GFt::TextInputEventMonitor

详细描述

全局窗口对象

此类用于表示一个全局唯一的窗口对象, 并提供了窗口创建的一系列工厂函数

同时也提供了一些操作窗口的成员函数

构造及析构函数说明

◆ ~Window()

GFt::Window::~Window ( )

成员函数说明

◆ createFullScreenWindow()

Window * GFt::Window::createFullScreenWindow ( Block * block,
bool hide = false )
static

创建全屏窗口

参数
block窗口内容块
hide是否在创建后隐藏窗口
注解
若传入的block为nullptr,则会立即返回nullptr
若Window已被创建,则会忽略新传入的block指针,直接返回已创建的block对象
若窗口未被成功创建,程序将立即退出,并输出创建失败的提示信息

◆ createNoBorderTopMostWindow()

Window * GFt::Window::createNoBorderTopMostWindow ( Block * block,
bool hide = false )
static

创建无边框置顶窗口

参数
block窗口内容块
hide是否在创建后隐藏窗口
注解
若传入的block为nullptr,则会立即返回nullptr
若Window已被创建,则会忽略新传入的block指针,直接返回已创建的block对象
若窗口未被成功创建,程序将立即退出,并输出创建失败的提示信息

◆ createNoBorderWindow()

Window * GFt::Window::createNoBorderWindow ( Block * block,
bool hide = false )
static

创建无边框窗口

参数
block窗口内容块
hide是否在创建后隐藏窗口
注解
若传入的block为nullptr,则会立即返回nullptr
若Window已被创建,则会忽略新传入的block指针,直接返回已创建的block对象
若窗口未被成功创建,程序将立即退出,并输出创建失败的提示信息

◆ createTopMostWindow()

Window * GFt::Window::createTopMostWindow ( Block * block,
bool hide = false )
static

创建置顶窗口

参数
block窗口内容块
hide是否在创建后隐藏窗口
注解
若传入的block为nullptr,则会立即返回nullptr
若Window已被创建,则会忽略新传入的block指针,直接返回已创建的block对象
若窗口未被成功创建,程序将立即退出,并输出创建失败的提示信息

◆ createWindow()

Window * GFt::Window::createWindow ( Block * block,
bool hide = false )
static

创建普通窗口

参数
block窗口内容块
hide是否在创建后隐藏窗口
注解
若传入的block为nullptr,则会立即返回nullptr
若Window已被创建,则会忽略新传入的block指针,直接返回已创建的block对象
若窗口未被成功创建,程序将立即退出,并输出创建失败的提示信息

◆ fullscreen()

void GFt::Window::fullscreen ( )

全屏显示窗口

◆ hide()

void GFt::Window::hide ( )

隐藏窗口

◆ maximize()

void GFt::Window::maximize ( )

最大化窗口

◆ minimize()

void GFt::Window::minimize ( )

窗口最小化

◆ move()

void GFt::Window::move ( const iPoint & dpos)

移动窗口(相对位置)

参数
dpos相对于当前位置的差值

◆ moveTo()

void GFt::Window::moveTo ( const iPoint & pos)

移动窗口(绝对位置)

参数
pos新的窗口位置

◆ resize()

void GFt::Window::resize ( const iSize & size)

更改窗口的大小

参数
size新的窗口大小

◆ restore()

void GFt::Window::restore ( )

还原最大化或全屏显示的窗口

注解

◆ setAlpha() [1/2]

void GFt::Window::setAlpha ( const std::optional< Color > & color = std::nullopt)

设置绘制指定颜色时绘制为透明

参数
color要设置的颜色,若为空则表示清除透明设置

◆ setAlpha() [2/2]

void GFt::Window::setAlpha ( float alpha)

设置窗口透明度

参数
alpha透明度值(0.0~1.0)

◆ setFrameless()

void GFt::Window::setFrameless ( bool frameless = true)

设置窗口是否无边框

参数
frameless是否无边框
注解
当窗口最大化或处于全屏显示状态时, 此函数无效

◆ setTitle()

void GFt::Window::setTitle ( const std::wstring & title)

设置窗口标题

参数
title新的标题

◆ setTopMost()

void GFt::Window::setTopMost ( bool topMost = true)

设置窗口是否置顶

参数
topMost是否置顶
注解
当窗口最大化或处于全屏显示状态时, 此函数无效

◆ show()

void GFt::Window::show ( )

显示窗口

◆ window()

Window * GFt::Window::window ( )
static

获取已创建的窗口对象实例

返回
已创建的窗口对象指针

类成员变量说明

◆ onWindowCreated

Signal< Window * > GFt::Window::onWindowCreated
static

窗口创建信号

◆ onWindowDestroyed

Signal< Window * > GFt::Window::onWindowDestroyed
static

窗口销毁信号

◆ onWindowFullscreened

Signal< Window * > GFt::Window::onWindowFullscreened
static

窗口全屏信号

◆ onWindowMaximized

Signal< Window * > GFt::Window::onWindowMaximized
static

窗口最大化信号

◆ onWindowMinimized

Signal< Window * > GFt::Window::onWindowMinimized
static

窗口最小化信号

◆ onWindowMoved

Signal< Window * > GFt::Window::onWindowMoved
static

窗口位置改变信号

◆ onWindowResized

Signal< Window * > GFt::Window::onWindowResized
static

窗口大小改变信号

◆ onWindowRestored

Signal< Window * > GFt::Window::onWindowRestored
static

窗口还原信号

◆ onWindowSizeChanged

Signal< Window * > GFt::Window::onWindowSizeChanged
static

窗口大小改变信号