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

渲染上下文 更多...

#include <RenderContext.h>

类 kiwano::RenderContext 继承关系图:
kiwano::NativeObject kiwano::ObjectBase kiwano::RefObject kiwano::Serializable kiwano::Noncopyable kiwano::graphics::directx::RenderContextImpl

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

Public 成员函数

virtual void BeginDraw ()
 开始渲染 更多...
 
virtual void EndDraw ()
 结束渲染 更多...
 
virtual void CreateTexture (Texture &texture, const PixelSize &size)=0
 创建空纹理 更多...
 
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, RefPtr< Brush > outline_brush)=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 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 RefPtr< BrushGetCurrentBrush () const
 获取当前画刷
 
virtual const Matrix3x2GetGlobalTransform () const
 获取全局二维变换
 
virtual void SetBrushOpacity (float opacity)
 设置画刷透明度
 
virtual void SetCurrentBrush (RefPtr< Brush > brush)
 设置当前使用的画刷 更多...
 
virtual void SetCurrentStrokeStyle (RefPtr< StrokeStyle > stroke)
 设置当前使用的线条样式 更多...
 
virtual void SetBlendMode (BlendMode blend)=0
 设置混合模式 更多...
 
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)
 设置全局二维变换
 
virtual RefPtr< TextureGetTarget () const =0
 获取渲染目标 更多...
 
void SetCollectingStatus (bool enable)
 启用或禁用状态收集功能
 
const StatusGetStatus () const
 获取渲染上下文状态
 
- Public 成员函数 继承自 kiwano::NativeObject
const AnyGetNative () const
 
template<class _Ty >
_Ty GetNative () const
 
void SetNative (const Any &native)
 
void ResetNative ()
 
bool IsValid () const override
 判断对象是否有效 更多...
 
- 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< RenderContextCreate (RefPtr< Texture > texture, const PixelSize &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_
 
RefPtr< Brushcurrent_brush_
 
RefPtr< StrokeStylecurrent_stroke_
 
Rect visible_size_
 
Matrix3x2 global_transform_
 
Status status_
 
- Protected 属性 继承自 kiwano::NativeObject
Any native_
 

详细描述

渲染上下文

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

成员函数说明

◆ BeginDraw()

void kiwano::RenderContext::BeginDraw ( )
virtual

◆ CheckVisibility()

virtual bool kiwano::RenderContext::CheckVisibility ( const Rect bounds,
const Matrix3x2 transform 
)
pure virtual

检查边界是否在视区内

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ Clear() [1/2]

virtual void kiwano::RenderContext::Clear ( )
pure virtual

清空渲染内容

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ Clear() [2/2]

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

使用纯色清空渲染内容

参数
clear_color清屏颜色

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ Create()

RefPtr< RenderContext > kiwano::RenderContext::Create ( RefPtr< Texture texture,
const PixelSize size 
)
static

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

参数
texture保存绘制结果的纹理
size渲染输出大小

◆ CreateTexture()

virtual void kiwano::RenderContext::CreateTexture ( Texture texture,
const PixelSize size 
)
pure virtual

创建空纹理

参数
[out]texture输出纹理
[in]size纹理像素大小

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawCircle()

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

绘制圆形边框

参数
center圆心
radius椭圆半径

◆ DrawEllipse()

virtual void kiwano::RenderContext::DrawEllipse ( const Point center,
const Vec2 radius 
)
pure virtual

绘制椭圆边框

参数
center圆心
radius椭圆半径

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawLine()

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

绘制线段

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

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawRectangle()

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

绘制矩形边框

参数
rect矩形

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawRoundedRectangle()

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

绘制圆角矩形边框

参数
rect矩形
radius圆角半径

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawShape()

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

绘制形状轮廓

参数
shape形状

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawTextLayout()

virtual void kiwano::RenderContext::DrawTextLayout ( const TextLayout layout,
const Point offset,
RefPtr< Brush outline_brush 
)
pure virtual

绘制文本布局

参数
layout文本布局
offset偏移量
outline_brush描边画刷

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ DrawTexture()

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::graphics::directx::RenderContextImpl 内被实现.

◆ EndDraw()

void kiwano::RenderContext::EndDraw ( )
virtual

◆ FillCircle()

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

填充圆形

参数
center圆心
radius椭圆半径

◆ FillEllipse()

virtual void kiwano::RenderContext::FillEllipse ( const Point center,
const Vec2 radius 
)
pure virtual

填充椭圆

参数
center圆心
radius椭圆半径

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ FillRectangle()

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

填充矩形

参数
rect矩形

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ FillRoundedRectangle()

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

填充圆角矩形

参数
rect矩形
radius圆角半径

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ FillShape()

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

填充形状

参数
shape形状

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ GetSize()

virtual Size kiwano::RenderContext::GetSize ( ) const
pure virtual

获取渲染区域大小

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ GetTarget()

virtual RefPtr< Texture > kiwano::RenderContext::GetTarget ( ) const
pure virtual

获取渲染目标

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ PopClipRect()

virtual void kiwano::RenderContext::PopClipRect ( )
pure virtual

取消上一次设置的绘制裁剪区域

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ PopLayer()

virtual void kiwano::RenderContext::PopLayer ( )
pure virtual

取消上一次设置的图层区域

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ PushClipRect()

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

设置绘制的裁剪区域

参数
clip_rect裁剪矩形

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ PushLayer()

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

设置图层区域

参数
layer图层区域

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ Resize()

virtual void kiwano::RenderContext::Resize ( const Size size)
pure virtual

重设渲染上下文大小

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ SetAntialiasMode()

virtual void kiwano::RenderContext::SetAntialiasMode ( bool  enabled)
pure virtual

设置抗锯齿模式

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ SetBlendMode()

virtual void kiwano::RenderContext::SetBlendMode ( BlendMode  blend)
pure virtual

设置混合模式

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ SetCurrentBrush()

void kiwano::RenderContext::SetCurrentBrush ( RefPtr< Brush brush)
virtual

设置当前使用的画刷

kiwano::graphics::directx::RenderContextImpl 重载.

◆ SetCurrentStrokeStyle()

void kiwano::RenderContext::SetCurrentStrokeStyle ( RefPtr< StrokeStyle stroke)
virtual

设置当前使用的线条样式

kiwano::graphics::directx::RenderContextImpl 重载.

◆ SetTextAntialiasMode()

virtual void kiwano::RenderContext::SetTextAntialiasMode ( TextAntialiasMode  mode)
pure virtual

设置文字抗锯齿模式

kiwano::graphics::directx::RenderContextImpl 内被实现.

◆ SetTransform()

virtual void kiwano::RenderContext::SetTransform ( const Matrix3x2 matrix)
pure virtual

设置上下文的二维变换

kiwano::graphics::directx::RenderContextImpl 内被实现.