aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Tango.BL/Utils
diff options
context:
space:
mode:
authorRoy Ben-Shabat <Roy@Twine-s.com>2019-07-07 11:29:52 +0300
committerRoy Ben-Shabat <Roy@Twine-s.com>2019-07-07 11:29:52 +0300
commit17151f7f613c0c94f302a453bfbeb308b192ee88 (patch)
treebf288bdae61f46a47b3ca8b7246ccf8459a7d838 /Software/Visual_Studio/Tango.BL/Utils
parentaeff4ea307617959533f2f5babe8d62a57c18d6f (diff)
downloadTango-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.cs60
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;
+ }
+ }
+ }
+}