[wasm] Add rust example
This commit is contained in:
parent
840b5dff73
commit
83b9c34f0b
|
@ -0,0 +1,13 @@
|
||||||
|
[package]
|
||||||
|
name = "hello-wasm"
|
||||||
|
version = "0.1.0"
|
||||||
|
edition = "2021"
|
||||||
|
|
||||||
|
[lib]
|
||||||
|
crate-type = ["cdylib"]
|
||||||
|
|
||||||
|
[dependencies]
|
||||||
|
#externref = "0.1.0"
|
||||||
|
wasm-bindgen = "0.2.0"
|
||||||
|
tiny-rng = "0.2.0"
|
||||||
|
harfbuzz-wasm = { path="../../rust/harfbuzz-wasm"}
|
|
@ -0,0 +1,18 @@
|
||||||
|
use harfbuzz_wasm::{Font, GlyphBuffer};
|
||||||
|
use tiny_rng::{Rand, Rng};
|
||||||
|
use wasm_bindgen::prelude::*;
|
||||||
|
|
||||||
|
#[wasm_bindgen]
|
||||||
|
pub fn shape(font_ref: u32, buf_ref: u32) -> i32 {
|
||||||
|
let mut rng = Rng::from_seed(123456);
|
||||||
|
let font = Font::from_ref(font_ref);
|
||||||
|
font.shape_with(buf_ref, "ot");
|
||||||
|
let mut buffer = GlyphBuffer::from_ref(buf_ref);
|
||||||
|
for mut item in buffer.glyphs.iter_mut() {
|
||||||
|
// Randomize it!
|
||||||
|
item.x_offset = ((rng.rand_u32() as i32) >> 24) - 120;
|
||||||
|
item.y_offset = ((rng.rand_u32() as i32) >> 24) - 120;
|
||||||
|
}
|
||||||
|
// Buffer is written back to HB on drop
|
||||||
|
1
|
||||||
|
}
|
Loading…
Reference in New Issue