diff options
| author | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-07-07 11:29:52 +0300 |
|---|---|---|
| committer | Roy Ben-Shabat <Roy@Twine-s.com> | 2019-07-07 11:29:52 +0300 |
| commit | 17151f7f613c0c94f302a453bfbeb308b192ee88 (patch) | |
| tree | bf288bdae61f46a47b3ca8b7246ccf8459a7d838 /Software/Visual_Studio/Tango.BL/Utils | |
| parent | aeff4ea307617959533f2f5babe8d62a57c18d6f (diff) | |
| download | Tango-17151f7f613c0c94f302a453bfbeb308b192ee88.tar.gz Tango-17151f7f613c0c94f302a453bfbeb308b192ee88.zip | |
BrushStopUtils.
Diffstat (limited to 'Software/Visual_Studio/Tango.BL/Utils')
| -rw-r--r-- | Software/Visual_Studio/Tango.BL/Utils/BrushStopUtils.cs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/Software/Visual_Studio/Tango.BL/Utils/BrushStopUtils.cs b/Software/Visual_Studio/Tango.BL/Utils/BrushStopUtils.cs new file mode 100644 index 000000000..76f928bf3 --- /dev/null +++ b/Software/Visual_Studio/Tango.BL/Utils/BrushStopUtils.cs @@ -0,0 +1,60 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; +using System.Windows.Media; +using Tango.BL.ColorConversion; +using Tango.BL.Entities; +using Tango.PMR.ColorLab; + +namespace Tango.BL.Utils +{ + public class BrushStopUtils + { + public static void ApplyConversionOutputLiquids(BrushStop stop, List<OutputLiquid> outputLiquids) + { + foreach (var liquid in outputLiquids) + { + var liquidVolume = stop.LiquidVolumes.SingleOrDefault(x => x.IdsPack.LiquidType.Code == liquid.LiquidType.ToInt32()); + + if (liquidVolume != null) + { + liquidVolume.Volume = liquid.Volume; + } + } + } + + public static void ApplyConversionCoordinates(BrushStop stop, OutputCoordinates coordinates) + { + ApplyConversionOutputLiquids(stop, coordinates.OutputLiquids.ToList()); + + stop.Color = Color.FromRgb((byte)coordinates.Red, (byte)coordinates.Green, (byte)coordinates.Blue); + + stop.IsOutOfGamut = false; + stop.Corrected = true; + } + + public static void ApplyConversionSuggestion(BrushStop stop, ColorConversionSuggestion suggestion) + { + ApplyConversionCoordinates(stop, suggestion.Coordinates); + } + + public static void ApplyColorConversion(BrushStop stop) + { + var conversionOutput = TangoColorConverter.GetSuggestions(stop); + + if (stop.BrushColorSpace == Enumerations.ColorSpaces.RGB || stop.BrushColorSpace == Enumerations.ColorSpaces.LAB) + { + ApplyConversionCoordinates(stop, conversionOutput.SingleCoordinates); + stop.IsOutOfGamut = conversionOutput.OutOfGamut; + } + else if (stop.BrushColorSpace == Enumerations.ColorSpaces.Volume) + { + stop.Color = Color.FromRgb((byte)conversionOutput.SingleCoordinates.Red, (byte)conversionOutput.SingleCoordinates.Green, (byte)conversionOutput.SingleCoordinates.Blue); + stop.IsOutOfGamut = false; + stop.Corrected = true; + } + } + } +} |
