Browse Source

Add support casting System.Drawing.Color to Discord.Color

pull/1043/head
Acid Chicken (硫酸鶏) 7 years ago
parent
commit
27ea826685
No known key found for this signature in database GPG Key ID: E292DBE5D23A5846
2 changed files with 14 additions and 3 deletions
  1. +3
    -2
      src/Discord.Net.Core/Discord.Net.Core.csproj
  2. +11
    -1
      src/Discord.Net.Core/Entities/Roles/Color.cs

+ 3
- 2
src/Discord.Net.Core/Discord.Net.Core.csproj View File

@@ -4,8 +4,9 @@
<AssemblyName>Discord.Net.Core</AssemblyName>
<RootNamespace>Discord</RootNamespace>
<Description>The core components for the Discord.Net library.</Description>
<TargetFrameworks Condition=" '$(OS)' == 'Windows_NT' ">net45;netstandard1.1;netstandard1.3</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netstandard1.1;netstandard1.3</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' == 'Windows_NT' ">net45;netstandard1.1;netstandard1.3;netstandard2.0</TargetFrameworks>
<TargetFrameworks Condition=" '$(OS)' != 'Windows_NT' ">netstandard1.1;netstandard1.3;netstandard2.0</TargetFrameworks>
<DefineConstants Condition=" '$(TargetFramework)' == 'netstandard2.0' ">NETSTANDARD2</DefineConstants>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Newtonsoft.Json" Version="10.0.2" />


+ 11
- 1
src/Discord.Net.Core/Entities/Roles/Color.cs View File

@@ -1,5 +1,8 @@
using System;
using System.Diagnostics;
#if NETSTANDARD2
using StandardColor = System.Drawing.Color;
#endif

namespace Discord
{
@@ -96,7 +99,14 @@ namespace Discord
((uint)(g * 255.0f) << 8) |
(uint)(b * 255.0f);
}

#if NETSTANDARD2
public static implicit operator StandardColor(Color color) =>
StandardColor.FromArgb((int)color.RawValue);
public static explicit operator Color(StandardColor color) =>
new Color((uint)color.ToArgb() << 8 >> 8);
#endif

public override string ToString() =>
$"#{Convert.ToString(RawValue, 16)}";
private string DebuggerDisplay =>


Loading…
Cancel
Save