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

形状生成器 更多...

#include <ShapeMaker.h>

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

Public 成员函数

RefPtr< ShapeGetShape ()
 获取生成的形状
 
void Clear ()
 清空图形
 
void BeginPath (const Point &begin_pos=Point())
 开始添加路径并打开输入流 更多...
 
void EndPath (bool closed=false)
 结束路径并关闭输入流 更多...
 
void AddLine (const Point &point)
 添加一条线段 更多...
 
void AddLines (const Vector< Point > &points)
 添加多条线段 更多...
 
void AddLines (const Point *points, size_t count)
 添加多条线段 更多...
 
void AddBezier (const Point &point1, const Point &point2, const Point &point3)
 添加一条三次方贝塞尔曲线 更多...
 
void AddArc (const Point &point, const Size &radius, float rotation, bool clockwise=true, bool is_small=true)
 添加弧线 更多...
 
void SetShape (RefPtr< Shape > shape)
 设置生成的形状 更多...
 
- 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< ShapeCombine (RefPtr< Shape > shape_a, RefPtr< Shape > shape_b, CombineMode mode, const Matrix3x2 *matrix=nullptr)
 合并形状 更多...
 
- 静态 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::NativeObject
Any native_
 

详细描述

形状生成器

成员函数说明

◆ AddArc()

void kiwano::ShapeMaker::AddArc ( const Point point,
const Size radius,
float  rotation,
bool  clockwise = true,
bool  is_small = true 
)

添加弧线

参数
point终点
radius椭圆半径
rotation椭圆旋转角度
clockwise顺时针 or 逆时针
is_small是否取小于 180° 的弧

◆ AddBezier()

void kiwano::ShapeMaker::AddBezier ( const Point point1,
const Point point2,
const Point point3 
)

添加一条三次方贝塞尔曲线

参数
point1贝塞尔曲线的第一个控制点
point2贝塞尔曲线的第二个控制点
point3贝塞尔曲线的终点

◆ AddLine()

void kiwano::ShapeMaker::AddLine ( const Point point)

添加一条线段

参数
point端点

◆ AddLines() [1/2]

void kiwano::ShapeMaker::AddLines ( const Point points,
size_t  count 
)

添加多条线段

参数
points端点数组
count端点数量

◆ AddLines() [2/2]

void kiwano::ShapeMaker::AddLines ( const Vector< Point > &  points)

添加多条线段

参数
points端点集合

◆ BeginPath()

void kiwano::ShapeMaker::BeginPath ( const Point begin_pos = Point())

开始添加路径并打开输入流

参数
begin_pos路径起始点

◆ Combine()

RefPtr< Shape > kiwano::ShapeMaker::Combine ( RefPtr< Shape shape_a,
RefPtr< Shape shape_b,
CombineMode  mode,
const Matrix3x2 matrix = nullptr 
)
static

合并形状

参数
shape_a输入的形状A
shape_b输入的形状B
mode合并方式
matrix应用到输入形状B上的二维变换
返回
返回合并后的形状

◆ EndPath()

void kiwano::ShapeMaker::EndPath ( bool  closed = false)

结束路径并关闭输入流

参数
closed路径是否闭合

◆ SetShape()

void kiwano::ShapeMaker::SetShape ( RefPtr< Shape shape)

设置生成的形状

注解
应由系统调用该函数