using System; namespace OpenMacroBoard.SDK.Helper { /// /// Extensions from s. /// public static class KeyLayoutAreaHelperExtensions { /// /// Calculates a which spans all keys from a given . /// /// The key layout this area is calculated for. /// Returns a rectangle that spans all keys. public static OmbRectangle GetFullArea(this IKeyLayout keyLayout) { var minX = 0; var minY = 0; var maxX = 0; var maxY = 0; foreach (var keyRect in keyLayout) { minX = Math.Min(minX, keyRect.Left); minY = Math.Min(minY, keyRect.Top); maxX = Math.Max(maxX, keyRect.Right); maxY = Math.Max(maxY, keyRect.Bottom); } return new OmbRectangle(minX, minY, maxX - minX, maxY - minY); } } }