142 lines
3.2 KiB
C#
142 lines
3.2 KiB
C#
![]() |
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<TKey, TValue>(this IDictionary<TKey, TValue> first, IDictionary<TKey, TValue> 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<TValue> @default = EqualityComparer<TValue>.Default;
|
|||
|
foreach (KeyValuePair<TKey, TValue> 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;
|
|||
|
}
|
|||
|
}
|
|||
|
}
|