Merge branch 'develop' into feature/update-hashlink

This commit is contained in:
Zeta
2022-05-08 16:47:46 +02:00
committed by GitHub
10 changed files with 102 additions and 118 deletions

41
.gitmodules vendored
View File

@@ -1,63 +1,64 @@
[submodule "project/lib/vorbis"]
path = project/lib/vorbis
url = https://github.com/native-toolkit/vorbis
url = https://github.com/openfl/libvorbis
[submodule "project/lib/sdl"]
path = project/lib/sdl
url = https://github.com/native-toolkit/sdl
url = https://github.com/openfl/libsdl
[submodule "project/lib/openal"]
path = project/lib/openal
url = https://github.com/native-toolkit/openal
url = https://github.com/openfl/libopenal
[submodule "project/lib/curl"]
path = project/lib/curl
url = https://github.com/native-toolkit/curl
url = https://github.com/openfl/libcurl
[submodule "project/lib/ogg"]
path = project/lib/ogg
url = https://github.com/native-toolkit/ogg
url = https://github.com/openfl/libogg
[submodule "project/lib/zlib"]
path = project/lib/zlib
url = https://github.com/native-toolkit/zlib
url = https://github.com/openfl/libzlib
[submodule "project/lib/neko"]
path = project/lib/neko
url = https://github.com/native-toolkit/neko
url = https://github.com/openfl/libneko
[submodule "project/lib/png"]
path = project/lib/png
url = https://github.com/native-toolkit/png
url = https://github.com/openfl/libpng
[submodule "project/lib/jpeg"]
path = project/lib/jpeg
url = https://github.com/native-toolkit/jpeg
url = https://github.com/openfl/libjpeg
[submodule "project/lib/freetype"]
path = project/lib/freetype
url = https://github.com/native-toolkit/freetype
url = https://github.com/openfl/libfreetype
[submodule "project/lib/harfbuzz"]
path = project/lib/harfbuzz
url = https://github.com/native-toolkit/harfbuzz
url = https://github.com/openfl/libharfbuzz
[submodule "project/lib/cairo"]
path = project/lib/cairo
url = https://github.com/native-toolkit/cairo
url = https://github.com/openfl/libcairo
[submodule "project/lib/pixman"]
path = project/lib/pixman
url = https://github.com/native-toolkit/pixman
url = https://github.com/openfl/libpixman
[submodule "project/lib/lzma"]
path = project/lib/lzma
url = https://github.com/native-toolkit/lzma
url = https://github.com/openfl/liblzma
[submodule "project/lib/tinyfiledialogs"]
path = project/lib/tinyfiledialogs
url = https://github.com/native-toolkit/tinyfiledialogs
url = https://github.com/openfl/libtinyfiledialogs
[submodule "project/lib/efsw"]
path = project/lib/efsw
url = https://github.com/native-toolkit/efsw
url = https://github.com/openfl/libefsw
[submodule "project/lib/vpx"]
path = project/lib/vpx
url = https://github.com/native-toolkit/vpx
url = https://github.com/openfl/libvpx
[submodule "project/lib/webm"]
path = project/lib/webm
url = https://github.com/native-toolkit/webm
url = https://github.com/openfl/libwebm
[submodule "project/lib/mbedtls"]
path = project/lib/mbedtls
url = https://github.com/native-toolkit/mbedtls
url = https://github.com/openfl/libmbedtls
[submodule "project/lib/mojoal"]
path = project/lib/mojoal
url = https://github.com/native-toolkit/mojoal
url = https://github.com/openfl/libmojoal
[submodule "project/lib/hashlink"]
path = project/lib/hashlink
url = https://github.com/HaxeFoundation/hashlink

View File

@@ -419,7 +419,11 @@ class HTML5Window
private function handleCutOrCopyEvent(event:ClipboardEvent):Void
{
event.clipboardData.setData("text/plain", Clipboard.text);
var text = Clipboard.text;
if (text == null) {
text = "";
}
event.clipboardData.setData("text/plain", text);
if (event.cancelable) event.preventDefault();
}

View File

