using Azimuth; using System; namespace Glass.Blacklight { public static class TintSpaceAdapter { /// /// Returns as Blacklight needs it to measure a tint in . /// Blacklight's screen is in pixels and Glass's is pixels to the unit, so a screen /// tint is scaled up to match. /// public static AffineMatrix TintTransformFor( AffineMatrix transform, global::Blacklight.Core.Drawables.FillSpace space, Scalar uiScale) { if (space != global::Blacklight.Core.Drawables.FillSpace.Screen || uiScale == 1) { return transform; } return AffineMatrix.BuildFromScale(uiScale) * transform; } public static global::Blacklight.Core.Drawables.FillSpace ToBlacklight(this global::Glass.TintSpace space) { switch (space) { case TintSpace.Screen: return global::Blacklight.Core.Drawables.FillSpace.Screen; case TintSpace.Model: return global::Blacklight.Core.Drawables.FillSpace.Model; default: throw new InvalidOperationException($"Unknown tint space {space}"); } } } }