Kiwano Engine  v1.2.x
kiwano::imgui::ImGuiLayer类 参考

ImGui图层 更多...

#include <ImGuiLayer.h>

类 kiwano::imgui::ImGuiLayer 继承关系图:
kiwano::imgui::ImGuiLayer 的协作图:

Public 成员函数

 ImGuiLayer (const String &name, const ImGuiPipeline &item)
 创建ImGui图层 更多...
 
void AddItem (const String &name, const ImGuiPipeline &item)
 添加 ImGui 元素 更多...
 
void RemoveItem (const String &name)
 移除 ImGui 元素 更多...
 
void RemoveAllItems ()
 移除所有元素
 
void OnRender (RenderContext &ctx) override
 渲染角色 更多...
 
bool CheckVisibility (RenderContext &ctx) const override
 检查是否在渲染上下文的视区内
 
- Public 成员函数 继承自 kiwano::LayerActor
bool IsSwallowEventsEnabled () const
 是否开启消息吞没
 
LayerPtr GetLayer () const
 获取图层
 
void SetLayer (LayerPtr layer)
 设置图层 更多...
 
void SetSwallowEvents (bool enabled)
 设置消息吞没功能 更多...
 
void SetOpacity (float opacity) override
 设置图层透明度 更多...
 
bool DispatchEvent (Event *evt) override
 分发事件 更多...
 
- Public 成员函数 继承自 kiwano::Actor
virtual void OnUpdate (Duration dt)
 更新角色 更多...
 
bool IsVisible () const
 获取显示状态
 
bool IsCascadeOpacityEnabled () const
 是否启用级联透明度
 
bool IsEventDispatchEnabled () const
 是否启用事件分发
 
size_t GetHashName () const
 获取名称的 Hash 值
 
int GetZOrder () const
 获取 Z 轴顺序
 
virtual Point GetPosition () const
 获取坐标
 
float GetPositionX () const
 获取 x 坐标
 
float GetPositionY () const
 获取 y 坐标
 
virtual Size GetSize () const
 获取大小
 
float GetWidth () const
 获取宽度
 
float GetHeight () const
 获取高度
 
float GetScaledWidth () const
 获取缩放后的宽度
 
float GetScaledHeight () const
 获取缩放后的高度
 
Size GetScaledSize () const
 获取缩放后的大小
 
virtual Point GetAnchor () const
 获取锚点
 
float GetAnchorX () const
 获取 x 方向锚点
 
float GetAnchorY () const
 获取 y 方向锚点
 
virtual float GetOpacity () const
 获取透明度
 
float GetDisplayedOpacity () const
 获取显示透明度
 
virtual float GetRotation () const
 获取旋转角度
 
virtual Point GetScale () const
 获取缩放比例
 
float GetScaleX () const
 获取横向缩放比例
 
float GetScaleY () const
 获取纵向缩放比例
 
virtual Point GetSkew () const
 获取错切角度
 
float GetSkewX () const
 获取横向错切角度
 
float GetSkewY () const
 获取纵向错切角度
 
Transform GetTransform () const
 获取变换
 
ActorGetParent () const
 获取父角色
 
StageGetStage () const
 获取所在舞台
 
virtual Rect GetBounds () const
 获取边框
 
virtual Rect GetBoundingBox () const
 获取外切包围盒
 
const Matrix3x2GetTransformMatrix () const
 获取二维变换矩阵
 
const Matrix3x2GetTransformInverseMatrix () const
 获取二维变换的逆矩阵
 
const Matrix3x2GetTransformMatrixToParent () const
 获取变换到父角色的二维变换矩阵
 
void SetVisible (bool val)
 设置角色是否可见
 
void SetName (const String &name)
 设置名称
 
virtual void SetPosition (const Point &point)
 设置坐标
 
void SetPosition (float x, float y)
 设置坐标
 
void SetPositionX (float x)
 设置横坐标
 
void SetPositionY (float y)
 设置纵坐标
 
void MoveTo (const Point &p)
 移动至坐标
 
void MoveTo (float x, float y)
 移动至坐标
 
void MoveBy (const Vec2 &trans)
 移动相对坐标
 
void MoveBy (float trans_x, float trans_y)
 移动相对坐标
 
virtual void SetScale (const Vec2 &scale)
 设置缩放比例,默认为 (1.0, 1.0)
 
void SetScale (float scalex, float scaley)
 设置缩放比例,默认为 (1.0, 1.0)
 
virtual void SetSkew (const Vec2 &skew)
 设置错切角度,默认为 (0, 0)
 
void SetSkew (float skewx, float skewy)
 设置错切角度,默认为 (0, 0)
 
virtual void SetRotation (float rotation)
 设置旋转角度,默认为 0
 
