Kiwano Engine v1.3.x
kiwano::Window类 参考abstract

窗口类,控制窗口标题、大小、图标等 更多...

#include <Window.h>

类 kiwano::Window 继承关系图:
kiwano::ObjectBase kiwano::RefObject kiwano::Serializable kiwano::Noncopyable

Public 成员函数

String GetTitle () const
 获取窗口标题 更多...
 
int GetPosX () const
 获取窗口横向位置 更多...
 
int GetPosY () const
 获取窗口纵向位置 更多...
 
Size GetSize () const
 获取窗口大小 更多...
 
uint32_t GetWidth () const
 获取窗口宽度 更多...
 
uint32_t GetHeight () const
 获取窗口高度 更多...
 
Resolution GetCurrentResolution () const
 获取当前分辨率
 
WindowHandle GetHandle () const
 获取窗口句柄
 
virtual Vector< ResolutionGetResolutions ()=0
 获取支持的屏幕分辨率列表
 
virtual void SetTitle (StringView title)=0
 设置标题 更多...
 
virtual void SetIcon (Icon icon)=0
 设置窗口图标 更多...
 
virtual void SetResolution (uint32_t width, uint32_t height, bool fullscreen)=0
 设置窗口分辨率 更多...
 
virtual void SetMinimumSize (uint32_t width, uint32_t height)=0
 设置窗口最小大小 更多...
 
virtual void SetMaximumSize (uint32_t width, uint32_t height)=0
 设置窗口最大大小 更多...
 
virtual void SetCursor (CursorType cursor)=0
 设置鼠标指针类型 更多...
 
RefPtr< EventPollEvent ()
 轮询窗口事件 更多...
 
void PushEvent (RefPtr< Event > evt)
 将事件放入队列 更多...
 
virtual void PumpEvents ()=0
 抽取窗口事件
 
bool ShouldClose ()
 窗口是否需要关闭
 
void SetShouldClose (bool should)
 设置是否需要关闭
 
virtual void SetImmEnabled (bool enable)=0
 启用或禁用输入法(默认禁用)
 
- Public 成员函数 继承自 kiwano::ObjectBase
 ObjectBase ()
 构造基础对象
 
void SetName (StringView name)
 设置对象名
 
StringView GetName () const
 获取对象名
 
bool IsName (StringView name) const
 判断对象的名称是否相同 更多...
 
void * GetUserData () const
 获取用户数据
 
void SetUserData (void *data)
 设置用户数据 更多...
 
void Hold (RefPtr< ObjectBase > other)
 持有一个对象并管理其生命周期 更多...
 
void Unhold (RefPtr< ObjectBase > other)
 放弃持有的对象 更多...
 
uint64_t GetObjectID () const
 获取对象ID
 
void DoSerialize (Serializer *serializer) const override
 序列化 更多...
 
void DoDeserialize (Deserializer *deserializer) override
 反序列化 更多...
 
virtual bool IsValid () const
 判断对象是否有效 更多...
 
ObjectStatusGetStatus () const
 获取对象状态
 
void SetStatus (const ObjectStatus &status)
 设置对象状态
 
void Fail (StringView msg, int code=ObjectStatus::fail)
 将对象标记为失败状态
 
void ClearStatus ()
 清除对象状态
 
- Public 成员函数 继承自 kiwano::RefObject
void Retain ()
 增加引用计数
 
void Release ()
 减少引用计数
 
uint32_t GetRefCount () const
 获取引用计数
 
- Public 成员函数 继承自 kiwano::Serializable
Vector< uint8_t > Serialize () const
 序列化为字节串
 
void Deserialize (const Vector< uint8_t > &data)
 从字节串反序列化
 
virtual void DoSerialize (Serializer *serializer) const =0
 执行序列化 更多...
 
virtual void DoDeserialize (Deserializer *deserializer)=0
 执行反序列化 更多...
 

静态 Public 成员函数

static RefPtr< WindowCreate (const WindowConfig &config)
 初始化窗口 更多...
 
