From 4bebf7c143fd0160d1617d5d23158b0b5e7791fb Mon Sep 17 00:00:00 2001 From: Sebastian Krzyszkowiak <dos@dosowisko.net> Date: Tue, 14 Nov 2023 16:28:36 +0100 Subject: [PATCH] sim: fakes: ctx: Implement ctx_x, ctx_y and ctx_logo bindings --- sim/fakes/ctx.py | 17 ++++++++++++++--- sim/wasm/build.sh | 2 +- sim/wasm/ctx.wasm | Bin 1161020 -> 1164679 bytes 3 files changed, 15 insertions(+), 4 deletions(-) diff --git a/sim/fakes/ctx.py b/sim/fakes/ctx.py index 34c740f2ea..608cef0dd0 100644 --- a/sim/fakes/ctx.py +++ b/sim/fakes/ctx.py @@ -97,6 +97,16 @@ class Wasm: self.free(p) return res + def ctx_x(self, ctx): + return self._i.exports.ctx_x(ctx) + + def ctx_y(self, ctx): + return self._i.exports.ctx_y(ctx) + + def ctx_logo(self, ctx, *args): + args = [float(a) for a in args] + return self._i.exports.ctx_logo(ctx, *args) + def ctx_destroy(self, ctx): return self._i.exports.ctx_destroy(ctx) @@ -229,16 +239,17 @@ class Context: @property def x(self): - return 0 + return _wasm.ctx_x(self._ctx) @property def y(self): - return 0 + return _wasm.ctx_y(self._ctx) def _emit(self, text): _wasm.ctx_parse(self._ctx, text) - def logo(self, x, y, r): + def logo(self, x, y, dim): + _wasm.ctx_logo(self._ctx, x, y, dim) return self def move_to(self, x, y): diff --git a/sim/wasm/build.sh b/sim/wasm/build.sh index b4cac9a183..43af74969d 100755 --- a/sim/wasm/build.sh +++ b/sim/wasm/build.sh @@ -18,7 +18,7 @@ emcc ctx.c \ -I ../../components/ctx/ \ -I ../../components/ctx/fonts/ \ -D SIMULATOR \ - -s EXPORTED_FUNCTIONS=_ctx_new_for_framebuffer,_ctx_new_drawlist,_ctx_parse,_ctx_apply_transform,_ctx_text_width,_ctx_render_ctx,_ctx_define_texture,_ctx_draw_texture,_ctx_destroy,_stbi_load_from_memory,_malloc,_free \ + -s EXPORTED_FUNCTIONS=_ctx_new_for_framebuffer,_ctx_new_drawlist,_ctx_parse,_ctx_apply_transform,_ctx_text_width,_ctx_x,_ctx_y,_ctx_render_ctx,_ctx_logo,_ctx_define_texture,_ctx_draw_texture,_ctx_destroy,_stbi_load_from_memory,_malloc,_free \ --no-entry -flto -O3 \ -o ctx.wasm diff --git a/sim/wasm/ctx.wasm b/sim/wasm/ctx.wasm index 68a2afc1994c401992ff5359484f2fc88b0e66ee..a295a5a8d6612e044da65e2653c1afa92ea677a2 100755 GIT binary patch delta 4730 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 delta 1085 zcmZqgcHi^PjfWwzIG2%ufr0T1lh#C@oQbt{ER6MxwG)52O?GEo6fDYoi}41d7$-j? z8zUo|I5!&`3kL&-gd`s~A2&BY3mZ2#gA{`_7aJ!RGdmjxn*a+h7Z(>72ZJCR2O|eF z6EhPtD?1B|AOi~nkBpEk3!5B={A3%ZU~?fhVRkkK1{M~O)r@Rh4D9TRJnSqiN({=J z%ql!QybK(|462N3Y;4?o>KdE^>};HxtQ;bfPclg}A7>Jt{G93G<Y&xFnQt-Pp4`V` z%zcLO6ys?|u7BUeZcIMI;?8)fS%kG+gq5*fgq5jXgq68ngq3Bx2rFxo9pl;Q)16tP z8P87t?9A%Jcy_yk3+qBg#<SBOxv~Z_o}F&u#%j-ac6x~$Yn<R&Ms7s`M@B_19!73% z1tx*B(;vIB+A*HpuH?>|0@Bm&!8()i!gfVZ)-Q~V=cbE!v%Y0Kzn#U0Rh1E}nbVO` zkprxmRp9J&D_^kYN?%q^kmhDTR%^x!+xPpirf@Kx+pZGM>dwq~etJ$6>mtUp)A^%W zV;RqG&y8jk&|ti@y{?(nOJe)$m8|zz7|%{WwT{(<@$B^f>sU84o}IpVJ*z+C+3Cz1 zz#a(Qz*@+7ar*HMtR0M(rw43goz8f9`-_dNc8rWywySSutz~4qI(_LD)^m(kr<ZJH zUBq~8yZAQNawf*>+xvI0RxvW(n9j9})s6Ay^gs}GWBQC;ta@TM8I^byxU!VE6xh9a z85I~5I2CvWu1vqPi&c^F#`J%?SPd9Ort9x!&0xGXea3Fq4woAsMdAvA0#_In7#s~0 z*cCVxxE&iBSc(NeQjP`+Tnapn3}B7|uL2K5odQhV0fu6M8{1R%u&!cayfU4CKdS`e zmF*h)S+_EBfwU_KgG`?O`~a)6FxUbG1ttY%1s2B!u*T`K2U%4aFK%}}$ZE&Nczt@) zan=eMgg%Iim=st+8o(}^E_Q;|it+mNz!R+gj8~>FJi#i(cxCz?5Osa}^%JZnj8~@f zoMeq-ygohqB&&zv6-EU%N5(8gHU%yP?jl!S1_cJk|DukJ0#_Kh6&MuQ6nGWbvX$5r zxE0tGxILr=u1tS&l2zLR>;!%VAqD<yfh&wWOxz0Gifr8A@L_Z0%yQ%e2M9<2<R7r} zApUVb#X6ty`u69iSd|$Az@~60a6^L30OoVBM?j&@uD}YD;#6SGc4PpXs=%PYrN9P} z0GW;mt@fxhtnE=}*xIAcu(wB@;b@OK!`U8nhO0g540n6f8J_m2Gra9lXZYHq&hT%K JIwPR_695pDDM|nU -- GitLab