Skip to content
This repository has been archived by the owner on Mar 8, 2023. It is now read-only.

Commit

Permalink
MINOR: Removes default font catalog option (#2015)
Browse files Browse the repository at this point in the history
* MINOR: Removes default font catalog option

Signed-off-by: Frauke Fritz <[email protected]>

* MINOR: Makes default style handling in TextStylesCache independent of DEFAULT_FONT_CATALOG

Signed-off-by: Frauke Fritz <[email protected]>
  • Loading branch information
FraukeF authored Dec 16, 2020
1 parent 9c589d4 commit d7754a8
Show file tree
Hide file tree
Showing 4 changed files with 27 additions and 21 deletions.
2 changes: 1 addition & 1 deletion @here/harp-mapview/lib/text/TextElementsRenderer.ts
Original file line number Diff line number Diff line change
Expand Up @@ -530,7 +530,7 @@ export class TextElementsRenderer {
// TODO: this is an intermeditate solution, in the end this
// should not create a new cache, but update the former one
this.m_textStyleCache = new TextStyleCache(textStyles, defaultTextStyle);
this.m_textStyleCache.initializeDefaultTextElementStyle(DEFAULT_FONT_CATALOG_NAME);
this.m_textStyleCache.initializeDefaultTextElementStyle();
await this.waitLoaded();
this.m_textStyleCache.initializeTextElementStyles(this.m_textCanvases);
}
Expand Down
8 changes: 1 addition & 7 deletions @here/harp-mapview/lib/text/TextElementsRendererOptions.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,6 @@
* SPDX-License-Identifier: Apache-2.0
*/

const DEFAULT_FONT_CATALOG = "./resources/fonts/Default_FontCatalog.json";

/**
* Default number of labels/POIs rendered in the scene
*/
Expand Down Expand Up @@ -47,7 +45,7 @@ const MAX_GLYPH_COUNT = 32768;

export interface TextElementsRendererOptions {
/**
* The path to the font catalog file. Default is [[DEFAULT_FONT_CATALOG]].
* The path to the font catalog file.
*/
fontCatalog?: string;
/**
Expand Down Expand Up @@ -138,10 +136,6 @@ export interface TextElementsRendererOptions {
* @param options - The options to be initialized.
*/
export function initializeDefaultOptions(options: TextElementsRendererOptions) {
if (options.fontCatalog === undefined) {
options.fontCatalog = DEFAULT_FONT_CATALOG;
}

if (options.minNumGlyphs === undefined) {
options.minNumGlyphs = MIN_GLYPH_COUNT;
}
Expand Down
35 changes: 23 additions & 12 deletions @here/harp-mapview/lib/text/TextStyleCache.ts
Original file line number Diff line number Diff line change
Expand Up @@ -89,11 +89,12 @@ export class TextStyleCache {
private readonly m_defaultTextStyleDefinition?: TextStyleDefinition
) {}

initializeDefaultTextElementStyle(defaultFontCatalogName: string) {
initializeDefaultTextElementStyle() {
if (this.m_textStyleDefinitions === undefined) {
this.m_textStyleDefinitions = [];
}
const styles = this.m_textStyleDefinitions;
this.m_defaultStyle.fontCatalog = undefined;

const themedDefaultStyle = styles.find(style => style.name === DEFAULT_STYLE_NAME);
if (themedDefaultStyle !== undefined) {
Expand All @@ -109,7 +110,6 @@ export class TextStyleCache {
} else if (styles.length > 0) {
this.m_defaultStyle = this.createTextElementStyle(styles[0], DEFAULT_STYLE_NAME);
}
this.m_defaultStyle.fontCatalog = defaultFontCatalogName;
this.m_defaultStyle.textCanvas = undefined;
}

Expand Down Expand Up @@ -362,28 +362,39 @@ export class TextStyleCache {
return;
}
}
// specified canvas not found
if (style.textCanvas === undefined) {
if (style.fontCatalog !== undefined) {
if (
style.fontCatalog !== undefined &&
style.fontCatalog !== DEFAULT_FONT_CATALOG_NAME
) {
logger.warn(
`FontCatalog '${style.fontCatalog}' set in TextStyle
'${style.name}' not found`
);
}
const defaultCanvas = textCanvases.get(DEFAULT_FONT_CATALOG_NAME);
if (defaultCanvas) {
style.textCanvas = defaultCanvas;
logger.info(`using default fontCatalog(${style.textCanvas?.fontCatalog.name}).`);
} else if (textCanvases.size > 0) {

// find another canvas to use then
let alternativeTextCanvas = textCanvases.get(DEFAULT_FONT_CATALOG_NAME);
if (!alternativeTextCanvas && textCanvases.size > 0) {
for (const [, canvas] of textCanvases) {
if (canvas) {
style.textCanvas = canvas;
logger.info(
`using default fontCatalog(${style.textCanvas?.fontCatalog.name}).`
);
alternativeTextCanvas = canvas;
break;
}
}
}

// if an alternative canvas is found, use it
if (alternativeTextCanvas) {
style.textCanvas = alternativeTextCanvas;
if (style.fontCatalog !== undefined) {
logger.info(
`fontCatalog: '${style.fontCatalog}' not found,
using default fontCatalog(${style.textCanvas?.name}).`
);
}
}
}
}

Expand Down
3 changes: 2 additions & 1 deletion @here/harp-mapview/test/TextElementsRendererTestFixture.ts
Original file line number Diff line number Diff line change
Expand Up @@ -149,7 +149,8 @@ export class TestFixture {
});
this.m_options = {
labelDistanceScaleMin: 1,
labelDistanceScaleMax: 1
labelDistanceScaleMax: 1,
fontCatalog: "./resources/fonts/Default_FontCatalog.json"
};
this.m_fontCatalog = stubFontCatalog(this.sandbox);
this.m_textCanvasStub = stubTextCanvas(
Expand Down

0 comments on commit d7754a8

Please sign in to comment.