[oden] Extract graphics module

This commit is contained in:
John Doty 2023-06-21 12:11:53 -07:00
parent 611322d9a3
commit 8218b88820

View file

@ -1,22 +1,6 @@
use oden_js::{module, Context, ContextRef, Runtime, Value, ValueRef, ValueResult};
use oden_js::{Context, Runtime, Value};
pub struct GraphicsAPI {}
impl GraphicsAPI {
fn define(ctx: &ContextRef) -> oden_js::Result<()> {
module::NativeModuleBuilder::new(ctx)
.export("print", ctx.new_dynamic_fn(Self::print_fn)?)?
.build("graphics")
}
fn print_fn(ctx: &ContextRef, _this: &ValueRef, args: &[&ValueRef]) -> ValueResult {
for arg in args {
print!("{}", arg.to_string(ctx)?);
}
println!();
Ok(Value::undefined(ctx))
}
}
mod graphics;
pub struct ScriptContext {
context: Context,
@ -34,7 +18,7 @@ impl ScriptContext {
context.add_intrinsic_bigdecimal();
context.add_intrinsic_operators();
GraphicsAPI::define(&context).expect("Graphics module should load without error");
graphics::GraphicsAPI::define(&context).expect("Graphics module should load without error");
let js = include_str!("main.js");
let module = context