diff options
author | Dimitri John Ledkov <xnox@ubuntu.com> | 2019-09-10 14:00:08 +0100 |
---|---|---|
committer | Ray Strode <rstrode@redhat.com> | 2019-09-11 09:11:24 -0400 |
commit | aa89dcdf5e183796c91e3d7e53b443fe276edf6a (patch) | |
tree | 237ad96aa899b58ae090a73afcde7a497268b3b6 | |
parent | 9eb7b17bdb0592e25d35aeaa450338e45315747a (diff) |
script: Add image tile support.
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
-rw-r--r-- | src/plugins/splash/script/script-lib-image.c | 22 | ||||
-rw-r--r-- | src/plugins/splash/script/script-lib-image.script | 5 |
2 files changed, 27 insertions, 0 deletions
diff --git a/src/plugins/splash/script/script-lib-image.c b/src/plugins/splash/script/script-lib-image.c index 748e6d1e..c53e0b0e 100644 --- a/src/plugins/splash/script/script-lib-image.c +++ b/src/plugins/splash/script/script-lib-image.c @@ -146,6 +146,21 @@ static script_return_t image_scale (script_state_t *state, return script_return_obj_null (); } +static script_return_t image_tile (script_state_t *state, + void *user_data) +{ + script_lib_image_data_t *data = user_data; + ply_pixel_buffer_t *image = script_obj_as_native_of_class (state->this, data->class); + int width = script_obj_hash_get_number (state->local, "width"); + int height = script_obj_hash_get_number (state->local, "height"); + + if (image) { + ply_pixel_buffer_t *new_image = ply_pixel_buffer_tile (image, width, height); + return script_return_obj (script_obj_new_native (new_image, data->class)); + } + return script_return_obj_null (); +} + static script_return_t image_text (script_state_t *state, void *user_data) { @@ -256,6 +271,13 @@ script_lib_image_data_t *script_lib_image_setup (script_state_t *state, "height", NULL); script_add_native_function (image_hash, + "_Tile", + image_tile, + data, + "width", + "height", + NULL); + script_add_native_function (image_hash, "GetWidth", image_get_width, data, diff --git a/src/plugins/splash/script/script-lib-image.script b/src/plugins/splash/script/script-lib-image.script index 00b1c19c..ab4b7cfe 100644 --- a/src/plugins/splash/script/script-lib-image.script +++ b/src/plugins/splash/script/script-lib-image.script @@ -14,6 +14,11 @@ Image.Scale = fun (width, height) return Image.Adopt (this._Scale(width, height)); }; +Image.Tile = fun (width, height) +{ + return Image.Adopt (this._Tile(width, height)); +}; + Image.Text = fun (text, red, green, blue, alpha, font, align) { return Image.Adopt (Image._Text (text, red, green, blue, alpha, font, align)); |