5namespace Stroika::Frameworks::Led {
12 inline StyledInfoSummaryRecord::StyledInfoSummaryRecord (
const FontSpecification& fontSpec,
size_t length)
13 : FontSpecification{fontSpec}
23 inline void AbstractStyleDatabaseRep::SetStyleInfo (
size_t charAfterPos,
size_t nTCharsFollowing,
const vector<StyledInfoSummaryRecord>& styleInfos)
25 SetStyleInfo (charAfterPos, nTCharsFollowing, styleInfos.size (), &styleInfos.front ());
27 inline void AbstractStyleDatabaseRep::Invariant ()
const
29#if qStroika_Foundation_Debug_AssertionsChecked
39 inline StandardStyleMarker::StandardStyleMarker (
const FontSpecification& styleInfo)
40 : fFontSpecification{styleInfo}
43 inline FontSpecification StandardStyleMarker::GetInfo ()
const
45 return fFontSpecification;
47 inline void StandardStyleMarker::SetInfo (
const FontSpecification& fsp)
49 fFontSpecification = fsp;
57 template <
class BASECLASS>
58 StyleRunElement SimpleStyleMarkerByIncrementalFontSpecStandardStyleMarkerHelper<BASECLASS>::MungeRunElement (
const StyleRunElement& inRunElt)
const
60 using SSM = StandardStyleMarker;
62 fFSP = FontSpecification{};
63 StyleRunElement result = inherited::MungeRunElement (inRunElt);
64 for (
auto i = result.fSupercededMarkers.begin (); i != result.fSupercededMarkers.end (); ++i) {
65 if (SSM* ssm =
dynamic_cast<SSM*
> (*i)) {
66 fFSP = ssm->fFontSpecification;
69 if (SSM* ssm =
dynamic_cast<SSM*
> (result.fMarker)) {
70 fFSP = ssm->fFontSpecification;
71 result.fMarker =
nullptr;
75#if qStroika_Frameworks_Led_SupportGDI
76 template <
class BASECLASS>
77 FontSpecification SimpleStyleMarkerByIncrementalFontSpecStandardStyleMarkerHelper<BASECLASS>::MakeFontSpec (
const StyledTextImager* ,
78 const StyleRunElement& )
const
84#if qStroika_Frameworks_Led_SupportGDI
90 inline shared_ptr<AbstractStyleDatabaseRep> StandardStyledTextImager::GetStyleDatabase ()
const
92 return fStyleDatabase;
94 inline FontSpecification StandardStyledTextImager::GetStyleInfo (
size_t charAfterPos)
const
96 vector<StyledInfoSummaryRecord> result = fStyleDatabase->GetStyleInfo (charAfterPos, 1);
97 Assert (result.size () == 1);
100 inline vector<StyledInfoSummaryRecord> StandardStyledTextImager::GetStyleInfo (
size_t charAfterPos,
size_t nTCharsFollowing)
const
102 return (fStyleDatabase->GetStyleInfo (charAfterPos, nTCharsFollowing));
104 inline void StandardStyledTextImager::SetStyleInfo (
size_t charAfterPos,
size_t nTCharsFollowing,
const IncrementalFontSpecification& styleInfo)
106 fStyleDatabase->SetStyleInfo (charAfterPos, nTCharsFollowing, styleInfo);
108 inline void StandardStyledTextImager::SetStyleInfo (
size_t charAfterPos,
size_t nTCharsFollowing,
const vector<StyledInfoSummaryRecord>& styleInfos)
110 fStyleDatabase->SetStyleInfo (charAfterPos, nTCharsFollowing, styleInfos);
112 inline void StandardStyledTextImager::SetStyleInfo (
size_t charAfterPos,
size_t nTCharsFollowing,
size_t nStyleInfos,
113 const StyledInfoSummaryRecord* styleInfos)
115 fStyleDatabase->SetStyleInfo (charAfterPos, nTCharsFollowing, nStyleInfos, styleInfos);