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

View File

@@ -419,7 +419,11 @@ class HTML5Window
private function handleCutOrCopyEvent(event:ClipboardEvent):Void 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(); if (event.cancelable) event.preventDefault();
} }

View File

@@ -1,7 +1,7 @@
package lime.tools; package lime.tools;
typedef ApplicationData = @:forward
{ abstract ApplicationData({
@:optional var file:String; @:optional var file:String;
@:optional var init:String; @:optional var init:String;
@:optional var main:String; @:optional var main:String;
@@ -9,4 +9,16 @@ typedef ApplicationData =
@:optional var preloader:String; @:optional var preloader:String;
@:optional var swfVersion:Float; @:optional var swfVersion:Float;
@:optional var url:String; @: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; package lime.tools;
typedef MetaData = @:forward
{ abstract MetaData({
@:optional var buildNumber:String; @:optional var buildNumber:String;
@:optional var company:String; @:optional var company:String;
@:optional var companyId:String; @:optional var companyId:String;
@@ -10,4 +10,17 @@ typedef MetaData =
@:optional var packageName:String; @:optional var packageName:String;
@:optional var title:String; @:optional var title:String;
@:optional var version: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.AssetType;
import lime.tools.Dependency; import lime.tools.Dependency;
import lime.tools.HXProject; import lime.tools.HXProject;
import lime.tools._types.ApplicationDataType;
import lime.tools._types.MetaDataType;
import lime.tools._types.WindowDataType;
#if lime #if lime
import lime.utils.AssetManifest; import lime.utils.AssetManifest;
#end #end
@@ -442,11 +439,11 @@ class ProjectXMLParser extends HXProject
name = "packageName"; name = "packageName";
} }
if (Reflect.hasField(ApplicationDataType.fields, name)) if (Reflect.hasField(ApplicationData.expectedFields, name))
{ {
Reflect.setField(app, name, value); Reflect.setField(app, name, value);
} }
else if (Reflect.hasField(MetaDataType.fields, name)) else if (Reflect.hasField(MetaData.expectedFields, name))
{ {
Reflect.setField(meta, name, value); Reflect.setField(meta, name, value);
} }
@@ -859,7 +856,7 @@ class ProjectXMLParser extends HXProject
name = "packageName"; name = "packageName";
} }
if (Reflect.hasField(MetaDataType.fields, name)) if (Reflect.hasField(MetaData.expectedFields, name))
{ {
Reflect.setField(meta, name, value); Reflect.setField(meta, name, value);
} }
@@ -2009,11 +2006,11 @@ class ProjectXMLParser extends HXProject
Reflect.setField(windows[id], "colorDepth", Std.parseInt(value)); Reflect.setField(windows[id], "colorDepth", Std.parseInt(value));
default: default:
if (Reflect.hasField(WindowDataType.fields, name)) if (Reflect.hasField(WindowData.expectedFields, name))
{ {
Reflect.setField(windows[id], name, value == "true"); 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"); Reflect.setField(windows[id], formatAttributeName(name), value == "true");
} }

View File

@@ -1,7 +1,7 @@
package lime.tools; package lime.tools;
typedef WindowData = @:forward
{ abstract WindowData({
@:optional var width:Int; @:optional var width:Int;
@:optional var height:Int; @:optional var height:Int;
@:optional var x:Float; @:optional var x:Float;
@@ -31,4 +31,38 @@ typedef WindowData =
@:optional var minimized:Bool; @:optional var minimized:Bool;
@:optional var maximized:Bool; @:optional var maximized:Bool;
@:optional var hidden: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.system.CFFI;
import lime.tools.HXProject; import lime.tools.HXProject;
import lime.tools.*; 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.File;
import sys.io.Process; import sys.io.Process;
import sys.FileSystem; import sys.FileSystem;
@@ -1863,9 +1860,9 @@ class CommandLineTools
var fieldValue = Reflect.field(project, field); var fieldValue = Reflect.field(project, field);
var typeValue:Dynamic = switch (field) var typeValue:Dynamic = switch (field)
{ {
case "app": ApplicationDataType.fields; case "app": ApplicationData.expectedFields;
case "meta": MetaDataType.fields; case "meta": MetaData.expectedFields;
case "window": WindowDataType.fields; case "window": WindowData.expectedFields;
default: fieldValue; default: fieldValue;
}; };
@@ -2133,9 +2130,9 @@ class CommandLineTools
var fieldReference = Reflect.field(overrides, fieldName); var fieldReference = Reflect.field(overrides, fieldName);
var typeValue:Dynamic = switch (fieldName) var typeValue:Dynamic = switch (fieldName)
{ {
case "app": ApplicationDataType.fields; case "app": ApplicationData.expectedFields;
case "meta": MetaDataType.fields; case "meta": MetaData.expectedFields;
case "window": WindowDataType.fields; case "window": WindowData.expectedFields;
default: fieldReference; default: fieldReference;
}; };