denigma 4.0.0
Loading...
Searching...
No Matches
denigma::classify::smartshape::GeneralLine Struct Reference

Describes the appearance of a line-type smart shape in musxdom terms. More...

#include <general_lines.h>

Collaboration diagram for denigma::classify::smartshape::GeneralLine:

Public Types

using LineStyle = musx::dom::others::SmartShapeCustomLine::LineStyle
 The line body style. (Custom lines and built-ins share the musxdom custom-line enum.)
 

Public Attributes

LineStyle lineStyle {}
 Line body style.
 
bool lineVisible {}
 False when the line body draws nothing (zero width or a blank character).
 
musx::dom::Efix lineWidth {}
 Line width. (Solid and dashed styles.)
 
musx::dom::Efix dashOn {}
 Dash length. (Dashed style only.)
 
musx::dom::Efix dashOff {}
 Length of gap between dashes. (Dashed style only.)
 
char32_t lineChar {}
 The repeated line character. (Char style only.)
 
std::shared_ptr< musx::dom::FontInfo > lineCharFont
 The font of lineChar. (Char style only.)
 
std::optional< std::string > lineCharGlyphName
 SMuFL glyph name of lineChar, when resolvable. (Char style only.)
 
bool horizontal {}
 True when the line is forced horizontal ("Horizontal" in the custom line dialog).
 
LineCap startCap
 Cap at the left/start end.
 
LineCap endCap
 Cap at the right/end end.
 
musx::util::EnigmaParsingContext startText
 Left-start text, if any. (Custom lines only.)
 
musx::util::EnigmaParsingContext continuationText
 Left-continuation text, if any. (Custom lines only.)
 
musx::util::EnigmaParsingContext endText
 Right-end text, if any. (Custom lines only.)
 
musx::util::EnigmaParsingContext centerFullText
 Center full text, if any. (Custom lines only.)
 
musx::util::EnigmaParsingContext centerAbbrText
 Center abbreviated text, if any. (Custom lines only.)
 
musx::dom::MusxInstance< musx::dom::others::SmartShapeCustomLine > customLine
 The custom line style, or null when the shape is a built-in line type.
 

Detailed Description

Describes the appearance of a line-type smart shape in musxdom terms.

Both built-in solid/dashed line shape types and custom lines are normalized into this payload, giving consumers a single fallback representation for any line they cannot handle semantically. Built-in line shape types have no customLine and no texts.

Member Data Documentation

◆ customLine

musx::dom::MusxInstance<musx::dom::others::SmartShapeCustomLine> denigma::classify::smartshape::GeneralLine::customLine

The custom line style, or null when the shape is a built-in line type.

Positioning minutiae (text offsets, line adjustments) remain available here.

◆ horizontal

bool denigma::classify::smartshape::GeneralLine::horizontal {}

True when the line is forced horizontal ("Horizontal" in the custom line dialog).

Built-in line shape types follow their endpoints and report false.


The documentation for this struct was generated from the following file: