1 #include <cairo-script.h>
2 #include <cairo-script-interpreter.h>
8 static cairo_surface_t *
9 _script_surface_create (void *closure,
10 cairo_content_t content,
11 double width, double height,
14 return cairo_script_surface_create (closure, content, width, height);
18 main (int argc, char **argv)
20 cairo_script_interpreter_t *csi;
21 cairo_script_interpreter_hooks_t hooks = {
22 .surface_create = _script_surface_create,
26 csi = cairo_script_interpreter_create ();
28 for (i = 1; i < argc; i++) {
31 snprintf (buf, sizeof (buf), "%s.trace", basename (argv[i]));
32 cairo_device_destroy (hooks.closure);
33 hooks.closure = cairo_script_create (buf);
34 cairo_script_interpreter_install_hooks (csi, &hooks);
35 cairo_script_interpreter_run (csi, argv[i]);
37 cairo_device_destroy (hooks.closure);
39 return cairo_script_interpreter_destroy (csi);