From d63ecdc7162e0ff9e79e0709b54528e868e5f9ae Mon Sep 17 00:00:00 2001 From: Volker Berlin Date: Sat, 28 Dec 2019 11:49:38 +0100 Subject: [PATCH] add hello world sample --- docs/samples/HelloWorld/HelloWorld.java | 32 ++++++++++++++++++++ docs/samples/HelloWorld/HelloWorld.wasm | Bin 0 -> 3947 bytes docs/samples/HelloWorld/HelloWorld.wasm.js | 27 +++++++++++++++++ docs/samples/HelloWorld/HelloWorld.wasm.map | 6 ++++ 4 files changed, 65 insertions(+) create mode 100644 docs/samples/HelloWorld/HelloWorld.java create mode 100644 docs/samples/HelloWorld/HelloWorld.wasm create mode 100644 docs/samples/HelloWorld/HelloWorld.wasm.js create mode 100644 docs/samples/HelloWorld/HelloWorld.wasm.map diff --git a/docs/samples/HelloWorld/HelloWorld.java b/docs/samples/HelloWorld/HelloWorld.java new file mode 100644 index 0000000..33d92ba --- /dev/null +++ b/docs/samples/HelloWorld/HelloWorld.java @@ -0,0 +1,32 @@ +/* + * Copyright 2019 Volker Berlin (i-net software) + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +import de.inetsoftware.jwebassembly.api.annotation.Export; +import de.inetsoftware.jwebassembly.web.dom.Document; +import de.inetsoftware.jwebassembly.web.dom.HTMLElement; +import de.inetsoftware.jwebassembly.web.dom.Text; +import de.inetsoftware.jwebassembly.web.dom.Window; + +public class HelloWorld { + + @Export + public static void main() { + Document document = Window.document(); + HTMLElement div = document.createElement("div"); + Text text = document.createTextNode("Hello World, this text come from WebAssembly."); + div.appendChild( text ); + document.body().appendChild( div ); + } +} diff --git a/docs/samples/HelloWorld/HelloWorld.wasm b/docs/samples/HelloWorld/HelloWorld.wasm new file mode 100644 index 0000000000000000000000000000000000000000..c62e1080fcaf7b3f2d908c28b6fcaab90859d9dc GIT binary patch literal 3947 zcmb_fOH&(15T2QR30ANx-r~6uZyY3JJFki>LB=??1Gvh@<)ggP4j?S;h}8+HfMfGk^Pk-G#-9z_^*o_(`gwUVq z{BwFlMf4E#=(!}0j!5)m;s_*EfC3Zvltl0f9}p4>yV`_H?-3eP zt#TJtSxngAJ_@B6J`e(4j;U^ks*3cCm$ZY5TLb}7aU}zHooK;E#oZS#_!3EkSS>)^ zyg@p`bsq-2Ywz2|s_kwUpZH$I-6oyMkh#yRb?zCUbI%jCC(Y8zj_oyw9%7de>+oX5 z<$gnK`3JVgi@OKBWH%bTR;nHrfiF6uR=g|9%^G)ok_?fzE{wdtxxThqjZZ{2XXoY@I*-+K7qI|l5tEs{hW;g!@s=YMNJg@lMPHaSBeP{`*`gM^FE3jJ z7+Rpa8EPtpW4f1xCs~u16-z1nMuCC%#9l%5rBc^L(D{)}{ty+ZPg4#2!O;F3%S zq_$V+Ig3c1Mf`^qOSU9S!qBC{_g_h1v9nn?*7kM_$H&s1DHmRSi$auS6kTsqM`@sv zq&jXu#w1fW^rD14fC_UU3t2P=F_&h?980DKNru9Tp32PB5XnG7F{zrWK=+E0aCLhEWK)J@W*z| zaZ|E1w55d!QOzDau0_oWj39#ncV)pJ#3DfoPL3s~CWx7hG`b@V`HaS-p8N{2+-8b82TutMnx--a1;2T2TV|5El3c7{ud4Y zYyY6LgpfI)5uhQUG|(_myZkczn{;1+z0ZNZ2Ko-@2cTboeg%@8%KjpB=&G=u39stB zWBEIkhUG)kv&y2ztu5%;7L0>J)Q)orC+fppWsloFj~Z)txWaCUy-zL)=TNunb?!PV zJC&+KzUh`-yT<8jJ>9eB@O*p2&$l=Hyj`#4ahl|Dn&cnzdetrm&HJA4!jY1ThRK~n zpEr6R{ZH0lGzA9xj36OFK62P@`&ZBPP!mqG%JX4p>$Yoeb1&BjhG1hoXw#3jwxHn; z+&b3`%(*xhF~E6sz;=c3MWz9QU)Z@d1`N9S5-`EAYDT&%9?+gAa%uEFq) z%c1esjJ$gx4BoO_+XWlFdoJvad4j*QHtkZCkKMVFl?SemCcOOpDZrUE)j|e#P_V^w?c~siv{Mxq5KKJh0z8#%rVequS#)4*FNa-F*lv2=G)rg_02pSku;pfJ- zzauGS(R6)TEj72cxTmo4PM<_h1_Q;R!epEw{bYa)CWs2%@PYG^O7LcpF)1=8(~_bz zb}C!G8oJeJWk@12&LJ8+ndaNu8!$W4ak1>ciH74cNtAX+;v%Jt^JkQdk#RCXEY>nz z=iJN0R@vBUGPatEt)^qEnb>MJ?mkiXL>;4_lUttgXsolw{T<=pj-=M1Mzy8+n4JY0 z>XT`+A(~#9uS2(kA68Evul2SKr~~+U3{$F3?sR}Br&;D+gC%fuHenFau7@y5Ev#o5 Z8fFqy${a?yvsgN0$%k!&UAmrI`UiHpNmu{? literal 0 HcmV?d00001 diff --git a/docs/samples/HelloWorld/HelloWorld.wasm.js b/docs/samples/HelloWorld/HelloWorld.wasm.js new file mode 100644 index 0000000..9db6fb9 --- /dev/null +++ b/docs/samples/HelloWorld/HelloWorld.wasm.js @@ -0,0 +1,27 @@ +'use strict';var wasmImports = { +Web:{ +get0:(o,p)=>o[p], +win_get:(p)=>window[p], +invoke1:(o,m,p1)=>o[m](p1) +}, +NonGC:{ +array_set_i16:(a,i,v) => a[i]=v, +get_anyref:(a,i) => a[i], +set_anyref:(a,v,i) => a[i]=v, +new_java_lang_String:() => Object.seal({0:48}), +array_len_i8:(a) => a.length, +new_de_inetsoftware_jwebassembly_web_dom_Node:() => Object.seal({0:48,1:null}), +array_get_i8:(a,i) => a[i], +new_de_inetsoftware_jwebassembly_web_dom_HTMLElement:() => Object.seal({0:24,1:null}), +get_i32:(a,i) => a[i], +new_de_inetsoftware_jwebassembly_web_dom_Document:() => Object.seal({0:0,1:null}), +array_new_i8:(l) => new Uint8Array(l), +array_set_i8:(a,i,v) => a[i]=v, +array_new_i16:(l) => new Int16Array(l), +new_de_inetsoftware_jwebassembly_web_dom_Text:() => Object.seal({0:36,1:null}) +}, +StringHelper:{ +newFromSubChars:(value,off,count)=>{var s='';for(var i=off;i