Kiwano Engine v1.3.x
kiwano::graphics::directx::RenderContextImpl类 参考
类 kiwano::graphics::directx::RenderContextImpl 继承关系图:
kiwano::RenderContext kiwano::NativeObject kiwano::ObjectBase kiwano::RefObject kiwano::Serializable kiwano::Noncopyable

Public 成员函数

HRESULT CreateDeviceResources (ComPtr< ID2D1Factory > factory, ComPtr< ID2D1DeviceContext > ctx)
 
void BeginDraw () override
 开始渲染 更多...
 
void EndDraw () override
 结束渲染 更多...
 
void CreateTexture (Texture &texture, const PixelSize &size) override
 创建空纹理 更多...
 
void DrawTexture (const Texture &texture, const Rect *src_rect, const Rect *dest_rect) override
 绘制纹理 更多...
 
void DrawTextLayout (const TextLayout &layout, const Point &offset, RefPtr< Brush > outline_brush) override
 绘制文本布局 更多...
 
void DrawShape (const Shape &shape) override
 绘制形状轮廓 更多...
 
void DrawLine (const Point &point1, const Point &point2) override
 绘制线段 更多...
 
void DrawRectangle (const Rect &rect) override
 绘制矩形边框 更多...
 
void DrawRoundedRectangle (const Rect &rect, const Vec2 &radius) override
 绘制圆角矩形边框 更多...
 
void DrawEllipse (const Point &center, const Vec2 &radius) override
 绘制椭圆边框 更多...
 
void FillShape (const Shape &shape) override
 填充形状 更多...
 
void FillRectangle (const Rect &rect) override
 填充矩形 更多...
 
void FillRoundedRectangle (const Rect &rect, const Vec2 &radius) override
 填充圆角矩形 更多...
 
void FillEllipse (const Point &center, const Vec2 &radius) override
 填充椭圆 更多...
 
void PushClipRect (const Rect &clip_rect) override
 设置绘制的裁剪区域 更多...
 
void PopClipRect () override
 取消上一次设置的绘制裁剪区域 更多...
 
void PushLayer (Layer &layer) override
 设置图层区域 更多...
 
void PopLayer () override
 取消上一次设置的图层区域 更多...
 
void Clear () override
 清空渲染内容 更多...
 
void Clear (const Color &clear_color) override
 使用纯色清空渲染内容 更多...
 
Size GetSize () const override
 获取渲染区域大小 更多...
 
void SetCurrentBrush (RefPtr< Brush > brush) override
 设置当前使用的画刷 更多...
 
void SetCurrentStrokeStyle (RefPtr< StrokeStyle > stroke_style) override
 设置当前使用的线条样式 更多...
 
void SetTransform (const Matrix3x2 &matrix) override
 设置上下文的二维变换 更多...
 
void SetBlendMode (BlendMode blend) override
 设置混合模式 更多...
 
void SetAntialiasMode (bool enabled) override
 设置抗锯齿模式 更多...
 
void SetTextAntialiasMode (TextAntialiasMode mode) override
 设置文字抗锯齿模式 更多...
 
bool CheckVisibility (const Rect &bounds, const Matrix3x2 &transform) override
 检查边界是否在视区内 更多...
 
void Resize (const Size &size) override
 重设渲染上下文大小 更多...
 
RefPtr< TextureGetTarget () const override
 获取渲染目标 更多...
 
- Public 成员函数 继承自 kiwano::RenderContext
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 成员函数 继承自 kiwano::RenderContext
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 成员函数 继承自 kiwano::RenderContext
void IncreasePrimitivesCount (uint32_t increase=1) const
 增加渲染图元数量
 
- Protected 属性 继承自 kiwano::RenderContext
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::graphics::directx::RenderContextImpl::BeginDraw ( )
overridevirtual

开始渲染

重载 kiwano::RenderContext .

◆ CheckVisibility()

bool kiwano::graphics::directx::RenderContextImpl::CheckVisibility ( const Rect bounds,
const Matrix3x2 transform 
)
overridevirtual

检查边界是否在视区内

实现了 kiwano::RenderContext.

◆ Clear() [1/2]

void kiwano::graphics::directx::RenderContextImpl::Clear ( )
overridevirtual

清空渲染内容

实现了 kiwano::RenderContext.

◆ Clear() [2/2]

void kiwano::graphics::directx::RenderContextImpl::Clear ( const Color clear_color)
overridevirtual

使用纯色清空渲染内容

参数
clear_color清屏颜色

实现了 kiwano::RenderContext.

◆ CreateTexture()

void kiwano::graphics::directx::RenderContextImpl::CreateTexture ( Texture texture,
const PixelSize size 
)
overridevirtual

创建空纹理

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

实现了 kiwano::RenderContext.

◆ DrawEllipse()

void kiwano::graphics::directx::RenderContextImpl::DrawEllipse ( const Point center,
const Vec2 radius 
)
overridevirtual

绘制椭圆边框

参数
center圆心
radius椭圆半径

实现了 kiwano::RenderContext.

◆ DrawLine()

void kiwano::graphics::directx::RenderContextImpl::DrawLine ( const Point point1,
const Point point2 
)
overridevirtual

绘制线段

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

实现了 kiwano::RenderContext.

