策略抽离
This commit is contained in:
@@ -46,7 +46,14 @@ public:
|
||||
void remove_child(const std::shared_ptr<Renderable>& child);
|
||||
std::vector<std::shared_ptr<Renderable>> children_snapshot() const;
|
||||
std::vector<std::shared_ptr<Renderable>> hit_renderables(const PointF& pos);
|
||||
void append_tree_snapshot(Renderable_Frame_Tree& snapshot, const std::string& parent_object_name = {}, int render_tree_depth = 0, const std::string& cache_parent_object_name = {}, int cache_tree_depth = 0);
|
||||
void append_tree_snapshot(
|
||||
Renderable_Frame_Tree& snapshot,
|
||||
std::uint64_t parent_node_id = 0,
|
||||
const std::string& parent_object_name = {},
|
||||
int render_tree_depth = 0,
|
||||
std::uint64_t cache_parent_node_id = 0,
|
||||
const std::string& cache_parent_object_name = {},
|
||||
int cache_tree_depth = 0);
|
||||
void render(Canvas& canvas, const Render_Frame_Snapshot& snapshot);
|
||||
void render_tree_snapshot(Canvas& canvas, const Render_Frame_Snapshot& snapshot, const Renderable_Frame_Tree& tree, std::size_t index);
|
||||
void draw(Canvas& canvas, const Render_Frame_Snapshot& snapshot);
|
||||
@@ -66,6 +73,7 @@ public:
|
||||
[[nodiscard]] bool attached_to_plot() const;
|
||||
[[nodiscard]] bool shares_plot_with(const Renderable& other) const;
|
||||
[[nodiscard]] const std::string& object_name() const;
|
||||
[[nodiscard]] std::uint64_t node_id() const;
|
||||
void set_object_name(std::string name);
|
||||
[[nodiscard]] bool is_visible() const;
|
||||
void set_visible(bool value);
|
||||
@@ -75,7 +83,7 @@ public:
|
||||
int cache_tree_depth() const;
|
||||
std::string render_parent_object_name() const;
|
||||
int render_tree_depth() const;
|
||||
void mark_render_dirty();
|
||||
void mark_render_dirty(Dirty_Reason reason = Dirty_Reason::Core_Data);
|
||||
[[nodiscard]] bool ok() const;
|
||||
[[nodiscard]] bool get_retiring() const;
|
||||
virtual ~Renderable();
|
||||
@@ -87,6 +95,7 @@ private:
|
||||
Render_Object_Owner d_owner;
|
||||
Render_Data* d_ptr{};
|
||||
Plot_Core* plot{};
|
||||
std::uint64_t node_id_{};
|
||||
std::string object_name_;
|
||||
std::weak_ptr<Renderable> parent_renderable;
|
||||
std::atomic_bool visible_{true};
|
||||
|
||||
Reference in New Issue
Block a user