VisuTwin Canvas
C++ 3D Engine — Metal Backend
Loading...
Searching...
No Matches
buttonComponent.h
Go to the documentation of this file.
1// SPDX-License-Identifier: Apache-2.0
2// Copyright 2025-2026 Arnis Lektauers
3#pragma once
4
5#include <algorithm>
6#include <vector>
7
9
10namespace visutwin::canvas
11{
12 class Entity;
13
15 {
16 public:
18 ~ButtonComponent() override;
19
20 void initializeComponentData() override {}
21
22 static const std::vector<ButtonComponent*>& instances() { return _instances; }
23
24 Entity* imageEntity() const { return _imageEntity; }
25 void setImageEntity(Entity* entity) { _imageEntity = entity; }
26
27 private:
28 inline static std::vector<ButtonComponent*> _instances;
29 Entity* _imageEntity = nullptr;
30 };
31}
void setImageEntity(Entity *entity)
ButtonComponent(IComponentSystem *system, Entity *entity)
static const std::vector< ButtonComponent * > & instances()
Entity * entity() const
Definition component.cpp:16
Component(IComponentSystem *system, Entity *entity)
Definition component.cpp:12
IComponentSystem * system() const
Definition component.h:47
ECS entity — a GraphNode that hosts components defining its behavior.
Definition entity.h:32