Add modules support

This commit is contained in:
Toyosatomimi no Miko
2025-03-25 18:49:18 -04:00
parent 5bf8ee819b
commit 69928b374e
40 changed files with 985 additions and 0 deletions

View File

@@ -0,0 +1,18 @@
/**
* @file Canvas.cppm
* @brief Module file for the Canvas struct of the Dom module
*/
module;
#include <ftxui/dom/canvas.hpp>
export module ftxui.dom.Canvas;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Canvas;
}

View File

@@ -0,0 +1,20 @@
/**
* @file Deprecated.cppm
* @brief Module file for deprecated parts of the Dom module
*/
module;
#include <ftxui/dom/deprecated.hpp>
export module ftxui.dom.Deprecated;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::text;
using ftxui::vtext;
using ftxui::paragraph;
}

View File

@@ -0,0 +1,18 @@
/**
* @file Direction.cppm
* @brief Module file for the Direction enum of the Dom module
*/
module;
#include <ftxui/dom/direction.hpp>
export module ftxui.dom.Direction;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Direction;
}

View File

@@ -0,0 +1,130 @@
/**
* @file Canvas.cppm
* @brief Module file for the Element classes and functions of the Dom module
*/
module;
#include <ftxui/dom/elements.hpp>
export module ftxui.dom.Elements;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Node;
using ftxui::Element;
using ftxui::Elements;
using ftxui::Decorator;
using ftxui::GraphFunction;
using ftxui::BorderStyle;
using ftxui::operator|;
using ftxui::operator|=;
using ftxui::text;
using ftxui::vtext;
using ftxui::separator;
using ftxui::separatorLight;
using ftxui::separatorDashed;
using ftxui::separatorHeavy;
using ftxui::separatorDouble;
using ftxui::separatorEmpty;
using ftxui::separatorStyled;
using ftxui::separatorCharacter;
using ftxui::separatorHSelector;
using ftxui::separatorVSelector;
using ftxui::gauge;
using ftxui::gaugeLeft;
using ftxui::gaugeRight;
using ftxui::gaugeUp;
using ftxui::gaugeDown;
using ftxui::gaugeDirection;
using ftxui::border;
using ftxui::borderLight;
using ftxui::borderDashed;
using ftxui::borderHeavy;
using ftxui::borderDouble;
using ftxui::borderRounded;
using ftxui::borderEmpty;
using ftxui::borderStyled;
using ftxui::borderWith;
using ftxui::window;
using ftxui::spinner;
using ftxui::paragraph;
using ftxui::paragraphAlignLeft;
using ftxui::paragraphAlignRight;
using ftxui::paragraphAlignCenter;
using ftxui::paragraphAlignJustify;
using ftxui::graph;
using ftxui::emptyElement;
using ftxui::canvas;
using ftxui::bold;
using ftxui::dim;
using ftxui::inverted;
using ftxui::underlined;
using ftxui::underlinedDouble;
using ftxui::blink;
using ftxui::strikethrough;
using ftxui::color;
using ftxui::bgcolor;
using ftxui::focusPosition;
using ftxui::focusPositionRelative;
using ftxui::automerge;
using ftxui::hyperlink;
using ftxui::selectionStyleReset;
using ftxui::selectionColor;
using ftxui::selectionBackgroundColor;
using ftxui::selectionForegroundColor;
using ftxui::selectionStyle;
using ftxui::hbox;
using ftxui::vbox;
using ftxui::dbox;
using ftxui::flexbox;
using ftxui::gridbox;
using ftxui::hflow;
using ftxui::vflow;
using ftxui::flex;
using ftxui::flex_grow;
using ftxui::flex_shrink;
using ftxui::xflex;
using ftxui::xflex_grow;
using ftxui::xflex_shrink;
using ftxui::yflex;
using ftxui::yflex_grow;
using ftxui::yflex_shrink;
using ftxui::notflex;
using ftxui::filler;
using ftxui::WidthOrHeight;
using ftxui::Constraint;
using ftxui::size;
using ftxui::focusCursorBlock;
using ftxui::focusCursorBlockBlinking;
using ftxui::focusCursorBar;
using ftxui::focusCursorBarBlinking;
using ftxui::focusCursorUnderline;
using ftxui::focusCursorUnderlineBlinking;
using ftxui::vscroll_indicator;
using ftxui::hscroll_indicator;
using ftxui::reflect;
using ftxui::clear_under;
using ftxui::hcenter;
using ftxui::vcenter;
using ftxui::center;
using ftxui::align_right;
using ftxui::nothing;
namespace Dimension {
using ftxui::Dimension::Fit;
}
}

View File

@@ -0,0 +1,18 @@
/**
* @file FlexboxConfig.cppm
* @brief Module file for the FlexboxConfig struct of the Dom module
*/
module;
#include <ftxui/dom/flexbox_config.hpp>
export module ftxui.dom.FlexboxConfig;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::FlexboxConfig;
}

View File

@@ -0,0 +1,18 @@
/**
* @file LinearGradient.cppm
* @brief Module file for the LinearGradient struct of the Dom module
*/
module;
#include <ftxui/dom/linear_gradient.hpp>
export module ftxui.dom.LinearGradient;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::LinearGradient;
}

View File

@@ -0,0 +1,25 @@
/**
* @file Node.cppm
* @brief Module file for the Node class of the Dom module
*/
module;
#include <ftxui/dom/node.hpp>
export module ftxui.dom.Node;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Node;
using ftxui::Screen;
using ftxui::Element;
using ftxui::Elements;
using ftxui::Render;
using ftxui::GetNodeSelectedContent;
}

View File

@@ -0,0 +1,18 @@
/**
* @file Requirement.cppm
* @brief Module file for the Requirement struct of the Dom module
*/
module;
#include <ftxui/dom/requirement.hpp>
export module ftxui.dom.Requirement;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Requirement;
}

View File

@@ -0,0 +1,18 @@
/**
* @file Selection.cppm
* @brief Module file for the Selection class of the Dom module
*/
module;
#include <ftxui/dom/selection.hpp>
export module ftxui.dom.Selection;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Selection;
}

View File

@@ -0,0 +1,19 @@
/**
* @file Table.cppm
* @brief Module file for the Table class of the Dom module
*/
module;
#include <ftxui/dom/table.hpp>
export module ftxui.dom.Table;
/**
* @namespace ftxui
* @brief The FTXUI ftxui:: namespace
*/
export namespace ftxui {
using ftxui::Table;
using ftxui::TableSelection;
}