virtual void SetAnchor (const Vec2 &anchor)
 设置锚点位置,默认为 (0, 0), 范围 [0, 1]
 
void SetAnchor (float anchorx, float anchory)
 设置锚点位置,默认为 (0, 0), 范围 [0, 1]
 
virtual void SetSize (const Size &size)
 修改大小
 
void SetSize (float width, float height)
 修改大小
 
void SetWidth (float width)
 修改宽度
 
void SetHeight (float height)
 修改高度
 
void SetCascadeOpacityEnabled (bool enabled)
 启用或禁用级联透明度
 
void SetTransform (const Transform &transform)
 设置二维仿射变换
 
void SetZOrder (int zorder)
 设置 Z 轴顺序,默认为 0
 
void AddChild (ActorPtr child)
 添加子角色
 
void AddChild (ActorPtr child, int zorder)
 添加子角色
 
void AddChildren (const Vector< ActorPtr > &children)
 添加多个子角色
 
ActorPtr GetChild (const String &name) const
 获取名称相同的子角色
 
Vector< ActorPtr > GetChildren (const String &name) const
 获取所有名称相同的子角色
 
ActorListGetAllChildren ()
 获取全部子角色
 
const ActorListGetAllChildren () const
 获取全部子角色
 
void RemoveChild (ActorPtr child)
 移除子角色
 
void RemoveChildren (const String &child_name)
 移除所有名称相同的子角色
 
void RemoveAllChildren ()
 移除所有角色
 
void RemoveFromParent ()
 从父角色移除
 
void PauseUpdating ()
 暂停角色更新
 
void ResumeUpdating ()
 继续角色更新
 
bool IsUpdatePausing () const
 角色更新是否暂停
 
void SetCallbackOnUpdate (const UpdateCallback &cb)
 设置更新时的回调函数
 
UpdateCallback GetCallbackOnUpdate () const
 获取更新时的回调函数
 
virtual bool ContainsPoint (const Point &point) const
 判断点是否在角色内
 
Point ConvertToLocal (const Point &point) const
 将世界坐标系点转换为局部坐标系点
 
Point ConvertToWorld (const Point &point) const
 将局部坐标系点转换为世界坐标系点
 
void ShowBorder (bool show)
 渲染角色边界
 
bool HandleEvent (Event *evt)
 处理事件且不分发 更多...
 
void SetEventDispatchEnabled (bool enabled)
 开启或关闭事件分发功能 更多...
 
physics::PhysicBodyGetPhysicBody () const
 获取物理身体
 
void DoSerialize (Serializer *serializer) const override
 序列化
 
void DoDeserialize (Deserializer *deserializer) override
 反序列化
 
- Public 成员函数 继承自 kiwano::ObjectBase
 ObjectBase ()
 构造基础对象
 
void SetName (const String &name)
 设置对象名
 
String GetName () const
 获取对象名
 
bool IsName (const String &name) const
 判断对象的名称是否相同 更多...
 
void * GetUserData () const
 获取用户数据
 
void SetUserData (void *data)
 设置用户数据
 
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 (const String &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)
 从字节串反序列化
 
- Public 成员函数 继承自 kiwano::Animator
AnimationAddAnimation (AnimationPtr animation)
 添加动画
 
AnimationStartAnimation (AnimationPtr animation)
 开始动画
 
void ResumeAllAnimations ()
 继续所有暂停动画
 
void PauseAllAnimations ()
 暂停所有动画
 
void StopAllAnimations ()
 停止所有动画
 
AnimationGetAnimation (const String &name)
 获取指定名称的动画 更多...
 
const AnimationListGetAllAnimations () const
 获取所有动画
 
void Update (Actor *target, Duration dt)
 更新动画
 
- Public 成员函数 继承自 kiwano::TaskScheduler
TaskAddTask (TaskPtr task)
 添加任务
 
TaskAddTask (const Task::Callback &cb, TickerPtr ticker)
 添加任务 更多...
 
TaskAddTask (const String &name, const Task::Callback &cb, TickerPtr ticker)
 添加任务 更多...
 
TaskAddTask (const Task::Callback &cb, Duration interval, int times=-1)
 添加任务 更多...
 
TaskAddTask (const String &name, const Task::Callback &cb, Duration interval, int times=-1)
 添加任务 更多...
 
void StartTasks (const String &task_name)
 启动任务
 
void StopTasks (const String &task_name)
 停止任务
 
void RemoveTasks (const String &task_name)
 移除任务
 
void StartAllTasks ()
 启动所有任务
 
void StopAllTasks ()
 停止所有任务
 
void RemoveAllTasks ()
 移除所有任务
 
const TaskListGetAllTasks () const
 获取所有任务
 
void Update (Duration dt)
 更新调度器
 
