UNPKG

devexpress-richedit

Version:

DevExpress Rich Text Editor is an advanced word-processing tool designed for working with rich text documents.

36 lines (35 loc) 1.84 kB
import { ControlFont, FontLoadStatus } from '../../../common/model/fonts/control-font'; import { FontFaceDescriptors } from '../../../common/model/fonts/font-face-descriptors'; import { LayoutFontsCollector } from '../../../common/model/fonts/grabber'; import { ControlFontsLoader } from '../../../common/model/fonts/loader'; import { ControlFontApi } from '../fonts/control-font'; import { Collection } from './collection'; export class ControlFontCollection extends Collection { createAllFontsFromCurrentLayout() { new LayoutFontsCollector(this._processor.modelManager.model.cache, this._processor.layoutFormatterManager.layout, this._processor.modelManager.richOptions.fonts.mappings.defaultFontName) .collect(); } load(reloadFailed = false, callback) { if (!callback) callback = () => { }; const modelManager = this._processor.modelManager; const loader = new ControlFontsLoader(modelManager.model.cache.controlFontsCache, modelManager.richOptions.fonts, false); const status = [FontLoadStatus.Unloaded]; if (reloadFailed) status.push(FontLoadStatus.Error); loader.loadFonts(modelManager.model.cache.controlFontsCache.list, status, () => { if (loader.needInvalidateLayout) this._processor.invalidateLayoutAfterFontsLoaded(); callback(); }); } create(fontFamily, descriptors) { return this._getItem(this._processor.modelManager.model.cache.controlFontsCache.addFont(new ControlFont(fontFamily, FontFaceDescriptors.create(descriptors)))); } _getItem(font) { return new ControlFontApi(this._processor, font); } _getCoreItems() { return this._processor.modelManager.model.cache.controlFontsCache.list; } }