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

应用程序类 更多...

#include <Application.h>

Public 成员函数

 Application (Window *root)
 构造函数
 
 ~Application ()
 
int exec (bool cilpO=true)
 运行程序
 
int run (bool cilpO=true)
 运行程序
 

静态 Public 成员函数

static void exit ()
 退出程序
 
static iPoint getAbsoluteMousePosition ()
 获取鼠标相对于屏幕的绝对位置
 
static float getEventTime ()
 获取事件处理帧时长
 
static double getFps ()
 获取目标帧率
 
static float getRealFps ()
 获取真实帧率
 
static float getRenderTime ()
 获取渲染帧时长
 
static BlockgetRoot ()
 获取根窗口节点
 
static std::filesystem::path localPath ()
 获取应用程序的可执行文件所在的路径
 
static void setFps (double fps)
 设置目标帧率
 
static void shouldClose ()
 退出程序
 
static bool showCursor (bool show)
 设置鼠标是否可见
 
static void updateBlockHoverState ()
 更新鼠标悬浮状态
 

静态 Public 属性

static Signal< void > onEventCall
 每一帧事件处理(之前)时触发此信号
 
static Signal< void > onRenderCall
 每一帧渲染(之前)时触发此信号
 

详细描述

应用程序类

该类封装了程序的主要逻辑, 包括渲染, 事件处理, 帧率控制等

构造及析构函数说明

◆ Application()

GFt::Application::Application ( Window * root)

构造函数

参数
root根窗口节点

此类在全局只会创建一个对象,即使多次调用其构造函数也只会构造一次

◆ ~Application()

GFt::Application::~Application ( )

成员函数说明

◆ exec()

int GFt::Application::exec ( bool cilpO = true)

运行程序

参数
cilpO是否启用绘图裁剪优化
返回
程序退出状态

该函数会阻塞线程, 直到程序退出

注解
若未检测到窗口被成功创建,此函数不会阻塞,将会立即返回错误码 1(通常此函数返回值直接作为程序的退出码)

◆ exit()

void GFt::Application::exit ( )
static

退出程序

该效果等同于 shouldClose()

◆ getAbsoluteMousePosition()

iPoint GFt::Application::getAbsoluteMousePosition ( )
static

获取鼠标相对于屏幕的绝对位置

返回
鼠标位置
参见
Sys::getCursorPosition()

◆ getEventTime()

float GFt::Application::getEventTime ( )
static

获取事件处理帧时长

返回
事件处理帧时长(以微秒计)

◆ getFps()

double GFt::Application::getFps ( )
static

获取目标帧率

返回
目标帧率

◆ getRealFps()

float GFt::Application::getRealFps ( )
static

获取真实帧率

返回
真实帧率

◆ getRenderTime()

float GFt::Application::getRenderTime ( )
static

获取渲染帧时长

返回
渲染帧时长(以毫秒计)

◆ getRoot()

Block * GFt::Application::getRoot ( )
static

获取根窗口节点

返回
根窗口节点

◆ localPath()

std::filesystem::path GFt::Application::localPath ( )
static

获取应用程序的可执行文件所在的路径

此函数是惰性求值函数

返回
可执行文件所在的路径,若失败则返回空路径

◆ run()

int GFt::Application::run ( bool cilpO = true)

运行程序

返回
程序退出状态

该函数效果等同于 exec()

参见
exec()

◆ setFps()

void GFt::Application::setFps ( double fps)
static

设置目标帧率

参数
fps目标帧率

若所设定的帧率小于等于0, 则视为无帧率限制

对于大多数设备而言, 推荐帧率值为 60

◆ shouldClose()

void GFt::Application::shouldClose ( )
static

退出程序

调用此函数会导致程序退出

◆ showCursor()

bool GFt::Application::showCursor ( bool show)
static

设置鼠标是否可见

参数
show是否可见
返回
之前鼠标是否可见

◆ updateBlockHoverState()

void GFt::Application::updateBlockHoverState ( )
static

更新鼠标悬浮状态

此函数用于通知应用更新 BlockHoverManager

注解
该函数默认只会在捕获到鼠标事件时才会被调用,如果 Block 对象树含有具有位置动画的对象, 则需要在每一帧调用此函数来更新 BlockHoverManager 的状态以确保 BlockHoverManager 状态的正确性,通常直接将其连接到 onEventCall 信号以实现自动更新
// 将 updateBlockHoverState 函数连接到 onEventCall 信号
// 在 main 函数的开头添加以下代码即可
});
static void updateBlockHoverState()
更新鼠标悬浮状态
定义 Application.cpp:127
static Signal< void > onEventCall
每一帧事件处理(之前)时触发此信号
定义 Application.h:98
SlotId< void > connect(const Slot &slot)
连接槽函数
定义 Signal.hpp:120
全局窗口对象
定义 Window.h:13
static Signal< Window * > onWindowCreated
窗口创建信号
定义 Window.h:113

类成员变量说明

◆ onEventCall

Signal< void > GFt::Application::onEventCall
static

每一帧事件处理(之前)时触发此信号

◆ onRenderCall

Signal< void > GFt::Application::onRenderCall
static

每一帧渲染(之前)时触发此信号