using System; using System.Collections.Generic; using CPF.Drawing; using CPF.ReoGrid.Views; namespace CPF.ReoGrid { internal static class GenericExtends { public static bool Has(this PlainStyleFlag flag, PlainStyleFlag target) { return (flag & target) == target; } public static bool HasAny(this PlainStyleFlag flag, PlainStyleFlag target) { return (flag & target) > PlainStyleFlag.None; } public static void Set(this PlainStyleFlag flag, PlainStyleFlag target) { flag |= target; } public static void Unset(this PlainStyleFlag flag, PlainStyleFlag target) { flag &= ~target; } public static bool Has(this BorderPositions pos, BorderPositions target) { return (pos & target) == target; } public static bool HasAny(this BorderPositions pos, BorderPositions target) { return (pos & target) > BorderPositions.None; } internal static bool Has(this ViewTypes pos, ViewTypes target) { return (pos & target) == target; } internal static bool HasAny(this ViewTypes pos, ViewTypes target) { return (pos & target) > ViewTypes.None; } public static bool Has(this WorksheetSettings settings, WorksheetSettings target) { return (settings & target) == target; } public static bool HasAny(this WorksheetSettings settings, WorksheetSettings target) { return (settings & target) > WorksheetSettings.None; } public static WorksheetSettings Add(this WorksheetSettings settings, WorksheetSettings target) { return settings |= target; } public static WorksheetSettings Remove(this WorksheetSettings settings, WorksheetSettings target) { return settings &= ~target; } public static bool Has(this WorkbookSettings settings, WorkbookSettings target) { return (settings & target) == target; } public static bool HasAny(this WorkbookSettings settings, WorkbookSettings target) { return (settings & target) > WorkbookSettings.None; } public static WorkbookSettings Add(this WorkbookSettings settings, WorkbookSettings target) { return settings |= target; } public static WorkbookSettings Remove(this WorkbookSettings settings, WorkbookSettings target) { return settings &= ~target; } public static bool DictionaryEquals(this IDictionary first, IDictionary second) { bool flag = first == second; bool result; if (flag) { result = true; } else { bool flag2 = first == null || second == null; if (flag2) { result = false; } else { bool flag3 = first.Count != second.Count; if (flag3) { result = false; } else { EqualityComparer @default = EqualityComparer.Default; foreach (KeyValuePair keyValuePair in first) { TValue y; bool flag4 = !second.TryGetValue(keyValuePair.Key, out y); if (flag4) { return false; } bool flag5 = !@default.Equals(keyValuePair.Value, y); if (flag5) { return false; } } result = true; } } } return result; } internal static bool Empty(this Point p) { return p.X == 0f && p.Y == 0f; } } }