Merge branch 'master' of git.imagemagick.org:repos/ImageMagick
diff --git a/Magick++/lib/Image.cpp b/Magick++/lib/Image.cpp
index 2a1513a..b7fc606 100644
--- a/Magick++/lib/Image.cpp
+++ b/Magick++/lib/Image.cpp
@@ -2862,8 +2862,20 @@
ThrowImageException;
}
-void Magick::Image::evaluate(const ssize_t x_,const ssize_t y_,
- const size_t columns_,const size_t rows_,const ChannelType channel_,
+void Magick::Image::evaluate(const ChannelType channel_,
+ const MagickFunction function_,const size_t number_parameters_,
+ const double *parameters_)
+{
+ GetPPException;
+ GetAndSetPPChannelMask(channel_);
+ FunctionImage(image(),function_,number_parameters_,parameters_,
+ exceptionInfo);
+ RestorePPChannelMask;
+ ThrowImageException;
+}
+
+void Magick::Image::evaluate(const ChannelType channel_,const ssize_t x_,
+ const ssize_t y_,const size_t columns_,const size_t rows_,
const MagickEvaluateOperator operator_,const double rvalue_)
{
RectangleInfo
diff --git a/Magick++/lib/Magick++/Image.h b/Magick++/lib/Magick++/Image.h
index 7017e23..b397ff8 100644
--- a/Magick++/lib/Magick++/Image.h
+++ b/Magick++/lib/Magick++/Image.h
@@ -880,8 +880,12 @@
const MagickEvaluateOperator operator_,double rvalue_);
// Apply a value with an arithmetic, relational, or logical operator.
- void evaluate(const ::ssize_t x_,const ::ssize_t y_,const size_t columns_,
- const size_t rows_,const ChannelType channel_,
+ void evaluate(const ChannelType channel_,const MagickFunction function_,
+ const size_t number_parameters_,const double *parameters_);
+
+ // Apply a value with an arithmetic, relational, or logical operator.
+ void evaluate(const ChannelType channel_,const ::ssize_t x_,
+ const ::ssize_t y_,const size_t columns_,const size_t rows_,
const MagickEvaluateOperator operator_,const double rvalue_);
// Extend the image as defined by the geometry.
diff --git a/Magick++/lib/Magick++/Include.h b/Magick++/lib/Magick++/Include.h
index 5d1bdb7..a397825 100644
--- a/Magick++/lib/Magick++/Include.h
+++ b/Magick++/lib/Magick++/Include.h
@@ -789,6 +789,14 @@
using MagickCore::CommandEvent;
using MagickCore::AllEvents;
+ // Magick functions
+ using MagickCore::MagickFunction;
+ using MagickCore::UndefinedFunction;
+ using MagickCore::ArcsinFunction;
+ using MagickCore::ArctanFunction;
+ using MagickCore::PolynomialFunction;
+ using MagickCore::SinusoidFunction;
+
// Metric types
using MagickCore::MetricType;
using MagickCore::UndefinedErrorMetric;
diff --git a/MagickCore/statistic.h b/MagickCore/statistic.h
index 2d8f9dc..322356c 100644
--- a/MagickCore/statistic.h
+++ b/MagickCore/statistic.h
@@ -108,10 +108,10 @@
typedef enum
{
UndefinedFunction,
- PolynomialFunction,
- SinusoidFunction,
ArcsinFunction,
- ArctanFunction
+ ArctanFunction,
+ PolynomialFunction,
+ SinusoidFunction
} MagickFunction;
typedef enum