public void SetBlendOp(UserBlendOp blendOp) { if (disposed) { throw new ObjectDisposedException("BitmapLayer"); } if (blendOp.GetType() != properties.blendOp.GetType()) { OnPropertyChanging(BitmapLayerProperties.BlendOpName); properties.blendOp = blendOp; compiledBlendOp = null; Invalidate(); OnPropertyChanged(BitmapLayerProperties.BlendOpName); } }
private static PSPBlendModes BlendOptoBlendMode(UserBlendOp op) { Type opType = op.GetType(); if (opType == typeof(UserBlendOps.NormalBlendOp)) { return(PSPBlendModes.Normal); } else if (opType == typeof(UserBlendOps.ColorBurnBlendOp)) { return(PSPBlendModes.Burn); } else if (opType == typeof(UserBlendOps.ColorDodgeBlendOp)) { return(PSPBlendModes.Dodge); } else if (opType == typeof(UserBlendOps.DarkenBlendOp)) { return(PSPBlendModes.Darken); } else if (opType == typeof(UserBlendOps.DifferenceBlendOp)) { return(PSPBlendModes.Difference); } else if (opType == typeof(UserBlendOps.LightenBlendOp)) { return(PSPBlendModes.Lighten); } else if (opType == typeof(UserBlendOps.MultiplyBlendOp)) { return(PSPBlendModes.Multiply); } else if (opType == typeof(UserBlendOps.OverlayBlendOp)) { return(PSPBlendModes.Overlay); } else if (opType == typeof(UserBlendOps.ScreenBlendOp)) { return(PSPBlendModes.Screen); } return(PSPBlendModes.Normal); }