diff --git a/lime/Assets.hx b/lime/Assets.hx index 8260acaf0..50791609b 100644 --- a/lime/Assets.hx +++ b/lime/Assets.hx @@ -191,7 +191,7 @@ class Assets { * @param id The ID or asset path for the font * @return A new Font object */ - public static function getFont (id:String, useCache:Bool = true):Font { + public static function getFont (id:String, useCache:Bool = true):#if (openfl < "3.0.0") Dynamic #else Font #end { initialize (); @@ -1003,7 +1003,7 @@ class AssetLibrary { } - public function getFont (id:String):Font { + public function getFont (id:String):#if (openfl < "3.0.0") Dynamic #else Font #end { return null; @@ -1091,7 +1091,7 @@ class AssetLibrary { } - public function loadFont (id:String, handler:Font -> Void):Void { + public function loadFont (id:String, handler:#if (openfl < "3.0.0") Dynamic #else Font #end -> Void):Void { handler (getFont (id)); diff --git a/lime/graphics/Font.hx b/lime/graphics/Font.hx new file mode 100644 index 000000000..61ff3794b --- /dev/null +++ b/lime/graphics/Font.hx @@ -0,0 +1,45 @@ +package lime.graphics; + + +#if (openfl < "3.0.0") + + +class Font extends lime.text.Font { + + + public var fontName (get, set):String; + + + public function new (fontName:String = null) { + + super (fontName); + + } + + + + + // Get & Set Methods + + + + + private function get_fontName ():String { + + return name; + + } + + + private function set_fontName (value:String):String { + + return name = value; + + } + + + +} + + +#end \ No newline at end of file diff --git a/templates/haxe/DefaultAssetLibrary.hx b/templates/haxe/DefaultAssetLibrary.hx index 324793af9..fdb76ed8a 100644 --- a/templates/haxe/DefaultAssetLibrary.hx +++ b/templates/haxe/DefaultAssetLibrary.hx @@ -256,19 +256,27 @@ class DefaultAssetLibrary extends AssetLibrary { } - public override function getFont (id:String):Font { + public override function getFont (id:String):#if (openfl < "3.0.0") Dynamic #else Font #end { #if flash var src = Type.createInstance (className.get (id), []); + #if (openfl < "3.0.0") + return src; + #else var font = new Font (src.fontName); font.src = src; - return font; + #end #elseif html5 + #if (openfl < "3.0.0") + var limeFont:Font = cast (Type.createInstance (className.get (id), []), Font); + return new openfl.text.Font (limeFont.name); + #else return cast (Type.createInstance (className.get (id), []), Font); + #end #else