- 静态 Public 成员函数 继承自 kiwano::ObjectBase
static void SetObjectPolicy (const ObjectPolicyFunc &policy)
 设置对象处理策略
 
static bool IsTracingLeaks ()
 是否启用了内存泄漏追踪
 
static void StartTracingLeaks ()
 开始追踪内存泄漏
 
static void StopTracingLeaks ()
 停止追踪内存泄漏
 
static void DumpTracingObjects ()
 打印所有追踪中的对象信息
 
static Vector< ObjectBase * > & GetTracingObjects ()
 获取所有追踪中的对象
 
- 静态 Public 成员函数 继承自 kiwano::RefObject
static void * operator new (size_t size)
 
static void operator delete (void *ptr)
 
static void * operator new (size_t size, std::nothrow_t const &) noexcept
 
static void operator delete (void *ptr, std::nothrow_t const &) noexcept
 
static void * operator new (size_t size, void *ptr) noexcept
 
static void operator delete (void *ptr, void *place) noexcept
 

Protected 属性

bool should_close_
 
bool is_fullscreen_
 
int pos_x_
 
int pos_y_
 
uint32_t width_
 
uint32_t height_
 
uint32_t min_width_
 
uint32_t min_height_
 
uint32_t max_width_
 
uint32_t max_height_
 
Resolution resolution_
 
WindowHandle handle_
 
String title_
 
std::queue< RefPtr< Event > > event_queue_
 

详细描述

窗口类,控制窗口标题、大小、图标等

成员函数说明

◆ Create()

static RefPtr< Window > kiwano::Window::Create ( const WindowConfig config)
static

初始化窗口

参数
config窗口设置
异常
kiwano::SystemError窗口创建失败时抛出

◆ GetHeight()

uint32_t kiwano::Window::GetHeight ( ) const

获取窗口高度

返回
窗口高度

◆ GetPosX()

int kiwano::Window::GetPosX ( ) const

获取窗口横向位置

返回
横向位置

◆ GetPosY()

int kiwano::Window::GetPosY ( ) const

获取窗口纵向位置

返回
纵向位置

◆ GetSize()

Size kiwano::Window::GetSize ( ) const

获取窗口大小

返回
窗口大小

◆ GetTitle()

String kiwano::Window::GetTitle ( ) const

获取窗口标题

返回
窗口标题

◆ GetWidth()

uint32_t kiwano::Window::GetWidth ( ) const

获取窗口宽度

返回
窗口宽度

◆ PollEvent()

RefPtr< Event > kiwano::Window::PollEvent ( )

轮询窗口事件

返回
返回事件队列中的第一个事件并将其从队列中移除, 若队列为空则返回空指针

◆ PushEvent()

void kiwano::Window::PushEvent ( RefPtr< Event evt)

将事件放入队列

参数
evt事件

◆ SetCursor()

virtual void kiwano::Window::SetCursor ( CursorType  cursor)
pure virtual

设置鼠标指针类型

参数
cursor鼠标指针类型

◆ SetIcon()

virtual void kiwano::Window::SetIcon ( Icon  icon)
pure virtual

设置窗口图标

参数
icon图标

◆ SetMaximumSize()

virtual void kiwano::Window::SetMaximumSize ( uint32_t  width,
uint32_t  height 
)
pure virtual

设置窗口最大大小

参数
width最大窗口宽度
height最大窗口高度

◆ SetMinimumSize()

virtual void kiwano::Window::SetMinimumSize ( uint32_t  width,
uint32_t  height 
)
pure virtual

设置窗口最小大小

参数
width最小窗口宽度
height最小窗口高度

◆ SetResolution()

virtual void kiwano::Window::SetResolution ( uint32_t  width,
uint32_t  height,
bool  fullscreen 
)
pure virtual

设置窗口分辨率

参数
width分辨率宽度
height分辨率高度
fullscreen是否全屏

◆ SetTitle()

virtual void kiwano::Window::SetTitle ( StringView  title)
pure virtual

设置标题

参数
title标题