{
case AtopCompositeOp:
case ClearCompositeOp:
+ case ColorDodgeCompositeOp:
case CopyCompositeOp:
case DarkenCompositeOp:
case DarkenIntensityCompositeOp:
case InCompositeOp:
case LightenCompositeOp:
case LightenIntensityCompositeOp:
+ case MathematicsCompositeOp:
case MinusDstCompositeOp:
case MinusSrcCompositeOp:
case ModulusAddCompositeOp:
alpha=Sa*Da;
break;
}
+ case ColorDodgeCompositeOp:
case DifferenceCompositeOp:
case DivideDstCompositeOp:
case DivideSrcCompositeOp:
case ExclusionCompositeOp:
+ case MathematicsCompositeOp:
case MinusDstCompositeOp:
case MinusSrcCompositeOp:
case ModulusAddCompositeOp:
pixel=Sc*Sa+Dc*(1.0-Sa);
break;
}
+ case ColorDodgeCompositeOp:
+ {
+ if ((fabs((Sa*Sc)-Sa) < MagickEpsilon) &&
+ (fabs((Da*Dc)) < MagickEpsilon))
+ {
+ pixel=gamma*((Sa*Sc)*(1.0-Da)+(Da*Dc)*(1.0-Sa));
+ break;
+ }
+ if (fabs((Sa*Sc)-Sa) < MagickEpsilon)
+ {
+ pixel=gamma*(Sa*Da+(Sa*Sc)*(1.0-Da)+(Da*Dc)*(1.0-Sa));
+ break;
+ }
+ pixel=gamma*((Da*Dc)*Sa*Sa/(Sa-(Sa*Sc))+(Sa*Sc)*(1.0-Da)+(Da*Dc)*
+ (1.0-Sa));
+ break;
+ }
case CopyCompositeOp:
case ReplaceCompositeOp:
case SrcCompositeOp:
Da*GetPixelIntensity(image,q) ? Sc : Dc;
break;
}
+ case MathematicsCompositeOp:
+ {
+ pixel=gamma*geometry_info.rho*Sa*Sc*Da*Dc+geometry_info.sigma*
+ Sa*Sc*Da+geometry_info.xi*Da*Dc*Sa+geometry_info.psi*Sa*Da+
+ Sa*Sc*(1.0-Da)+Da*Dc*(1.0-Sa);
+ break;
+ }
case MinusDstCompositeOp:
{
pixel=gamma*(Sa*Sc+Da*Dc-2.0*Da*Dc*Sa);
% %
% %
% %
-+ N T G e t T y pe L i s t %
++ N T G e t T y p e L i s t %
% %
% %
% %
% may coexist.
%
% Values are stored in the registry under a base path path similar to
-% "HKEY_LOCAL_MACHINE/SOFTWARE\ImageMagick\5.5.7\Q:16". The provided subkey
+% "HKEY_LOCAL_MACHINE/SOFTWARE\ImageMagick\7.0.0\Q:16" or
+% "HKEY_CURRENT_USER/SOFTWARE\ImageMagick\7.0.0\Q:16". The provided subkey
% is appended to this base path to form the full key.
%
% The format of the NTRegistryKeyLookup method is:
(void) LogMagickEvent(ConfigureEvent,GetMagickModule(),"%s",package_key);
registry_key=(HKEY) INVALID_HANDLE_VALUE;
status=RegOpenKeyExA(HKEY_LOCAL_MACHINE,package_key,0,KEY_READ,®istry_key);
+ if (status != ERROR_SUCCESS)
+ status=RegOpenKeyExA(HKEY_CURRENT_USER,package_key,0,KEY_READ,
+ ®istry_key);
if (status != ERROR_SUCCESS)
{
registry_key=(HKEY) INVALID_HANDLE_VALUE;