diff options
author | hk57.kim <hk57.kim@samsung.com> | 2015-06-03 15:16:56 +0900 |
---|---|---|
committer | hk57.kim <hk57.kim@samsung.com> | 2015-06-03 15:16:56 +0900 |
commit | 4078c98a5d481778482f52d3aaf7a1777ffe6088 (patch) | |
tree | c18ae9d21e2b29c349231c5b61d742e9fca9c1d9 /util/cairo-script/csi-exec.c | |
parent | cce6a0e298fac08c588204b085e7a807fa75813d (diff) | |
download | cairo-4078c98a5d481778482f52d3aaf7a1777ffe6088.tar.gz cairo-4078c98a5d481778482f52d3aaf7a1777ffe6088.tar.bz2 cairo-4078c98a5d481778482f52d3aaf7a1777ffe6088.zip |
Cairo 1.12.14
Change-Id: Ibc39e63896ec42cab29fbbbf615a46f2d58319a8
Signed-off-by: hk57.kim <hk57.kim@samsung.com>
Diffstat (limited to 'util/cairo-script/csi-exec.c')
-rwxr-xr-x | util/cairo-script/csi-exec.c | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/util/cairo-script/csi-exec.c b/util/cairo-script/csi-exec.c new file mode 100755 index 000000000..d30b1c9c8 --- /dev/null +++ b/util/cairo-script/csi-exec.c @@ -0,0 +1,41 @@ +#include <cairo.h> +#include <cairo-script-interpreter.h> + +#include <stdio.h> +#include <stdlib.h> + +static cairo_surface_t * +_surface_create (void *closure, + cairo_content_t content, + double width, double height, + long uid) +{ + return cairo_image_surface_create (CAIRO_FORMAT_ARGB32, width, height); +} + +int +main (int argc, char **argv) +{ + const cairo_script_interpreter_hooks_t hooks = { + .surface_create = _surface_create + }; + cairo_script_interpreter_t *csi; + int i; + + for (i = 1; i < argc; i++) { + int status, line; + + csi = cairo_script_interpreter_create (); + cairo_script_interpreter_install_hooks (csi, &hooks); + cairo_script_interpreter_run (csi, argv[i]); + line = cairo_script_interpreter_get_line_number (csi); + status = cairo_script_interpreter_destroy (csi); + if (status) { + fprintf (stderr, "Error during replay of '%s', line %d: %d\n", + argv[i], line, status); + return 1; + } + } + + return 0; +} |