133 if (open != _bFormat)
145 _layout._alignHorizontalLine = dir_h;
181 _layout._lineSpacing = k;
283 return _fontSize[type];
341 std::vector<TextNode> _allNode;
353 void _update_order();
355 void _update_spr_bg();
357 void _refresh_string();
361 void _update_layout();
364 bool _is_char_can_first(
char ch);
367 bool _update_scale();
void SetPosition(const Position &pos)
不提供其他类型重载,避免{}无法判断类型
Color GetColor(size_t i=0)
返回颜色
void SetFontSize(unsigned size)
设置字体大小
unsigned GetFontSize(TextParam type=TextParam::NORMAL)
返回字体大小
void SetLineSpacing(Float k)
设置行间距,默认为1.0
size_t Pos2CursorIndex(const Position &pos)
返回所在位置(本地坐标系)的光标下标
Position Index2Pos(size_t i)
下标转到 字符位置(本地坐标系、左上角)
bool SetString(std::string_view str)
设置内容
Position GetNodeSize(size_t i)
获取某个字的包围盒大小
const Layout & GetLayout()
unsigned GetNodeFontSize(size_t i)
获取某个字的字体大小
void SetBackground(Text *b)
注意传入gcText会调用上面的重载
void SetLayoutAlign(Align::Direction dir_h)
设置布局属性(多行内的单行)
void SetFormat(bool open)
设置是否要格式化字符串(默认为否)
void SetShadow(unsigned shadow, const Color &color=ColorDef::BLACK)
设置阴影属性
void SetColor(const Color &col, TextParam type=TextParam::NORMAL)
设置颜色
void SetOutline(unsigned outline, const Color &color=ColorDef::BLACK)
设置描边属性
void SetPositionAlign(const Position &pos={}, const Align::Direction2 &dir=Align::LT)
设置Coor位置,来整体对齐
size_t Pos2Index(const Position &pos)
返回所在位置(本地坐标系)的字符下标
void SetMaxW(float w)
设置自动换行宽度,0为不自动换行
Color GetColor(TextParam type=TextParam::NORMAL)
size_t Pos2IndexOutRange(const Position &pos)
返回所在位置(本地坐标系)的字符下标
void SetUI(bool ui)
设置是否是ui(影响穿透)
void SetOrder(float order)
设置绘制顺序
void SetBackground(bool open, const Color &col=ColorDef::TEXT_BG)
设置背景精灵
void SetCenter(const Position &pos={})
设置Coor位置,并根据整体大小居中
void SetFontId(std::size_t id)
设置字体id
Array< Direction, 2 > Direction2
constexpr Array< T, N > Size2Anchor(const Array< T, N > &size, const Array< Direction, N > &dir)
根据大小和对齐,计算锚点
constexpr Color TEXT_BG
文本背景,半透明黑色
constexpr Array< Position::value_type, N > toPosition(const Array< T, N > &a)
转换到Position,已知长度
Array< Position, 4 > Quad
bool _isCantFirstPunct
行首不能为一些符号
bool _isWordInSingleLine
单词必须在单行
Align::Direction _alignHorizontalLine
单行水平对齐
void Set(Float x, Float y)