21 lines
484 B
C++
21 lines
484 B
C++
#pragma once
|
|
|
|
#include <memory>
|
|
#include <tuple>
|
|
|
|
#include "uui/types.hpp"
|
|
|
|
namespace uui
|
|
{
|
|
class Component;
|
|
class ContainerInterface
|
|
{
|
|
public:
|
|
virtual std::tuple<int, int> get_child_position(const std::size_t child_index [[maybe_unused]]) const = 0;
|
|
protected:
|
|
virtual std::size_t push_child(std::shared_ptr<Component> child) = 0;
|
|
virtual std::shared_ptr<Component> get_child(std::size_t index) const = 0;
|
|
virtual void remove_child(std::size_t index) = 0;
|
|
};
|
|
|
|
} // namespace uui
|