neft
Version:
Universal Platform
33 lines (24 loc) • 815 B
text/coffeescript
signal = require 'src/signal'
module.exports = (impl) ->
{items} = impl
impl.fonts = {}
signal.create impl, 'onFontLoaded'
loadFont: (name, source, sources) ->
onLoaded = ->
if is FontLoader.Ready
impl.fonts[name] =
impl.onFontLoaded.emit name
return
if rsc = impl.Renderer.resources?.getResource(source)
source = 'qrc:' + rsc.resolve()
else
source = impl.utils.toUrl(source)
elem = impl.utils.createQmlObject 'FontLoader {}'
elem.name = name.toLowerCase()
elem.source = source
if elem.status is FontLoader.Ready
onLoaded.call elem
else
elem.onStatusChanged.connect elem, onLoaded
return