#ifndef FTXUI_COMPONENT_HPP #define FTXUI_COMPONENT_HPP #include // for function #include // for shared_ptr, make_shared #include // for wstring #include // for vector #include "ftxui/component/component_base.hpp" namespace ftxui { class ComponentBase; using Component = std::shared_ptr; using Components = std::vector; template std::shared_ptr Make(Args&&... args) { return std::make_shared(args...); } Component Button(const std::wstring* label, std::function on_click); Component Checkbox(const std::wstring* label, bool* checked); Component Input(std::wstring* content, const std::wstring* placeholder); Component Menu(const std::vector* entries, int* selected_); Component Radiobox(const std::vector* entries, int* selected_); Component Toggle(const std::vector* entries, int* selected); Component Renderer(Component child, std::function); Component Renderer(std::function); template // T = {int, float} Component Slider(std::wstring label, T* value, T min, T max, T increment); // namespace Component { // Component Vertical(Components children); // Component Horizontal(Components children); // Component Tab(int* selector, Components children); //} // namespace Component }; // namespace ftxui #endif /* end of include guard: FTXUI_COMPONENT_HPP */ // Copyright 2021 Arthur Sonzogni. All rights reserved. // Use of this source code is governed by the MIT license that can be found in // the LICENSE file.