#include "magick/studio.h"#include "magick/accelerate-private.h"#include "magick/annotate.h"#include "magick/artifact.h"#include "magick/attribute.h"#include "magick/cache.h"#include "magick/cache-view.h"#include "magick/channel.h"#include "magick/color.h"#include "magick/color-private.h"#include "magick/colorspace.h"#include "magick/colorspace-private.h"#include "magick/composite.h"#include "magick/decorate.h"#include "magick/distort.h"#include "magick/draw.h"#include "magick/effect.h"#include "magick/enhance.h"#include "magick/exception.h"#include "magick/exception-private.h"#include "magick/fx.h"#include "magick/fx-private.h"#include "magick/gem.h"#include "magick/geometry.h"#include "magick/layer.h"#include "magick/list.h"#include "magick/log.h"#include "magick/image.h"#include "magick/image-private.h"#include "magick/magick.h"#include "magick/memory_.h"#include "magick/memory-private.h"#include "magick/monitor.h"#include "magick/monitor-private.h"#include "magick/opencl-private.h"#include "magick/option.h"#include "magick/pixel-accessor.h"#include "magick/pixel-private.h"#include "magick/property.h"#include "magick/quantum.h"#include "magick/quantum-private.h"#include "magick/random_.h"#include "magick/random-private.h"#include "magick/resample.h"#include "magick/resample-private.h"#include "magick/resize.h"#include "magick/resource_.h"#include "magick/splay-tree.h"#include "magick/statistic.h"#include "magick/string_.h"#include "magick/string-private.h"#include "magick/thread-private.h"#include "magick/threshold.h"#include "magick/transform.h"#include "magick/utility.h"Data Structures | |
| struct | _FxInfo |
Defines | |
| #define | FxMaxParenthesisDepth 58 |
| #define | FxMaxSubexpressionDepth 200 |
| #define | FxReturn(value) |
| #define | FxParseConditional(subexpression, sentinal, p, q) |
| #define | FxImageTag "Fx/Image" |
Enumerations | |
| enum | FxOperator { BitwiseAndAssignmentOperator = 0xd9U, BitwiseOrAssignmentOperator, LeftShiftAssignmentOperator, RightShiftAssignmentOperator, PowerAssignmentOperator, ModuloAssignmentOperator, PlusAssignmentOperator, SubtractAssignmentOperator, MultiplyAssignmentOperator, DivideAssignmentOperator, IncrementAssignmentOperator, DecrementAssignmentOperator, LeftShiftOperator, RightShiftOperator, LessThanEqualOperator, GreaterThanEqualOperator, EqualOperator, NotEqualOperator, LogicalAndOperator, LogicalOrOperator, ExponentialNotation } |
Functions | |
| MagickExport FxInfo * | AcquireFxInfo (const Image *images, const char *expression) |
| MagickExport FxInfo * | DestroyFxInfo (FxInfo *fx_info) |
| static const double * | GetFxSymbolValue (FxInfo *fx_info, const char *symbol) |
| static MagickBooleanType | SetFxSymbolValue (FxInfo *magick_restrict fx_info, const char *magick_restrict symbol, const double value) |
| static double | FxChannelStatistics (FxInfo *fx_info, const Image *image, ChannelType channel, const char *symbol, ExceptionInfo *exception) |
| static double | FxEvaluateSubexpression (FxInfo *, const ChannelType, const ssize_t, const ssize_t, const char *, const size_t, double *, ExceptionInfo *) |
| static MagickBooleanType | IsFxFunction (const char *expression, const char *name, const size_t length) |
| static MagickOffsetType | FxGCD (MagickOffsetType alpha, MagickOffsetType beta) |
| static const char * | FxSubexpression (const char *expression, ExceptionInfo *exception) |
| static double | FxGetSymbol (FxInfo *fx_info, const ChannelType channel, const ssize_t x, const ssize_t y, const char *expression, const size_t depth, ExceptionInfo *exception) |
| static const char * | FxOperatorPrecedence (const char *expression, ExceptionInfo *exception) |
| MagickExport MagickBooleanType | FxEvaluateExpression (FxInfo *fx_info, double *alpha, ExceptionInfo *exception) |
| MagickExport MagickBooleanType | FxPreprocessExpression (FxInfo *fx_info, double *alpha, ExceptionInfo *exception) |
| MagickExport MagickBooleanType | FxEvaluateChannelExpression (FxInfo *fx_info, const ChannelType channel, const ssize_t x, const ssize_t y, double *alpha, ExceptionInfo *exception) |
| static FxInfo ** | DestroyFxThreadSet (FxInfo **fx_info) |
| static FxInfo ** | AcquireFxThreadSet (const Image *image, const char *expression, ExceptionInfo *exception) |
| MagickExport Image * | FxImage (const Image *image, const char *expression, ExceptionInfo *exception) |
| MagickExport Image * | FxImageChannel (const Image *image, const ChannelType channel, const char *expression, ExceptionInfo *exception) |
| #define FxImageTag "Fx/Image" |
Referenced by FxImageChannel().
| #define FxMaxParenthesisDepth 58 |
Referenced by FxEvaluateSubexpression().
| #define FxMaxSubexpressionDepth 200 |
Referenced by FxEvaluateSubexpression().
| #define FxParseConditional | ( | subexpression, | |||
| sentinal, | |||||
| p, | |||||
| q | ) |
{ \
p=subexpression; \
for (q=(char *) p; (*q != (sentinal)) && (*q != '\0'); q++) \
if (*q == '(') \
{ \
for (q++; (*q != ')') && (*q != '\0'); q++); \
if (*q == '\0') \
break; \
} \
if (*q == '\0') \
{ \
(void) ThrowMagickException(exception,GetMagickModule(), \
OptionError,"UnableToParseExpression","`%s'",subexpression); \
FxReturn(0.0); \
} \
if (strlen(q) == 1) \
*(q+1)='\0'; \
*q='\0'; \
}
Referenced by FxEvaluateSubexpression().
| #define FxReturn | ( | value | ) |
{ \
subexpression=DestroyString(subexpression); \
return(value); \
}
Referenced by FxEvaluateSubexpression().
| enum FxOperator |
References AcquireCriticalMemory(), AcquireExceptionInfo(), AcquireQuantumMemory(), AcquireRandomInfo(), AcquireVirtualCacheView(), BitwiseAndAssignmentOperator, BitwiseOrAssignmentOperator, _FxInfo::colors, CompareSplayTreeString(), ConstantString(), DecrementAssignmentOperator, DivideAssignmentOperator, EqualOperator, _FxInfo::exception, ExponentialNotation, _FxInfo::expression, _FxInfo::file, GetFirstImageInList(), GetImageListLength(), GreaterThanEqualOperator, _FxInfo::images, IncrementAssignmentOperator, LeftShiftAssignmentOperator, LeftShiftOperator, LessThanEqualOperator, LogicalAndOperator, LogicalOrOperator, ModuloAssignmentOperator, MultiplyAssignmentOperator, NewSplayTree(), _Image::next, NotEqualOperator, PlusAssignmentOperator, PowerAssignmentOperator, _FxInfo::random_info, RelinquishMagickMemory(), ResourceLimitFatalError, RightShiftAssignmentOperator, RightShiftOperator, SubstituteString(), SubtractAssignmentOperator, _FxInfo::symbols, ThrowFatalException, and _FxInfo::view.
| static FxInfo** AcquireFxThreadSet | ( | const Image * | image, | |
| const char * | expression, | |||
| ExceptionInfo * | exception | |||
| ) | [static] |
References AcquireFxInfo(), AcquireQuantumMemory(), ConstantString(), DestroyFxThreadSet(), DestroyString(), _Image::filename, FileToString(), FxPreprocessExpression(), GetMagickModule, GetMagickResourceLimit(), MagickFalse, ResourceLimitError, ThreadResource, and ThrowMagickException().
Referenced by FxImageChannel().
References _FxInfo::colors, DestroyCacheView(), DestroyExceptionInfo(), DestroyRandomInfo(), DestroySplayTree(), DestroyString(), _FxInfo::exception, _FxInfo::expression, GetImageListLength(), _FxInfo::images, _FxInfo::random_info, RelinquishMagickMemory(), _FxInfo::symbols, and _FxInfo::view.
Referenced by DestroyFxThreadSet(), GetImageProperty(), and InterpretImageProperties().
References DestroyFxInfo(), GetMagickResourceLimit(), RelinquishMagickMemory(), and ThreadResource.
Referenced by AcquireFxThreadSet(), and FxImageChannel().
| static double FxChannelStatistics | ( | FxInfo * | fx_info, | |
| const Image * | image, | |||
| ChannelType | channel, | |||
| const char * | symbol, | |||
| ExceptionInfo * | exception | |||
| ) | [static] |
References CopyMagickString(), FormatLocaleString(), GetFxSymbolValue(), GetImageChannelDepth(), GetImageChannelKurtosis(), GetImageChannelMean(), GetImageChannelRange(), LocaleNCompare(), MagickChannelOptions, MagickFalse, MagickTrue, MaxTextExtent, ParseCommandOption(), QuantumScale, and SetFxSymbolValue().
Referenced by FxGetSymbol().
| MagickExport MagickBooleanType FxEvaluateChannelExpression | ( | FxInfo * | fx_info, | |
| const ChannelType | channel, | |||
| const ssize_t | x, | |||
| const ssize_t | y, | |||
| double * | alpha, | |||
| ExceptionInfo * | exception | |||
| ) |
References _FxInfo::expression, FxEvaluateSubexpression(), MagickFalse, MagickTrue, OptionError, and _ExceptionInfo::severity.
Referenced by FxEvaluateExpression(), FxImageChannel(), FxPreprocessExpression(), GetImageProperty(), and InterpretImageProperties().
| MagickExport MagickBooleanType FxEvaluateExpression | ( | FxInfo * | fx_info, | |
| double * | alpha, | |||
| ExceptionInfo * | exception | |||
| ) |
References FxEvaluateChannelExpression(), and GrayChannel.
| static double FxEvaluateSubexpression | ( | FxInfo * | fx_info, | |
| const ChannelType | channel, | |||
| const ssize_t | x, | |||
| const ssize_t | y, | |||
| const char * | expression, | |||
| const size_t | depth, | |||
| double * | beta, | |||
| ExceptionInfo * | exception | |||
| ) | [static] |
References AcquireString(), AlphaChannel, BitwiseAndAssignmentOperator, BitwiseOrAssignmentOperator, BlackChannel, BlueChannel, ClearMagickException(), CMYKColorspace, _Image::colorspace, CopyMagickString(), CyanChannel, DecrementAssignmentOperator, DivideAssignmentOperator, EqualOperator, ErrorException, ExponentialNotation, _FxInfo::file, _Image::filename, FormatLocaleFile(), FxGCD(), FxGetSymbol(), FxMaxParenthesisDepth, FxMaxSubexpressionDepth, FxOperatorPrecedence(), FxParseConditional, FxReturn, GetMagickModule, GetMagickPrecision(), GetPseudoRandomValue(), GRAYColorspace, GreaterThanEqualOperator, GreenChannel, _FxInfo::images, IncrementAssignmentOperator, InterpretSiPrefixValue(), IsFxFunction(), IsNaN, LeftShiftAssignmentOperator, LeftShiftOperator, LessThanEqualOperator, LocaleCompare(), LocaleNCompare(), LogicalAndOperator, LogicalOrOperator, MagentaChannel, MagickEpsilon, MagickFalse, MagickPathExtent, MagickPHI, MagickPI, MaxTextExtent, ModuloAssignmentOperator, MultiplyAssignmentOperator, NotEqualOperator, OptionError, PerceptibleReciprocal(), PlusAssignmentOperator, PowerAssignmentOperator, QuantumRange, QuantumScale, _FxInfo::random_info, RedChannel, RightShiftAssignmentOperator, RightShiftOperator, SetFxSymbolValue(), _ExceptionInfo::severity, SubtractAssignmentOperator, ThrowMagickException(), and YellowChannel.
Referenced by FxEvaluateChannelExpression(), and FxGetSymbol().
| static MagickOffsetType FxGCD | ( | MagickOffsetType | alpha, | |
| MagickOffsetType | beta | |||
| ) | [static] |
Referenced by FxEvaluateSubexpression().
| static double FxGetSymbol | ( | FxInfo * | fx_info, | |
| const ChannelType | channel, | |||
| const ssize_t | x, | |||
| const ssize_t | y, | |||
| const char * | expression, | |||
| const size_t | depth, | |||
| ExceptionInfo * | exception | |||
| ) | [static] |
References AcquireString(), AddValueToSplayTree(), BlackChannel, _MagickPixelPacket::blue, BlueChannel, _GeometryInfo::chi, ChiValue, ClampToQuantum(), CloneMagickPixelPacket(), CMYKColorspace, _FxInfo::colors, _Image::colorspace, _Image::columns, ConstantString(), ConvertRGBToHSL(), CopyMagickString(), CyanChannel, DefaultChannels, DestroyString(), _FxInfo::exception, _Image::extent, _Image::filename, FxChannelStatistics(), FxEvaluateSubexpression(), GetBlobSize(), GetFxSymbolValue(), GetImageChannelDepth(), GetImageFromList(), GetImageIndexInList(), GetImageListLength(), GetMagickModule, GetMagickPixelIntensity(), GetMagickPixelPacket(), GetPixelAlpha, GetValueFromSplayTree(), _MagickPixelPacket::green, GreenChannel, _RectangleInfo::height, ImageError, _FxInfo::images, _MagickPixelPacket::index, IndexChannel, _Image::interpolate, InterpolateMagickPixelPacket(), IsFxFunction(), LocaleCompare(), LocaleNCompare(), MagentaChannel, MagickFalse, _MagickPixelPacket::matte, MaxTextExtent, _MagickPixelPacket::opacity, OpacityChannel, OptionError, _Image::page, ParseGeometry(), PerceptibleReciprocal(), _GeometryInfo::psi, PsiValue, _Image::quality, QuantumScale, QueryMagickColor(), _MagickPixelPacket::red, RedChannel, _GeometryInfo::rho, RhoValue, _Image::rows, SetFxSymbolValue(), _GeometryInfo::sigma, SigmaValue, StripString(), ThrowMagickException(), _FxInfo::view, _RectangleInfo::width, _RectangleInfo::x, _PointInfo::x, _Image::x_resolution, _GeometryInfo::xi, XiValue, _RectangleInfo::y, _PointInfo::y, _Image::y_resolution, and YellowChannel.
Referenced by FxEvaluateSubexpression().
| MagickExport Image* FxImage | ( | const Image * | image, | |
| const char * | expression, | |||
| ExceptionInfo * | exception | |||
| ) |
References FxImageChannel(), and GrayChannel.
| MagickExport Image* FxImageChannel | ( | const Image * | image, | |
| const ChannelType | channel, | |||
| const char * | expression, | |||
| ExceptionInfo * | exception | |||
| ) |
References AcquireAuthenticCacheView(), AcquireFxThreadSet(), BlueChannel, ClampToQuantum(), CloneImage(), CMYKColorspace, _Image::colorspace, _Image::columns, _Image::debug, DestroyCacheView(), DestroyFxThreadSet(), DestroyImage(), DirectClass, _Image::exception, _Image::filename, FxEvaluateChannelExpression(), FxImageTag, GetCacheViewAuthenticIndexQueue(), GetCacheViewAuthenticPixels(), GetMagickModule, GetOpenMPThreadId(), GreenChannel, IndexChannel, InheritException(), LogMagickEvent(), magick_restrict, MagickCoreSignature, MagickFalse, MagickTrue, _Image::matte, OpacityChannel, _Image::progress_monitor, QuantumRange, RedChannel, _Image::rows, SetImageProgress(), SetImageStorageClass(), SetPixelBlue, SetPixelGreen, SetPixelIndex, SetPixelOpacity, SetPixelRed, _Image::signature, SyncCacheViewAuthenticPixels(), and TraceEvent.
Referenced by FxImage().
| static const char* FxOperatorPrecedence | ( | const char * | expression, | |
| ExceptionInfo * | exception | |||
| ) | [static] |
References BitwiseAndAssignmentOperator, BitwiseOrAssignmentOperator, DecrementAssignmentOperator, DivideAssignmentOperator, EqualOperator, ExponentialNotation, FxSubexpression(), GreaterThanEqualOperator, IncrementAssignmentOperator, IsFxFunction(), LeftShiftAssignmentOperator, LeftShiftOperator, LessThanEqualOperator, LocaleNCompare(), LogicalAndOperator, LogicalOrOperator, MagickFalse, ModuloAssignmentOperator, MultiplyAssignmentOperator, NotEqualOperator, PlusAssignmentOperator, PowerAssignmentOperator, RightShiftAssignmentOperator, RightShiftOperator, and SubtractAssignmentOperator.
Referenced by FxEvaluateSubexpression().
| MagickExport MagickBooleanType FxPreprocessExpression | ( | FxInfo * | fx_info, | |
| double * | alpha, | |||
| ExceptionInfo * | exception | |||
| ) |
References _FxInfo::file, FxEvaluateChannelExpression(), and GrayChannel.
Referenced by AcquireFxThreadSet().
| static const char* FxSubexpression | ( | const char * | expression, | |
| ExceptionInfo * | exception | |||
| ) | [inline, static] |
References GetMagickModule, OptionError, and ThrowMagickException().
Referenced by FxOperatorPrecedence().
| static const double* GetFxSymbolValue | ( | FxInfo * | fx_info, | |
| const char * | symbol | |||
| ) | [inline, static] |
References GetValueFromSplayTree(), and _FxInfo::symbols.
Referenced by FxChannelStatistics(), and FxGetSymbol().
| static MagickBooleanType IsFxFunction | ( | const char * | expression, | |
| const char * | name, | |||
| const size_t | length | |||
| ) | [inline, static] |
References LocaleNCompare(), MagickFalse, and MagickTrue.
Referenced by FxEvaluateSubexpression(), FxGetSymbol(), and FxOperatorPrecedence().
| static MagickBooleanType SetFxSymbolValue | ( | FxInfo *magick_restrict | fx_info, | |
| const char *magick_restrict | symbol, | |||
| const double | value | |||
| ) | [inline, static] |
References AcquireQuantumMemory(), AddValueToSplayTree(), ConstantString(), GetMagickModule, GetValueFromSplayTree(), MagickFalse, MagickTrue, ResourceLimitError, and ThrowMagickException().
Referenced by FxChannelStatistics(), FxEvaluateSubexpression(), and FxGetSymbol().
1.6.1