Add internal Base64 type
This commit is contained in:
@@ -8,6 +8,7 @@ import haxe.macro.Expr;
|
||||
import haxe.macro.Type;
|
||||
#end
|
||||
#if (macro && !display)
|
||||
import lime._internal.format.Base64;
|
||||
import sys.io.File;
|
||||
import sys.FileSystem;
|
||||
#end
|
||||
@@ -17,25 +18,6 @@ class AssetsMacro
|
||||
#if !macro
|
||||
macro public static function cacheVersion() {}
|
||||
#else
|
||||
private static var base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
private static var base64Encoder:BaseCode;
|
||||
|
||||
private static function base64Encode(bytes:Bytes):String
|
||||
{
|
||||
var extension = switch (bytes.length % 3)
|
||||
{
|
||||
case 1: "==";
|
||||
case 2: "=";
|
||||
default: "";
|
||||
}
|
||||
|
||||
if (base64Encoder == null)
|
||||
{
|
||||
base64Encoder = new BaseCode(Bytes.ofString(base64Chars));
|
||||
}
|
||||
|
||||
return base64Encoder.encodeBytes(bytes).toString() + extension;
|
||||
}
|
||||
|
||||
macro public static function cacheVersion()
|
||||
{
|
||||
@@ -226,7 +208,7 @@ class AssetsMacro
|
||||
pos: position
|
||||
});
|
||||
|
||||
var base64 = base64Encode(bytes);
|
||||
var base64 = Base64.encode(bytes);
|
||||
Context.addResource(resourceName, Bytes.ofString(base64));
|
||||
}
|
||||
else
|
||||
|
||||
@@ -1,12 +1,11 @@
|
||||
package lime.graphics;
|
||||
|
||||
import haxe.crypto.Base64;
|
||||
import haxe.crypto.BaseCode;
|
||||
import haxe.io.Bytes;
|
||||
import haxe.io.BytesData;
|
||||
import haxe.io.BytesInput;
|
||||
import haxe.io.BytesOutput;
|
||||
import lime._internal.backend.native.NativeCFFI;
|
||||
import lime._internal.format.Base64;
|
||||
import lime._internal.format.BMP;
|
||||
import lime._internal.format.JPEG;
|
||||
import lime._internal.format.PNG;
|
||||
@@ -87,9 +86,6 @@ import sys.io.File;
|
||||
#end
|
||||
class Image
|
||||
{
|
||||
private static var __base64Chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";
|
||||
private static var __base64Encoder:BaseCode;
|
||||
|
||||
/**
|
||||
The `ImageBuffer` store that backs the `Image`
|
||||
**/
|
||||
@@ -972,7 +968,7 @@ class Image
|
||||
return Future.withValue(null);
|
||||
}
|
||||
|
||||
return loadFromBase64(__base64Encode(bytes), type);
|
||||
return loadFromBase64(Base64.encode(bytes), type);
|
||||
#elseif flash
|
||||
var promise = new Promise<Image>();
|
||||
|
||||
@@ -1401,27 +1397,6 @@ class Image
|
||||
return 0;
|
||||
}
|
||||
|
||||
private static function __base64Encode(bytes:Bytes):String
|
||||
{
|
||||
#if (js && html5)
|
||||
var extension = switch (bytes.length % 3)
|
||||
{
|
||||
case 1: "==";
|
||||
case 2: "=";
|
||||
default: "";
|
||||
}
|
||||
|
||||
if (__base64Encoder == null)
|
||||
{
|
||||
__base64Encoder = new BaseCode(Bytes.ofString(__base64Chars));
|
||||
}
|
||||
|
||||
return __base64Encoder.encodeBytes(bytes).toString() + extension;
|
||||
#else
|
||||
return "";
|
||||
#end
|
||||
}
|
||||
|
||||
@:noCompletion private function __clipRect(r:Rectangle):Rectangle
|
||||
{
|
||||
if (r == null) return null;
|
||||
@@ -1517,7 +1492,7 @@ class Image
|
||||
return false;
|
||||
}
|
||||
|
||||
__fromBase64(__base64Encode(bytes), type, onload);
|
||||
__fromBase64(Base64.encode(bytes), type, onload);
|
||||
return true;
|
||||
#elseif (lime_cffi && !macro)
|
||||
var imageBuffer:ImageBuffer = null;
|
||||
|
||||
@@ -1,9 +1,9 @@
|
||||
package lime.media;
|
||||
|
||||
import haxe.crypto.Base64;
|
||||
import haxe.io.Bytes;
|
||||
import haxe.io.Path;
|
||||
import lime._internal.backend.native.NativeCFFI;
|
||||
import lime._internal.format.Base64;
|
||||
import lime.app.Future;
|
||||
import lime.app.Promise;
|
||||
import lime.media.openal.AL;
|
||||
@@ -151,13 +151,13 @@ class AudioBuffer
|
||||
|
||||
#if (js && html5 && lime_howlerjs)
|
||||
var audioBuffer = new AudioBuffer();
|
||||
|
||||
|
||||
#if force_html5_audio
|
||||
audioBuffer.__srcHowl = new Howl({src: [path], html5: true, preload: false});
|
||||
#else
|
||||
audioBuffer.__srcHowl = new Howl({src: [path], preload: false});
|
||||
#end
|
||||
|
||||
|
||||
return audioBuffer;
|
||||
#elseif flash
|
||||
switch (Path.extension(path))
|
||||
@@ -200,13 +200,13 @@ class AudioBuffer
|
||||
{
|
||||
#if (js && html5 && lime_howlerjs)
|
||||
var audioBuffer = new AudioBuffer();
|
||||
|
||||
|
||||
#if force_html5_audio
|
||||
audioBuffer.__srcHowl = new Howl({src: paths, html5: true, preload: false});
|
||||
#else
|
||||
audioBuffer.__srcHowl = new Howl({src: paths, preload: false});
|
||||
#end
|
||||
|
||||
|
||||
return audioBuffer;
|
||||
#else
|
||||
var buffer = null;
|
||||
|
||||
@@ -5,6 +5,7 @@ import haxe.io.Bytes as HaxeBytes;
|
||||
import haxe.Serializer;
|
||||
import haxe.Unserializer;
|
||||
import hxp.*;
|
||||
import lime._internal.format.Base64;
|
||||
import lime.tools.AssetType;
|
||||
import lime.tools.Asset;
|
||||
import lime.tools.HXProject;
|
||||
@@ -46,7 +47,7 @@ class AssetHelper
|
||||
{
|
||||
if (asset.encoding == AssetEncoding.BASE64)
|
||||
{
|
||||
File.saveBytes(destination, StringTools.base64Decode(asset.data));
|
||||
File.saveBytes(destination, Base64.decode(asset.data));
|
||||
}
|
||||
else if (Std.is(asset.data, HaxeBytes))
|
||||
{
|
||||
@@ -83,7 +84,7 @@ class AssetHelper
|
||||
{
|
||||
if (asset.encoding == AssetEncoding.BASE64)
|
||||
{
|
||||
File.saveBytes(destination, StringTools.base64Decode(asset.data));
|
||||
File.saveBytes(destination, Base64.decode(asset.data));
|
||||
}
|
||||
else if (Std.is(asset.data, HaxeBytes))
|
||||
{
|
||||
|
||||
@@ -4,6 +4,7 @@ package lime.tools;
|
||||
// import openfl.utils.ByteArray;
|
||||
import haxe.io.Bytes;
|
||||
import hxp.*;
|
||||
import lime._internal.format.Base64;
|
||||
import lime.tools.Asset;
|
||||
import lime.tools.AssetEncoding;
|
||||
import lime.tools.AssetType;
|
||||
@@ -281,7 +282,7 @@ class FlashHelper
|
||||
{
|
||||
if (inAsset.encoding == AssetEncoding.BASE64)
|
||||
{
|
||||
outTags.push(TBitsJPEG(cid, JDJPEG2(StringTools.base64Decode(inAsset.data))));
|
||||
outTags.push(TBitsJPEG(cid, JDJPEG2(Base64.decode(inAsset.data))));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -495,7 +496,7 @@ class FlashHelper
|
||||
{
|
||||
if (inAsset.encoding == AssetEncoding.BASE64)
|
||||
{
|
||||
bytes = StringTools.base64Decode(inAsset.data);
|
||||
bytes = Base64.decode(inAsset.data);
|
||||
}
|
||||
else if (Std.is(inAsset.data, Bytes))
|
||||
{
|
||||
@@ -803,7 +804,7 @@ class FlashHelper
|
||||
|
||||
if (asset.encoding == AssetEncoding.BASE64)
|
||||
{
|
||||
File.saveBytes(sourcePath, StringTools.base64Decode(asset.data));
|
||||
File.saveBytes(sourcePath, Base64.decode(asset.data));
|
||||
}
|
||||
else if (Std.is(asset.data, Bytes))
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user