Kiwano Engine v1.3.x
kiwano::CanvasRenderContext类 参考

画布渲染上下文 更多...

#include <Canvas.h>

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

Public 成员函数

void BeginDraw ()
 开始渲染
 
void EndDraw ()
 结束渲染
 
void DrawActor (RefPtr< Actor > actor)
 画角色 更多...
 
void DrawShape (RefPtr< Shape > shape)
 画形状轮廓 更多...
 
void DrawLine (const Point &begin, const Point &end)
 画线段 更多...
 
void DrawCircle (const Point &center, float radius)
 画圆形边框 更多...
 
void DrawEllipse (const Point &center, const Vec2 &radius)
 画椭圆形边框 更多...
 
void DrawRect (const Rect &rect)
 画矩形边框 更多...
 
void DrawRoundedRect (const Rect &rect, const Vec2 &radius)
 画圆角矩形边框 更多...
 
void FillShape (RefPtr< Shape > shape)
 填充形状 更多...
 
void FillCircle (const Point &center, float radius)
 填充圆形 更多...
 
void FillEllipse (const Point &center, const Vec2 &radius)
 填充椭圆形 更多...
 
void FillRect (const Rect &rect)
 填充矩形 更多...
 
void FillRoundedRect (const Rect &rect, const Vec2 &radius)
 填充圆角矩形 更多...
 
void DrawTexture (RefPtr< Texture > texture, const Point &pos, const Rect *crop_rect=nullptr)
 绘制纹理 更多...
 
void DrawTexture (RefPtr< Texture > texture, const Point &pos, const Size &size, const Rect *crop_rect=nullptr)
 绘制纹理 更多...
 
void DrawSpriteFrame (const SpriteFrame &frame, const Point &pos)
 绘制精灵帧 更多...
 
void DrawSpriteFrame (const SpriteFrame &frame, const Point &pos, const Size &size)
 绘制精灵帧 更多...
 
void DrawTextLayout (StringView text, const TextStyle &style, const Point &point)
 绘制文字布局 更多...
 
void DrawTextLayout (RefPtr< TextLayout > layout, const Point &point)
 绘制文字布局 更多...
 
void Clear ()
 清空画布
 
void Clear (const Color &clear_color)
 清空画布 更多...
 
void SetFillColor (const Color &color)
 设置填充颜色 更多...
 
void SetFillBrush (RefPtr< Brush > brush)
 设置填充画刷 更多...
 
RefPtr< BrushGetFillBrush () const
 获取填充画刷
 
void SetStrokeColor (const Color &color)
 设置轮廓颜色 更多...
 
void SetStrokeBrush (RefPtr< Brush > brush)
 设置轮廓画刷 更多...
 
RefPtr< BrushGetStrokeBrush () const
 获取轮廓画刷
 
void SetStrokeStyle (RefPtr< StrokeStyle > stroke_style)
 设置轮廓样式 更多...
 
RefPtr< StrokeStyleGetStrokeStyle () const
 获取轮廓样式
 
void PushClipRect (const Rect &clip_rect)
 添加一个裁剪区域 更多...
 
void PopClipRect ()
 删除最近添加的裁剪区域
 
void PushLayer (RefPtr< Layer > layer)
 添加一个图层 更多...
 
void PopLayer ()
 删除最近添加的图层
 
Size GetSize () const
 获取画布大小
 
void SetTransform (const Matrix3x2 &matrix)
 设置渲染上下文的二维变换矩阵
 
void SetAntialiasMode (bool enabled)
 设置抗锯齿模式
 
void SetTextAntialiasMode (TextAntialiasMode mode)
 设置文字抗锯齿模式
 
- 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
 执行反序列化 更多...
 

友元

class Canvas
 

额外继承的成员函数

- 静态 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
 

详细描述

画布渲染上下文

成员函数说明

◆ Clear()

void kiwano::CanvasRenderContext::Clear ( const Color clear_color)
inline

清空画布

参数
clear_color清空颜色

◆ DrawActor()

void kiwano::CanvasRenderContext::DrawActor ( RefPtr< Actor actor)
inline

画角色

参数
actor角色

◆ DrawCircle()

void kiwano::CanvasRenderContext::DrawCircle ( const Point center,
float  radius 
)
inline

画圆形边框

参数
center圆形原点
radius圆形半径

◆ DrawEllipse()

void kiwano::CanvasRenderContext::DrawEllipse ( const Point center,
const Vec2 radius 
)
inline

画椭圆形边框

参数
center椭圆原点
radius椭圆半径

◆ DrawLine()

