-
Notifications
You must be signed in to change notification settings - Fork 72
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #396 from DarthAffe/HPPH
Added HPPH Image texture in presets; Removed old .NET versions
- Loading branch information
Showing
24 changed files
with
144 additions
and
21 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
RGB.NET.Devices.CoolerMaster/RGB.NET.Devices.CoolerMaster.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
RGB.NET.Devices.Corsair_Legacy/RGB.NET.Devices.Corsair_Legacy.csproj
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,27 @@ | ||
using HPPH; | ||
using RGB.NET.Core; | ||
|
||
namespace RGB.NET.Presets.Extensions; | ||
|
||
/// <summary> | ||
/// Offers some extensions related to HPPH. | ||
/// </summary> | ||
public static class HPPHExtensions | ||
{ | ||
/// <summary> | ||
/// Converts the given HPPH <see cref="IColor"/> to a RGB.NET <see cref="Color"/>. | ||
Check warning on line 12 in RGB.NET.Presets/Extensions/HPPHExtensions.cs GitHub Actions / build
|
||
/// </summary> | ||
/// <param name="color">The color to convert.</param> | ||
/// <returns>The converted color.</returns> | ||
public static Color ToColor(this IColor color) => new(color.A, color.R, color.G, color.B); | ||
|
||
/// <summary> | ||
/// Converts the given HPPH <see cref="IColor"/> to a RGB.NET <see cref="Color"/>. | ||
Check warning on line 19 in RGB.NET.Presets/Extensions/HPPHExtensions.cs GitHub Actions / build
|
||
/// </summary> | ||
/// <param name="color">The color to convert.</param> | ||
/// <typeparam name="T">The color-type of the HPPH color.</typeparam> | ||
/// <returns>The converted color.</returns> | ||
public static Color ToColor<T>(this T color) | ||
where T : struct, IColor | ||
=> new(color.A, color.R, color.G, color.B); | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,91 @@ | ||
using System; | ||
using HPPH; | ||
using RGB.NET.Core; | ||
using RGB.NET.Presets.Extensions; | ||
|
||
namespace RGB.NET.Presets.Textures; | ||
|
||
/// <inheritdoc /> | ||
/// <summary> | ||
/// Represents a texture drawing an <see cref="IImage"/>. | ||
/// </summary> | ||
public sealed class ImageTexture : ITexture | ||
{ | ||
#region Properties & Fields | ||
|
||
private IImage _image; | ||
|
||
/// <summary> | ||
/// The image drawn by this texture. | ||
/// </summary> | ||
public IImage Image | ||
{ | ||
get => _image; | ||
set | ||
{ | ||
ArgumentNullException.ThrowIfNull(value); | ||
_image = value; | ||
} | ||
} | ||
|
||
/// <inheritdoc /> | ||
public Size Size { get; } | ||
|
||
/// <inheritdoc /> | ||
public Color this[Point point] | ||
{ | ||
get | ||
{ | ||
int x = (int)MathF.Round((Size.Width - 1) * point.X.Clamp(0, 1)); | ||
int y = (int)MathF.Round((Size.Height - 1) * point.Y.Clamp(0, 1)); | ||
|
||
return Image[x, y].ToColor(); | ||
} | ||
} | ||
|
||
/// <inheritdoc /> | ||
public Color this[Rectangle rectangle] | ||
{ | ||
get | ||
{ | ||
int x = (int)MathF.Round((Size.Width - 1) * rectangle.Location.X.Clamp(0, 1)); | ||
int y = (int)MathF.Round((Size.Height - 1) * rectangle.Location.Y.Clamp(0, 1)); | ||
int width = (int)MathF.Round(Size.Width * rectangle.Size.Width.Clamp(0, 1)); | ||
int height = (int)MathF.Round(Size.Height * rectangle.Size.Height.Clamp(0, 1)); | ||
|
||
if ((width == 0) && (rectangle.Size.Width > 0)) width = 1; | ||
if ((height == 0) && (rectangle.Size.Height > 0)) height = 1; | ||
|
||
return this[x, y, width, height]; | ||
} | ||
} | ||
|
||
/// <summary> | ||
/// Gets the sampled color inside the specified region. | ||
/// </summary> | ||
/// <param name="x">The x-location of the region.</param> | ||
/// <param name="y">The y-location of the region.</param> | ||
/// <param name="width">The with of the region.</param> | ||
/// <param name="height">The height of the region.</param> | ||
/// <returns>The sampled color.</returns> | ||
public Color this[int x, int y, int width, int height] => Image[x, y, width, height].Average().ToColor(); | ||
|
||
#endregion | ||
|
||
#region Constructors | ||
|
||
/// <summary> | ||
/// Initializes a new instance of the <see cref="ImageTexture" /> class. | ||
/// </summary> | ||
/// <param name="image">The image represented by the texture.</param> | ||
#pragma warning disable CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. | ||
public ImageTexture(IImage image) | ||
#pragma warning restore CS8618 // Non-nullable field must contain a non-null value when exiting constructor. Consider declaring as nullable. | ||
{ | ||
this.Image = image; | ||
|
||
Size = new Size(image.Width, image.Height); | ||
} | ||
|
||
#endregion | ||
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters