Kiwano Engine  v1.2.x
kiwano::RenderContext类 参考abstract

渲染上下文 更多...

#include <RenderContext.h>

类 kiwano::RenderContext 继承关系图:
kiwano::RenderContext 的协作图:

struct  Status
 渲染上下文状态 更多...
 

Public 成员函数

virtual void BeginDraw ()
 开始渲染
 
virtual void EndDraw ()
 结束渲染
 
virtual void DrawTexture (const Texture &texture, const Rect *src_rect=nullptr, const Rect *dest_rect=nullptr)=0
 绘制纹理 更多...
 
virtual void DrawTextLayout (const TextLayout &layout, const Point &offset=Point())=0
 绘制文本布局 更多...
 
virtual void DrawShape (const Shape &shape)=0
 绘制形状轮廓 更多...
 
virtual void DrawLine (const Point &point1, const Point &point2)=0
 绘制线段 更多...
 
virtual void DrawRectangle (const Rect &rect)=0
 绘制矩形边框 更多...
 
virtual void DrawRoundedRectangle (const Rect &rect, const Vec2 &radius)=0
 绘制圆角矩形边框 更多...
 
virtual void DrawCircle (const Point &center, float radius)
 绘制圆形边框 更多...
 
virtual void DrawEllipse (const Point &center, const Vec2 &radius)=0
 绘制椭圆边框 更多...
 
virtual void FillShape (const Shape &shape)=0
 填充形状 更多...
 
virtual void FillRectangle (const Rect &rect)=0
 填充矩形 更多...
 
virtual void FillRoundedRectangle (const Rect &rect, const Vec2 &radius)=0
 填充圆角矩形 更多...
 
virtual void FillCircle (const Point &center, float radius)
 填充圆形 更多...
 
virtual void FillEllipse (const Point &center, const Vec2 &radius)=0
 填充椭圆 更多...
 
virtual void CreateTexture (Texture &texture, math::Vec2T< uint32_t > size)=0
 创建纹理 更多...
 
virtual void PushClipRect (const Rect &clip_rect)=0
 设置绘制的裁剪区域 更多...
 
virtual void PopClipRect ()=0
 取消上一次设置的绘制裁剪区域
 
virtual void PushLayer (Layer &layer)=0
 设置图层区域 更多...
 
virtual void PopLayer ()=0
 取消上一次设置的图层区域
 
virtual void Clear ()=0
 清空渲染内容
 
virtual void Clear (const Color &clear_color)=0
 使用纯色清空渲染内容 更多...
 
virtual Size GetSize () const =0
 获取渲染区域大小
 
virtual float GetBrushOpacity () const
 获取画刷透明度
 
virtual BrushPtr GetCurrentBrush () const
 获取当前画刷
 
virtual const Matrix3x2GetGlobalTransform () const
 获取全局二维变换
 
virtual void SetBrushOpacity (float opacity)
 设置画刷透明度
 
virtual void SetCurrentBrush (BrushPtr brush)
 设置当前使用的画刷
 
virtual void SetCurrentStrokeStyle (StrokeStylePtr stroke)
 设置当前使用的线条样式
 
virtual void SetAntialiasMode (bool enabled)=0
 设置抗锯齿模式
 
virtual void SetTextAntialiasMode (TextAntialiasMode mode)=0
 设置文字抗锯齿模式
 
virtual bool CheckVisibility (const Rect &bounds, const Matrix3x2 &transform)=0
 检查边界是否在视区内
 
virtual void Resize (const Size &size)=0
 重设渲染上下文大小
 
virtual void SetTransform (const Matrix3x2 &matrix)=0
 设置上下文的二维变换
 
virtual void SetGlobalTransform (const Matrix3x2 &matrix)
 设置全局二维变换
 
virtual void SetGlobalTransform (const Matrix3x2 *matrix)
 设置全局二维变换
 
void SetCollectingStatus (bool enable)
 启用或禁用状态收集功能
 
const StatusGetStatus () const
 获取渲染上下文状态
 
- Public 成员函数 继承自 kiwano::NativeObjectBase
bool IsValid () const override
 判断对象是否有效
 
void * GetNativePointer () const
 
template<typename _NativeTy >
_NativeTy * GetNativePointer () const
 
virtual void ResetNativePointer (void *native_pointer=nullptr)
 
- 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
 反序列化
 
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 成员函数

static RenderContextPtr Create (Texture &texture)
 创建纹理渲染上下文,将绘制结果输出到纹理中 更多...
 
static RenderContextPtr Create (Texture &texture, const Size &size)
 创建纹理渲染上下文,将绘制结果输出到纹理中 更多...
 
- 静态 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 成员函数

void IncreasePrimitivesCount (uint32_t increase=1) const
 增加渲染图元数量
 

Protected 属性

bool antialias_
 
bool fast_global_transform_
 
bool collecting_status_
 
float brush_opacity_
 
TextAntialiasMode text_antialias_
 
BrushPtr current_brush_
 
StrokeStylePtr current_stroke_
 
Rect visible_size_
 
Matrix3x2 global_transform_
 
Status status_
 
- Protected 属性 继承自 kiwano::NativeObjectBase
void * native_pointer_
 

详细描述

渲染上下文

渲染上下文将完成基础图元的绘制,并将绘制结果输出到特定的平面中

成员函数说明

virtual void kiwano::RenderContext::Clear ( const Color clear_color)
pure virtual

使用纯色清空渲染内容

参数
clear_color清屏颜色

kiwano::RenderContextImpl 内被实现.

RenderContextPtr kiwano::RenderContext::Create ( Texture texture)
static

创建纹理渲染上下文,将绘制结果输出到纹理中

参数
texture保存绘制结果的纹理
RenderContextPtr kiwano::RenderContext::Create ( Texture texture,
const Size size 
)
static

创建纹理渲染上下文,将绘制结果输出到纹理中

参数
texture保存绘制结果的纹理
size渲染输出大小
virtual void kiwano::RenderContext::CreateTexture ( Texture texture,
math::Vec2T< uint32_t >  size 
)
pure virtual

创建纹理

参数
texture纹理
size纹理像素大小

kiwano::RenderContextImpl 内被实现.

void kiwano::RenderContext::DrawCircle ( const Point center,
float  radius 
)
virtual

绘制圆形边框

参数
center圆心
radius椭圆半径
virtual void kiwano::RenderContext::DrawEllipse ( const Point center,
const Vec2 radius 
)
pure virtual

绘制椭圆边框

参数
center圆心
radius椭圆半径

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::DrawLine ( const Point point1,
const Point point2 
)
pure virtual

绘制线段

参数
point1线段起点
point2线段终点

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::DrawRectangle ( const Rect rect)
pure virtual

绘制矩形边框

参数
rect矩形

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::DrawRoundedRectangle ( const Rect rect,
const Vec2 radius 
)
pure virtual

绘制圆角矩形边框

参数
rect矩形
radius圆角半径

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::DrawShape ( const Shape shape)
pure virtual

绘制形状轮廓

参数
shape形状

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::DrawTextLayout ( const TextLayout layout,
const Point offset = Point() 
)
pure virtual

绘制文本布局

参数
layout文本布局
offset偏移量

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::DrawTexture ( const Texture texture,
const Rect src_rect = nullptr,
const Rect dest_rect = nullptr 
)
pure virtual

绘制纹理

参数
texture纹理
src_rect源纹理裁剪矩形
dest_rect绘制的目标区域

kiwano::RenderContextImpl 内被实现.

void kiwano::RenderContext::FillCircle ( const Point center,
float  radius 
)
virtual

填充圆形

参数
center圆心
radius椭圆半径
virtual void kiwano::RenderContext::FillEllipse ( const Point center,
const Vec2 radius 
)
pure virtual

填充椭圆

参数
center圆心
radius椭圆半径

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::FillRectangle ( const Rect rect)
pure virtual

填充矩形

参数
rect矩形

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::FillRoundedRectangle ( const Rect rect,
const Vec2 radius 
)
pure virtual

填充圆角矩形

参数
rect矩形
radius圆角半径

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::FillShape ( const Shape shape)
pure virtual

填充形状

参数
shape形状

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::PushClipRect ( const Rect clip_rect)
pure virtual

设置绘制的裁剪区域

参数
clip_rect裁剪矩形

kiwano::RenderContextImpl 内被实现.

virtual void kiwano::RenderContext::PushLayer ( Layer layer)
pure virtual

设置图层区域

参数
layer图层区域

kiwano::RenderContextImpl 内被实现.