◆ DrawRectangle()

void kiwano::graphics::directx::RenderContextImpl::DrawRectangle ( const Rect rect)
overridevirtual

绘制矩形边框

参数
rect矩形

实现了 kiwano::RenderContext.

◆ DrawRoundedRectangle()

void kiwano::graphics::directx::RenderContextImpl::DrawRoundedRectangle ( const Rect rect,
const Vec2 radius 
)
overridevirtual

绘制圆角矩形边框

参数
rect矩形
radius圆角半径

实现了 kiwano::RenderContext.

◆ DrawShape()

void kiwano::graphics::directx::RenderContextImpl::DrawShape ( const Shape shape)
overridevirtual

绘制形状轮廓

参数
shape形状

实现了 kiwano::RenderContext.

◆ DrawTextLayout()

void kiwano::graphics::directx::RenderContextImpl::DrawTextLayout ( const TextLayout layout,
const Point offset,
RefPtr< Brush outline_brush 
)
overridevirtual

绘制文本布局

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

实现了 kiwano::RenderContext.

◆ DrawTexture()

void kiwano::graphics::directx::RenderContextImpl::DrawTexture ( const Texture texture,
const Rect src_rect,
const Rect dest_rect 
)
overridevirtual

绘制纹理

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

实现了 kiwano::RenderContext.

◆ EndDraw()

void kiwano::graphics::directx::RenderContextImpl::EndDraw ( )
overridevirtual

结束渲染

重载 kiwano::RenderContext .

◆ FillEllipse()

void kiwano::graphics::directx::RenderContextImpl::FillEllipse ( const Point center,
const Vec2 radius 
)
overridevirtual

填充椭圆

参数
center圆心
radius椭圆半径

实现了 kiwano::RenderContext.

◆ FillRectangle()

void kiwano::graphics::directx::RenderContextImpl::FillRectangle ( const Rect rect)
overridevirtual

填充矩形

参数
rect矩形

实现了 kiwano::RenderContext.

◆ FillRoundedRectangle()

void kiwano::graphics::directx::RenderContextImpl::FillRoundedRectangle ( const Rect rect,
const Vec2 radius 
)
overridevirtual

填充圆角矩形

参数
rect矩形
radius圆角半径

实现了 kiwano::RenderContext.

◆ FillShape()

void kiwano::graphics::directx::RenderContextImpl::FillShape ( const Shape shape)
overridevirtual

填充形状

参数
shape形状

实现了 kiwano::RenderContext.

◆ GetSize()

Size kiwano::graphics::directx::RenderContextImpl::GetSize ( ) const
overridevirtual

获取渲染区域大小

实现了 kiwano::RenderContext.

◆ GetTarget()

RefPtr< Texture > kiwano::graphics::directx::RenderContextImpl::GetTarget ( ) const
overridevirtual

获取渲染目标

实现了 kiwano::RenderContext.

◆ PopClipRect()

void kiwano::graphics::directx::RenderContextImpl::PopClipRect ( )
overridevirtual

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

实现了 kiwano::RenderContext.

◆ PopLayer()

void kiwano::graphics::directx::RenderContextImpl::PopLayer ( )
overridevirtual

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

实现了 kiwano::RenderContext.

◆ PushClipRect()

void kiwano::graphics::directx::RenderContextImpl::PushClipRect ( const Rect clip_rect)
overridevirtual

设置绘制的裁剪区域

参数
clip_rect裁剪矩形

实现了 kiwano::RenderContext.

◆ PushLayer()

void kiwano::graphics::directx::RenderContextImpl::PushLayer ( Layer layer)
overridevirtual

设置图层区域

参数
layer图层区域

实现了 kiwano::RenderContext.

◆ Resize()

void kiwano::graphics::directx::RenderContextImpl::Resize ( const Size size)
overridevirtual

重设渲染上下文大小

实现了 kiwano::RenderContext.

◆ SetAntialiasMode()

void kiwano::graphics::directx::RenderContextImpl::SetAntialiasMode ( bool  enabled)
overridevirtual

设置抗锯齿模式

实现了 kiwano::RenderContext.

◆ SetBlendMode()

void kiwano::graphics::directx::RenderContextImpl::SetBlendMode ( BlendMode  blend)
overridevirtual

设置混合模式

实现了 kiwano::RenderContext.

◆ SetCurrentBrush()

void kiwano::graphics::directx::RenderContextImpl::SetCurrentBrush ( RefPtr< Brush brush)
overridevirtual

设置当前使用的画刷

重载 kiwano::RenderContext .

◆ SetCurrentStrokeStyle()

void kiwano::graphics::directx::RenderContextImpl::SetCurrentStrokeStyle ( RefPtr< StrokeStyle stroke)
overridevirtual

设置当前使用的线条样式

重载 kiwano::RenderContext .

◆ SetTextAntialiasMode()

void kiwano::graphics::directx::RenderContextImpl::SetTextAntialiasMode ( TextAntialiasMode  mode)
overridevirtual

设置文字抗锯齿模式

实现了 kiwano::RenderContext.

◆ SetTransform()

void kiwano::graphics::directx::RenderContextImpl::SetTransform ( const Matrix3x2 matrix)
overridevirtual

设置上下文的二维变换

实现了 kiwano::RenderContext.