uui/include/uui/container_interface.hpp
2022-10-11 17:22:20 +09:00

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