xcal
基于 C++23 的现代图形渲染引擎
载入中...
搜索中...
未找到
xcal
mobject
core
abs_mobject.hpp
浏览该文件的文档.
1
11
#pragma once
12
#include <
xcal/public.h
>
13
14
#include <
xcal/mobject/core/mobject_types.hpp
>
15
#include <
xcal/property/core/property.hpp
>
16
17
namespace
xcal::mobject
{
18
31
class
XCAL_API
AbsMObject
{
32
private
:
37
virtual
Type
type_()
const
= 0;
38
39
private
:
40
bool_t
visible_ = {
true
};
41
std::vector<property::MProperty*> properties_{};
42
43
protected
:
50
template
<
class
... Arg>
51
requires
(std::is_base_of_v<property::MProperty, Arg> && ...)
52
void register_properties(Arg&... arg) {
53
(properties_.push_back(
static_cast<
property::MProperty
*
>
(&arg)), ...);
54
}
55
56
public
:
60
AbsMObject
() =
default
;
61
62
public
:
67
bool
visible
()
const
{
return
visible_; }
68
73
bool
&
visible
() {
return
visible_; }
74
75
Type
type
()
const
{
return
type_(); }
76
81
std::vector<property::MProperty*>&
properties
() {
return
properties_; }
82
86
virtual
~AbsMObject
() =
default
;
87
};
88
92
using
AbsMObject_ptr
= std::unique_ptr<AbsMObject>;
93
94
}
// namespace xcal::mobject
xcal::mobject::AbsMObject
图形对象命名空间
Definition
abs_mobject.hpp:31
xcal::mobject::AbsMObject::~AbsMObject
virtual ~AbsMObject()=default
虚析构函数
xcal::mobject::AbsMObject::properties
std::vector< property::MProperty * > & properties()
获取对象属性列表
Definition
abs_mobject.hpp:81
xcal::mobject::AbsMObject::visible
bool & visible()
获取对象可见性状态(可修改)
Definition
abs_mobject.hpp:73
xcal::mobject::AbsMObject::visible
bool visible() const
获取对象可见性状态(只读)
Definition
abs_mobject.hpp:67
xcal::mobject::AbsMObject::type
Type type() const
Definition
abs_mobject.hpp:75
xcal::mobject::AbsMObject::AbsMObject
AbsMObject()=default
默认构造函数
xcal::property::MProperty
Definition
property.hpp:24
mobject_types.hpp
xcal::mobject
Definition
abs_mgroup.hpp:14
xcal::mobject::AbsMObject_ptr
std::unique_ptr< AbsMObject > AbsMObject_ptr
抽象图形对象智能指针类型定义
Definition
abs_mobject.hpp:92
xcal::mobject::Type
Type
Definition
mobject_types.hpp:5
xcal::bool_t
bool bool_t
Definition
public.h:28
property.hpp
public.h
XCAL_API
#define XCAL_API
Definition
public.h:69
生成于 2025年 九月 19日 星期五 21:12:12 , 为 xcal使用
1.9.8