Commit graph

1399 commits

Author SHA1 Message Date
iddev5
21c49ff9be mach: Move all platform specific files to platform/ directory 2022-05-30 10:22:42 -07:00
kamidev
68190e863a Change std.build.Pkg.path -> std.build.Pkg.source
Fixes breaking change in latest Zig master, see https://github.com/ziglang/zig/pull/11557
2022-05-29 08:25:52 -07:00
Michal Ziulek
f2ab1eb069 gpu: Queue.WorkDoneStatus fields should be snake_case. 2022-05-29 05:26:12 -07:00
Ali Chraghi
f96b5758fd freetype: update example runner usage 2022-05-28 10:08:34 -07:00
PiergiorgioZagaria
8fa9ab2f58 examples/gkurve: add atlas text rendering 2022-05-27 21:24:31 -07:00
Stephen Gutekanst
027939e8ef mach: ensure tools/libs/apple_pie submodule is cloned
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-27 21:08:10 -07:00
iddev5
d85c6a8669 mach: build: Use proper application name in case of wasm
This uses the new html-generator tool to automatically fix the file
names in resulting application.html
2022-05-27 21:08:10 -07:00
iddev5
19fb2e8ebd tools: add html-generator tools to automatically generate
application.html
2022-05-27 21:08:10 -07:00
iddev5
8d4c51738e mach: build+tools: allow address and port of http server be configurable
for wasm

MACH_ADDRESS and MACH_PORT environment variable are added.
2022-05-27 21:08:10 -07:00
iddev5
8b8ed4dc8f mach: build: cleanup and add notes 2022-05-27 21:08:10 -07:00
iddev5
e7f7737cc8 mach: build: Implement run step for wasm applications
This actually compiles and runs a http server (based on apple_pie) and
uses xdg-open (on unixes) and open (on rest) to launch the browser.

The steps actually take place in reverse order because running a web
server would block the current process (limitation of RunStep). Hence we
are assuming that (xdg-)open is just a launcher and would take a while
to open the browser application.
2022-05-27 21:08:10 -07:00
iddev5
84af4e118c mach: build: install additional files (html, js) in case of wasm
Install the files template.html (renamed to application.html) and
mach.js in case of WASM. Also changed the install directory to
{prefix}/www.
2022-05-27 21:08:10 -07:00
iddev5
7c70dde3f1 tools: add basic http server implementation 2022-05-27 21:08:10 -07:00
iddev5
cc700d79dd tools: Add apple_pie dependency 2022-05-27 21:08:10 -07:00
iddev5
1c2dbfbd4f mach: build: simplify stating of dependencies for apps 2022-05-27 21:08:10 -07:00
Ali Chraghi
a1f756b4cd freetype: reduce code size 2022-05-27 20:50:56 -07:00
Ali Chraghi
643753c80a freetype: rename convertError to intToError 2022-05-27 20:50:56 -07:00
Ali Chraghi
b92770404f freetype: add a wrapper for outline functions 2022-05-27 20:50:56 -07:00
Ali Chraghi
18369e8c9b freetype: ziggify C structs 2022-05-27 20:50:56 -07:00
iddev5
b5737af9cd examples: Load all images from Memory (using embedFile) instead of File 2022-05-27 01:09:15 -07:00
d3m1gd
ed0d9c100f mach: fix build.zig 2022-05-26 18:29:43 -07:00
iddev5
336134c996 freetype: change example names to match mach convention
General mach examples use ``long-example-name`` case but freetype was
using ``snake_case`` right now, which is inconsistent and midly
inconvenient to use.

Renamed: glyph_to_svg -> glyph-to-svg, single_glyph -> single-glyph
2022-05-25 23:08:45 -07:00
iddev5
32c12f0eaa mach: wasm: implement key press and release events 2022-05-25 09:10:13 -07:00
iddev5
d8afc9c88c mach: wasm: enable lapping of engine timer every frame 2022-05-25 09:10:13 -07:00
iddev5
8d9ca11b45 mach: wasm: add note about vsync support and move VSyncMode to enums.zig 2022-05-25 09:10:13 -07:00
iddev5
488131ecbb mach: wasm: Adjust width and height for HiDpi/Retina
Also implements getFramebufferSize() and getWindowSize() properly.
2022-05-25 09:10:13 -07:00
Ali Chraghi
017b469e2f freetype: add running examples instruction 2022-05-25 09:06:43 -07:00
Ali Chraghi
ca0db5a701 freetype: example runner in zig build & new glyph_to_svg example 2022-05-25 09:05:57 -07:00
Ali Chraghi
7a8aee8665 freetype: implement some functions binding 2022-05-25 09:05:57 -07:00
Pierre Curto
1a082ef5a7
freetype: README: fix build.zig example (#300) 2022-05-25 06:21:08 -07:00
Ali Chraghi
93c52b62ac ci: add freetype 2022-05-24 14:35:36 -07:00
Ali Chraghi
16020ea034 ci: update m1 ci name 2022-05-24 14:35:36 -07:00
Ali Chraghi
7206f2de48 README: fmt & fix broken link 2022-05-24 14:34:45 -07:00
Ali Chraghi
b5d10fb167 gpu: taked slice child type in writeTexture 2022-05-24 14:34:13 -07:00
Stephen Gutekanst
6922435110
freetype: add usage instructions 2022-05-24 12:22:00 -07:00
Ali Chraghi
e13e1d5a46 www: use console.error for logging wasm loader error 2022-05-24 11:55:26 -07:00
Stephen Gutekanst
b146f47037 freetype: build: add package to tests
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Ali Chraghi
14ecaa6a7e freetype: build: overall improvements 2022-05-24 11:55:07 -07:00
Stephen Gutekanst
ddaba2db87 freetype: ensure upstream/ submodule is cloned
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
d109720a3b freetype: add subrepo .gitmodules
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
045dda287d freetype: add upstream submodule
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
a65859d04a freetype: move example fonts to upstream repo
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
240278fb4d freetype: add freetype license file for clarity
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Ali Chraghi
b50dade2fd freetype: initial import @ 4e2b158
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
0d2675507d freetype: add .gitattributes, .gitignore
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
f083b3da0d freetype: README: credit Ali properly
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
fb95a5ae95 dev: add mach-freetype subrepo
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
Stephen Gutekanst
cb7bd5f2f9 freetype: initialize subrepository
Signed-off-by: Stephen Gutekanst <stephen@hexops.com>
2022-05-24 11:55:07 -07:00
iddev5
f3e2b8b74c mach: add a standard way to access platform specific structs
This is done by adding platform.zig which is a file providing types like
``CoreType``, ``GpuDriverType`` and ``BackingTimerType``.
2022-05-23 01:03:43 -07:00
iddev5
e5050e856e mach: Timer: wasm implementation using performance.now() 2022-05-23 01:03:43 -07:00