MCPcopy Create free account
hub / github.com/crosspoint-reader/crosspoint-reader / resolveStyle

Method resolveStyle

lib/EpdFont/SdCardFont.cpp:1262–1279  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1260bool SdCardFont::hasStyle(uint8_t style) const { return styles_[style & (MAX_STYLES - 1)].present; }
1261
1262uint8_t SdCardFont::resolveStyle(uint8_t style) const {
1263 static const uint8_t kFallbacks[MAX_STYLES][MAX_STYLES] = {
1264 // REGULAR: REGULAR -> BOLD -> ITALIC -> BOLD_ITALIC
1265 {EpdFontFamily::REGULAR, EpdFontFamily::BOLD, EpdFontFamily::ITALIC, EpdFontFamily::BOLD_ITALIC},
1266 // BOLD: BOLD -> REGULAR -> BOLD_ITALIC -> ITALIC
1267 {EpdFontFamily::BOLD, EpdFontFamily::REGULAR, EpdFontFamily::BOLD_ITALIC, EpdFontFamily::ITALIC},
1268 // ITALIC: ITALIC -> REGULAR -> BOLD_ITALIC -> BOLD
1269 {EpdFontFamily::ITALIC, EpdFontFamily::REGULAR, EpdFontFamily::BOLD_ITALIC, EpdFontFamily::BOLD},
1270 // BOLD_ITALIC: BOLD_ITALIC -> BOLD -> ITALIC -> REGULAR
1271 {EpdFontFamily::BOLD_ITALIC, EpdFontFamily::BOLD, EpdFontFamily::ITALIC, EpdFontFamily::REGULAR},
1272 };
1273
1274 const uint8_t styleBits = style & (MAX_STYLES - 1);
1275 for (uint8_t candidate : kFallbacks[styleBits]) {
1276 if (styles_[candidate].present) return candidate;
1277 }
1278 return EpdFontFamily::REGULAR;
1279}
1280
1281uint8_t SdCardFont::resolveStyleMask(uint8_t styleMask) const {
1282 uint8_t resolvedMask = 0;

Callers 1

resolveSdCardStyleFunction · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected