From 609369d4609588bd11aa17563e99f74ca6543947 Mon Sep 17 00:00:00 2001 From: Andrei Gherasim Date: Wed, 9 Aug 2017 16:44:12 +0300 Subject: [PATCH 1/6] adding library support for extent method from libmagick --- magick/wand/lib.lua | 3 +++ 1 file changed, 3 insertions(+) diff --git a/magick/wand/lib.lua b/magick/wand/lib.lua index d5ab763..5966f71 100644 --- a/magick/wand/lib.lua +++ b/magick/wand/lib.lua @@ -114,6 +114,9 @@ ffi.cdef([[ typedef void MagickWand; MagickBooleanType MagickSetImageDepth(MagickWand *,const unsigned long); unsigned long MagickGetImageDepth(MagickWand *); + MagickBooleanType MagickExtentImage(MagickWand *wand,const size_t width, + const size_t height,const ssize_t x,const ssize_t y); + ]]) local get_flags get_flags = function() From bef06b1ffecc15b6d327437ecf0c3b2e9aa119ba Mon Sep 17 00:00:00 2001 From: Andrei Gherasim Date: Wed, 9 Aug 2017 16:51:15 +0300 Subject: [PATCH 2/6] adding support for extent method, moving code to moonscript --- magick/wand/image.moon | 4 ++++ magick/wand/lib.lua | 3 --- magick/wand/lib.moon | 3 +++ 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/magick/wand/image.moon b/magick/wand/image.moon index f8fc2dd..32a3470 100644 --- a/magick/wand/image.moon +++ b/magick/wand/image.moon @@ -208,6 +208,10 @@ class Image extends require "magick.base_image" reset_page: => handle_result @, lib.MagickResetImagePage @wand, nil + extent: (w, h, x, y) => + handle_result @, + lib.MagickExtentImage @wand, w, h, x, y + __tostring: => "Image<#{@path}, #{@wand}>" diff --git a/magick/wand/lib.lua b/magick/wand/lib.lua index 5966f71..d5ab763 100644 --- a/magick/wand/lib.lua +++ b/magick/wand/lib.lua @@ -114,9 +114,6 @@ ffi.cdef([[ typedef void MagickWand; MagickBooleanType MagickSetImageDepth(MagickWand *,const unsigned long); unsigned long MagickGetImageDepth(MagickWand *); - MagickBooleanType MagickExtentImage(MagickWand *wand,const size_t width, - const size_t height,const ssize_t x,const ssize_t y); - ]]) local get_flags get_flags = function() diff --git a/magick/wand/lib.moon b/magick/wand/lib.moon index 9f4cc48..0641a43 100644 --- a/magick/wand/lib.moon +++ b/magick/wand/lib.moon @@ -118,6 +118,9 @@ ffi.cdef [[ MagickBooleanType MagickSetImageDepth(MagickWand *,const unsigned long); unsigned long MagickGetImageDepth(MagickWand *); + MagickBooleanType MagickExtentImage(MagickWand *wand,const size_t width, + const size_t height,const ssize_t x,const ssize_t y); + ]] From 72d5414b5c94de17eac83e534438d097eba4f5ab Mon Sep 17 00:00:00 2001 From: Andrei Gherasim Date: Wed, 9 Aug 2017 18:03:58 +0300 Subject: [PATCH 3/6] Adding tests for wand extent --- spec/magick_spec.moon | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/spec/magick_spec.moon b/spec/magick_spec.moon index b0ede8e..f839f9c 100644 --- a/spec/magick_spec.moon +++ b/spec/magick_spec.moon @@ -168,6 +168,10 @@ describe "magick", -> img2 = img\clone! img2\set_depth 16 + it "extents", -> + img2 = img\extent 200, 300, 0, 0 + assert.same 200, img\get_width! + assert.same 300, img\get_height! describe "color_image", -> import load_image from magick From 5f58f4b5f89d39d68aad8517994b92b1586489e1 Mon Sep 17 00:00:00 2001 From: Andrei Gherasim Date: Wed, 9 Aug 2017 19:23:07 +0300 Subject: [PATCH 4/6] bug fix in test --- spec/magick_spec.moon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/magick_spec.moon b/spec/magick_spec.moon index f839f9c..7e8e416 100644 --- a/spec/magick_spec.moon +++ b/spec/magick_spec.moon @@ -170,8 +170,8 @@ describe "magick", -> it "extents", -> img2 = img\extent 200, 300, 0, 0 - assert.same 200, img\get_width! - assert.same 300, img\get_height! + assert.same 200, img2\get_width! + assert.same 300, img2\get_height! describe "color_image", -> import load_image from magick From 832f3a5c4b87ffb58c495fa818341de8ac16a5c1 Mon Sep 17 00:00:00 2001 From: Andrei Gherasim Date: Sat, 14 Oct 2017 18:13:56 +0300 Subject: [PATCH 5/6] Attempt at fixing lint warning --- spec/magick_spec.moon | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/spec/magick_spec.moon b/spec/magick_spec.moon index 7e8e416..6506f51 100644 --- a/spec/magick_spec.moon +++ b/spec/magick_spec.moon @@ -98,7 +98,6 @@ describe "magick", -> assert img\write out_path "composite.png" it "modulate", -> - img2 = img\clone! assert img\modulate 50, 50, 50 assert img\write out_path "modulate.png" @@ -169,7 +168,8 @@ describe "magick", -> img2\set_depth 16 it "extents", -> - img2 = img\extent 200, 300, 0, 0 + img2 = img\clone! + assert img2\extent 200, 300, 0, 0 assert.same 200, img2\get_width! assert.same 300, img2\get_height! From 19dc1f7c5708faad2fc805c5492a7c3a1438e798 Mon Sep 17 00:00:00 2001 From: Andrei Gherasim Date: Sat, 14 Oct 2017 18:14:58 +0300 Subject: [PATCH 6/6] Attempt at fixing lint warning --- magick/wand/image.lua | 3 +++ magick/wand/lib.lua | 3 +++ spec_gm/magick_spec.moon | 6 +++++- 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/magick/wand/image.lua b/magick/wand/image.lua index 21a1d19..e7d5a2b 100644 --- a/magick/wand/image.lua +++ b/magick/wand/image.lua @@ -244,6 +244,9 @@ do reset_page = function(self) return handle_result(self, lib.MagickResetImagePage(self.wand, nil)) end, + extent = function(self, w, h, x, y) + return handle_result(self, lib.MagickExtentImage(self.wand, w, h, x, y)) + end, __tostring = function(self) return "Image<" .. tostring(self.path) .. ", " .. tostring(self.wand) .. ">" end diff --git a/magick/wand/lib.lua b/magick/wand/lib.lua index d5ab763..8bf9fa1 100644 --- a/magick/wand/lib.lua +++ b/magick/wand/lib.lua @@ -114,6 +114,9 @@ ffi.cdef([[ typedef void MagickWand; MagickBooleanType MagickSetImageDepth(MagickWand *,const unsigned long); unsigned long MagickGetImageDepth(MagickWand *); + MagickBooleanType MagickExtentImage(MagickWand *wand,const size_t width, + const size_t height,const ssize_t x,const ssize_t y); + ]]) local get_flags get_flags = function() diff --git a/spec_gm/magick_spec.moon b/spec_gm/magick_spec.moon index 75be5d1..69abfca 100644 --- a/spec_gm/magick_spec.moon +++ b/spec_gm/magick_spec.moon @@ -72,7 +72,6 @@ describe "magick", -> assert img\write out_path "composite.png" it "modulate", -> - img2 = img\clone! assert img\modulate 50, 50, 50 assert img\write out_path "modulate.png" @@ -98,4 +97,9 @@ describe "magick", -> img2 = img\clone! img2\set_depth 16 + it "extents", -> + img2 = img\clone! + assert img2\extent 200, 300, 0, 0 + assert.same 200, img2\get_width! + assert.same 300, img2\get_height!