diff --git a/src/Web/Avalonia.Web.Sample/Avalonia.Web.Sample.csproj b/src/Web/Avalonia.Web.Sample/Avalonia.Web.Sample.csproj index 8f5912a16f..80be694741 100644 --- a/src/Web/Avalonia.Web.Sample/Avalonia.Web.Sample.csproj +++ b/src/Web/Avalonia.Web.Sample/Avalonia.Web.Sample.csproj @@ -1,4 +1,4 @@ - + net7.0 browser-wasm @@ -6,6 +6,9 @@ Exe true true + true + -sVERBOSE + --js-library="C:\Users\User\repos\Avalonia\src\Web\Avalonia.Web.Sample\interop.js" diff --git a/src/Web/Avalonia.Web.Sample/Program.cs b/src/Web/Avalonia.Web.Sample/Program.cs index b880d61ab5..93516e65ed 100644 --- a/src/Web/Avalonia.Web.Sample/Program.cs +++ b/src/Web/Avalonia.Web.Sample/Program.cs @@ -1,4 +1,5 @@ using System; +using System.Runtime.InteropServices; using System.Runtime.InteropServices.JavaScript; using System.Threading.Tasks; using Avalonia.Web; @@ -6,10 +7,22 @@ using Avalonia.Web; internal class Program { + + [DllImport("libSkiaSharp", CallingConvention = CallingConvention.Cdecl)] + static extern JSObject example_initialize(); private static void Main(string[] args) { Console.WriteLine("Hello, Browser!"); + example_initialize(); + + Console.WriteLine(); + + + foreach(var arg in args) + { + Console.WriteLine(arg); + } AvaloniaRuntime.Init(); } } diff --git a/src/Web/Avalonia.Web.Sample/interop.js b/src/Web/Avalonia.Web.Sample/interop.js new file mode 100644 index 0000000000..2358c357d3 --- /dev/null +++ b/src/Web/Avalonia.Web.Sample/interop.js @@ -0,0 +1,13 @@ +var LibraryExample = { + // Internal functions + $EXAMPLE: { + internal_func: function () { + } + }, + example_initialize: function () { + window["avalonia-helper-GL"] = GL + } +} + +autoAddDeps(LibraryExample, '$EXAMPLE') +mergeInto(LibraryManager.library, LibraryExample)