void kiwano::CanvasRenderContext::DrawLine ( const Point begin,
const Point end 
)
inline

画线段

参数
begin线段起点
end线段终点

◆ DrawRect()

void kiwano::CanvasRenderContext::DrawRect ( const Rect rect)
inline

画矩形边框

参数
rect矩形

◆ DrawRoundedRect()

void kiwano::CanvasRenderContext::DrawRoundedRect ( const Rect rect,
const Vec2 radius 
)
inline

画圆角矩形边框

参数
rect矩形
radius矩形圆角半径

◆ DrawShape()

void kiwano::CanvasRenderContext::DrawShape ( RefPtr< Shape shape)
inline

画形状轮廓

参数
shape形状

◆ DrawSpriteFrame() [1/2]

void kiwano::CanvasRenderContext::DrawSpriteFrame ( const SpriteFrame frame,
const Point pos 
)
inline

绘制精灵帧

参数
frame精灵帧
pos绘制的目标位置

◆ DrawSpriteFrame() [2/2]

void kiwano::CanvasRenderContext::DrawSpriteFrame ( const SpriteFrame frame,
const Point pos,
const Size size 
)
inline

绘制精灵帧

参数
frame精灵帧
pos绘制的目标位置
size绘制的目标大小

◆ DrawTextLayout() [1/2]

void kiwano::CanvasRenderContext::DrawTextLayout ( RefPtr< TextLayout layout,
const Point point 
)
inline

绘制文字布局

参数
layout文字布局
point绘制布局的位置

◆ DrawTextLayout() [2/2]

void kiwano::CanvasRenderContext::DrawTextLayout ( StringView  text,
const TextStyle style,
const Point point 
)
inline

绘制文字布局

参数
text文字
style文字样式
point绘制文字的位置

◆ DrawTexture() [1/2]

void kiwano::CanvasRenderContext::DrawTexture ( RefPtr< Texture texture,
const Point pos,
const Rect crop_rect = nullptr 
)
inline

绘制纹理

参数
texture纹理
pos绘制的目标位置
crop_rect纹理裁剪矩形

◆ DrawTexture() [2/2]

void kiwano::CanvasRenderContext::DrawTexture ( RefPtr< Texture texture,
const Point pos,
const Size size,
const Rect crop_rect = nullptr 
)
inline

绘制纹理

参数
texture纹理
pos绘制的目标位置
size绘制的目标大小
crop_rect纹理裁剪矩形

◆ FillCircle()

void kiwano::CanvasRenderContext::FillCircle ( const Point center,
float  radius 
)
inline

填充圆形

参数
center圆形原点
radius圆形半径

◆ FillEllipse()

void kiwano::CanvasRenderContext::FillEllipse ( const Point center,
const Vec2 radius 
)
inline

填充椭圆形

参数
center椭圆原点
radius椭圆半径

◆ FillRect()

void kiwano::CanvasRenderContext::FillRect ( const Rect rect)
inline

填充矩形

参数
rect矩形

◆ FillRoundedRect()

void kiwano::CanvasRenderContext::FillRoundedRect ( const Rect rect,
const Vec2 radius 
)
inline

填充圆角矩形

参数
rect矩形
radius矩形圆角半径

◆ FillShape()

void kiwano::CanvasRenderContext::FillShape ( RefPtr< Shape shape)
inline

填充形状

参数
shape形状

◆ PushClipRect()

void kiwano::CanvasRenderContext::PushClipRect ( const Rect clip_rect)
inline

添加一个裁剪区域

参数
clip_rect裁剪矩形

◆ PushLayer()

void kiwano::CanvasRenderContext::PushLayer ( RefPtr< Layer layer)
inline

添加一个图层

参数
layer图层

◆ SetFillBrush()

void kiwano::CanvasRenderContext::SetFillBrush ( RefPtr< Brush brush)
inline

设置填充画刷

参数
[in]brush填充画刷

◆ SetFillColor()

void kiwano::CanvasRenderContext::SetFillColor ( const Color color)
inline

设置填充颜色

参数
color填充颜色

◆ SetStrokeBrush()

void kiwano::CanvasRenderContext::SetStrokeBrush ( RefPtr< Brush brush)
inline

设置轮廓画刷

参数
[in]brush轮廓画刷

◆ SetStrokeColor()

void kiwano::CanvasRenderContext::SetStrokeColor ( const Color color)
inline

设置轮廓颜色

参数
color轮廓颜色

◆ SetStrokeStyle()

void kiwano::CanvasRenderContext::SetStrokeStyle ( RefPtr< StrokeStyle stroke_style)
inline

设置轮廓样式

参数
stroke_style轮廓样式