- Public 成员函数 继承自 kiwano::EventDispatcher
EventListenerAddListener (EventListenerPtr listener)
 添加监听器
 
EventListenerAddListener (EventType type, EventListener::Callback callback)
 添加监听器 更多...
 
EventListenerAddListener (const String &name, EventType type, EventListener::Callback callback)
 添加监听器 更多...
 
template<typename _EventTy >
EventListenerAddListener (EventListener::Callback callback)
 添加监听器 更多...
 
template<typename _EventTy >
EventListenerAddListener (const String &name, EventListener::Callback callback)
 添加监听器 更多...
 
void StartListeners (const String &name)
 启动监听器 更多...
 
void StopListeners (const String &name)
 停止监听器 更多...
 
void RemoveListeners (const String &name)
 移除监听器 更多...
 
void StartAllListeners ()
 启动所有监听器
 
void StopAllListeners ()
 停止所有监听器
 
void RemoveAllListeners ()
 移除所有监听器
 
const ListenerListGetAllListeners () const
 获取所有监听器
 
bool DispatchEvent (Event *evt)
 分发事件 更多...
 
- Public 成员函数 继承自 kiwano::ComponentManager
ComponentAddComponent (ComponentPtr component)
 添加组件 更多...
 
ComponentAddComponent (size_t index, ComponentPtr component)
 添加组件 更多...
 
ComponentGetComponent (const String &name)
 获取组件
 
ComponentGetComponent (size_t name_hash)
 获取组件
 
ComponentMapGetAllComponents ()
 获取所有组件
 
const ComponentMapGetAllComponents () const
 获取所有组件
 
void RemoveComponent (ComponentPtr component)
 移除组件
 
void RemoveComponent (const String &name)
 移除组件 更多...
 
void RemoveComponent (size_t name_hash)
 移除组件 更多...
 
void RemoveAllComponents ()
 移除所有组件
 
void Update (Duration dt)
 更新组件
 
void Render (RenderContext &ctx)
 渲染组件
 
void DispatchToComponents (Event *evt)
 分发事件
 

额外继承的成员函数

- Public 类型 继承自 kiwano::Actor
typedef Function< void(Duration)> UpdateCallback
 角色更新回调函数
 
- 静态 Public 成员函数 继承自 kiwano::Actor
static void SetDefaultAnchor (float anchor_x, float anchor_y)
 设置默认锚点
 
- 静态 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 类型 继承自 kiwano::IntrusiveListValue< ActorPtr >
using value_type = typename std::pointer_traits< ActorPtr >::pointer
 
using reference = value_type &
 
using pointer = value_type *
 
- Protected 成员函数 继承自 kiwano::LayerActor
void Render (RenderContext &ctx) override
 渲染自身和所有子角色
 
- Protected 成员函数 继承自 kiwano::Actor
virtual void Update (Duration dt)
 更新自身和所有子角色
 
virtual void RenderBorder (RenderContext &ctx)
 绘制自身和所有子角色的边界
 
virtual void PrepareToRender (RenderContext &ctx)
 渲染前初始化渲染上下文状态,仅当 CheckVisibility 返回真时调用该函数
 
void UpdateTransform () const
 更新自己的二维变换,并通知所有子角色
 
void UpdateOpacity ()
 更新自己和所有子角色的透明度
 
void Reorder ()
 将所有子角色按Z轴顺序排序
 
void SetStage (Stage *stage)
 设置节点所在舞台
 
void SetPhysicBody (physics::PhysicBody *body)
 设置物理身体
 
- Protected 成员函数 继承自 kiwano::ComponentManager
 ComponentManager (Actor *target)
 
- Protected 成员函数 继承自 kiwano::IntrusiveListValue< ActorPtr >
 IntrusiveListValue (value_type rhs)
 
const value_type & GetPrev () const
 获取前一元素
 
value_type & GetPrev ()
 获取前一元素
 
const value_type & GetNext () const
 获取下一元素
 
value_type & GetNext ()
 获取下一元素
 

详细描述

ImGui图层

构造及析构函数说明

kiwano::imgui::ImGuiLayer::ImGuiLayer ( const String &  name,
const ImGuiPipeline item 
)

创建ImGui图层

参数
name元素名称
item管道

成员函数说明

void kiwano::imgui::ImGuiLayer::AddItem ( const String &  name,
const ImGuiPipeline item 
)

添加 ImGui 元素

参数
name元素名称
item管道
void kiwano::imgui::ImGuiLayer::OnRender ( RenderContext ctx)
overridevirtual

渲染角色

每帧画面刷新时调用该函数,默认不进行渲染,重载该函数以实现具体渲染过程

参数
ctx渲染上下文

重载 kiwano::Actor .

void kiwano::imgui::ImGuiLayer::RemoveItem ( const String &  name)

移除 ImGui 元素

参数
name元素名称