@@ -1,7 +1,7 @@
package lime.tools;
typedef ApplicationData =
{
@:forward
abstract ApplicationData({
@:optional var file:String;
@:optional var init:String;
@:optional var main:String;
@@ -9,4 +9,16 @@ typedef ApplicationData =
@:optional var preloader:String;
@:optional var swfVersion:Float;
@:optional var url:String;
}) from Dynamic
{
@:noCompletion
public static var expectedFields:ApplicationData = {
file: "",
init: "",
main: "",
path: "",
preloader: "",
swfVersion: 0.0,
url: ""
};
}

View File

@@ -1,7 +1,7 @@
package lime.tools;
typedef MetaData =
{
@:forward
abstract MetaData({
@:optional var buildNumber:String;
@:optional var company:String;
@:optional var companyId:String;
@@ -10,4 +10,17 @@ typedef MetaData =
@:optional var packageName:String;
@:optional var title:String;
@:optional var version:String;
}) from Dynamic
{
@:noCompletion
public static var expectedFields:MetaData = {
buildNumber: "",
company: "",
companyId: "",
companyUrl: "",
description: "",
packageName: "",
title: "",
version: ""
};
}

View File

@@ -7,9 +7,6 @@ import lime.tools.Asset;
import lime.tools.AssetType;
import lime.tools.Dependency;
import lime.tools.HXProject;
import lime.tools._types.ApplicationDataType;
import lime.tools._types.MetaDataType;
import lime.tools._types.WindowDataType;
#if lime
import lime.utils.AssetManifest;
#end
@@ -442,11 +439,11 @@ class ProjectXMLParser extends HXProject
name = "packageName";
}
if (Reflect.hasField(ApplicationDataType.fields, name))
if (Reflect.hasField(ApplicationData.expectedFields, name))
{
Reflect.setField(app, name, value);
}
else if (Reflect.hasField(MetaDataType.fields, name))
else if (Reflect.hasField(MetaData.expectedFields, name))
{
Reflect.setField(meta, name, value);
}
@@ -859,7 +856,7 @@ class ProjectXMLParser extends HXProject
name = "packageName";
}
if (Reflect.hasField(MetaDataType.fields, name))
if (Reflect.hasField(MetaData.expectedFields, name))
{
Reflect.setField(meta, name, value);
}
@@ -2009,11 +2006,11 @@ class ProjectXMLParser extends HXProject
Reflect.setField(windows[id], "colorDepth", Std.parseInt(value));
default:
if (Reflect.hasField(WindowDataType.fields, name))
if (Reflect.hasField(WindowData.expectedFields, name))
{
Reflect.setField(windows[id], name, value == "true");
}
else if (Reflect.hasField(WindowDataType.fields, formatAttributeName(name)))
else if (Reflect.hasField(WindowData.expectedFields, formatAttributeName(name)))
{
Reflect.setField(windows[id], formatAttributeName(name), value == "true");
}

View File

@@ -1,7 +1,7 @@
package lime.tools;
typedef WindowData =
{
@:forward
abstract WindowData({
@:optional var width:Int;
@:optional var height:Int;
@:optional var x:Float;
@@ -31,4 +31,38 @@ typedef WindowData =
@:optional var minimized:Bool;
@:optional var maximized:Bool;
@:optional var hidden:Bool;
}) from Dynamic
{
@:noCompletion
public static var expectedFields:WindowData = {
width: 0,
height: 0,
x: 0.0,
y: 0.0,
background: 0,
parameters: "",
fps: 0,
hardware: false,
display: 0,
resizable: false,
borderless: false,
vsync: false,
fullscreen: false,
allowHighDPI: false,
alwaysOnTop: false,
antialiasing: 0,
orientation: Orientation.AUTO,
allowShaders: false,
requireShaders: false,
depthBuffer: false,
stencilBuffer: false,
title: "",
#if (js && html5)
element: null,
#end
colorDepth: 0,
minimized: false,
maximized: false,
hidden: false
};
}

View File

@@ -1,17 +0,0 @@
package lime.tools._types;
import lime.tools.ApplicationData;
class ApplicationDataType
{
public static var fields:ApplicationData =
{
file: "",
init: "",
main: "",
path: "",
preloader: "",
swfVersion: 0.0,
url: ""
}
}

View File

@@ -1,18 +0,0 @@
package lime.tools._types;
import lime.tools.MetaData;
class MetaDataType
{
public static var fields:MetaData =
{
buildNumber: "",
company: "",
companyId: "",
companyUrl: "",
description: "",
packageName: "",
title: "",
version: ""
}
}

View File

@@ -1,39 +0,0 @@
package lime.tools._types;
import lime.tools.WindowData;
class WindowDataType
{
public static var fields:WindowData =
{
width: 0,
height: 0,
x: 0.0,
y: 0.0,
background: 0,
parameters: "",
fps: 0,
hardware: false,
display: 0,
resizable: false,
borderless: false,
vsync: false,
fullscreen: false,
allowHighDPI: false,
alwaysOnTop: false,
antialiasing: 0,
orientation: Orientation.AUTO,
allowShaders: false,
requireShaders: false,
depthBuffer: false,
stencilBuffer: false,
title: "",
#if (js && html5)
element: null,
#end
colorDepth: 0,
minimized: false,
maximized: false,
hidden: false
}
}

View File

@@ -10,9 +10,6 @@ import hxp.*;
import lime.system.CFFI;
import lime.tools.HXProject;
import lime.tools.*;
import lime.tools._types.ApplicationDataType;
import lime.tools._types.MetaDataType;
import lime.tools._types.WindowDataType;
import sys.io.File;
import sys.io.Process;
import sys.FileSystem;
@@ -1863,9 +1860,9 @@ class CommandLineTools
var fieldValue = Reflect.field(project, field);
var typeValue:Dynamic = switch (field)
{
case "app": ApplicationDataType.fields;
case "meta": MetaDataType.fields;
case "window": WindowDataType.fields;
case "app": ApplicationData.expectedFields;
case "meta": MetaData.expectedFields;
case "window": WindowData.expectedFields;
default: fieldValue;
};
@@ -2133,9 +2130,9 @@ class CommandLineTools
var fieldReference = Reflect.field(overrides, fieldName);
var typeValue:Dynamic = switch (fieldName)
{
case "app": ApplicationDataType.fields;
case "meta": MetaDataType.fields;
case "window": WindowDataType.fields;
case "app": ApplicationData.expectedFields;
case "meta": MetaData.expectedFields;
case "window": WindowData.expectedFields;
default: fieldReference;
};