Skip to content

Commit 9a47997

Browse files
authored
Split graphics in 2 libraries a core and a full one (#121)
1 parent 1428ca6 commit 9a47997

File tree

158 files changed

+5695
-3578
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

158 files changed

+5695
-3578
lines changed

ManagedDrivers/Gc9A01/nanoFramework.Graphics.Gc9A01.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/Ili9341/nanoFramework.Graphics.Ili9341.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/Ili9342/nanoFramework.Graphics.Ili9342.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/Otm8009A/nanoFramework.Graphics.Otm8009A.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/Ssd1306/nanoFramework.Graphics.Ssd1306.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/Ssd1331/nanoFramework.Graphics.Ssd1331.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/St7735/nanoFramework.Graphics.St7735.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

ManagedDrivers/St7789/St7789.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ namespace nanoFramework.UI.GraphicDrivers
1212
/// <summary>
1313
/// ST7735 managed graphic driver.
1414
/// </summary>
15-
public static class St7735
15+
public static class St7789
1616
{
1717
private static GraphicDriver _driver;
1818

ManagedDrivers/St7789/nanoFramework.Graphics.St7789.nfproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,7 @@
4141
<None Include="packages.config" />
4242
</ItemGroup>
4343
<ItemGroup>
44+
<ProjectReference Include="..\..\nanoFramework.Graphics.Core\nanoFramework.Graphics.Core.nfproj" />
4445
<ProjectReference Include="..\..\nanoFramework.Graphics\nanoFramework.Graphics.nfproj" />
4546
</ItemGroup>
4647
<Import Project="$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets" Condition="Exists('$(NanoFrameworkProjectSystemPath)NFProjectSystem.CSharp.targets')" />

Tests/ColorTests/ColorTests.cs

Lines changed: 99 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,99 @@
1+
// Copyright (c) .NET Foundation and Contributors
2+
// Portions Copyright (c) Microsoft Corporation. All rights reserved.
3+
// See LICENSE file in the project root for full license information.
4+
5+
using nanoFramework.TestFramework;
6+
using System.Drawing;
7+
8+
namespace nanoFramework.UI
9+
{
10+
[TestClass]
11+
public class ColorTests
12+
{
13+
[TestMethod]
14+
public void ColorTestBasicSerialization()
15+
{
16+
// Arrange
17+
var col = Color.Red;
18+
19+
// Act
20+
var col2 = Color.FromHex(col.ToString());
21+
22+
// Assert
23+
Assert.AreEqual(col, col2);
24+
}
25+
26+
[TestMethod]
27+
public void ColorTestColorSerialization()
28+
{
29+
// Arrange
30+
var col = "Red";
31+
32+
// Act
33+
var col2 = Color.FromName(col);
34+
35+
// Assert
36+
Assert.IsNotNull(col2);
37+
Assert.AreEqual(Color.Red, col2);
38+
}
39+
40+
[TestMethod]
41+
public void ColorTestColorCaseSerialization()
42+
{
43+
// Arrange
44+
var col = "rEd";
45+
46+
// Act
47+
var col2 = Color.FromName(col);
48+
49+
// Assert
50+
Assert.IsNotNull(col2);
51+
Assert.AreEqual(Color.Red, col2);
52+
}
53+
54+
[TestMethod]
55+
public void ColorEqualTest()
56+
{
57+
// Arrange
58+
var col1 = Color.Red;
59+
var col2 = Color.Red;
60+
61+
Assert.AreEqual(col1, col2);
62+
Assert.IsTrue(col1 == col2);
63+
}
64+
65+
[DataRow(new object[] { (byte)0b0000_0111, (byte)0b0000_0011, (byte)0b0000_0111, (ushort)0x0000 })]
66+
[DataRow(new object[] { (byte)0b0000_1111, (byte)0b0000_0111, (byte)0b0000_1111, (ushort)0b0000_1000_0010_0001 })]
67+
[DataRow(new object[] { (byte)0b0000_1111, (byte)0b0000_0111, (byte)0b1000_1111, (ushort)0b0000_1000_0011_0001 })]
68+
[DataRow(new object[] { (byte)0b0000_1111, (byte)0b1000_0111, (byte)0b1000_1111, (ushort)0b0000_1100_0011_0001 })]
69+
[DataRow(new object[] { (byte)0b1000_1111, (byte)0b1000_0111, (byte)0b1000_1111, (ushort)0b1000_1100_0011_0001 })]
70+
public void TestBgr565(byte b, byte g, byte r, ushort correctResult)
71+
{
72+
// Arrange
73+
var col = Color.FromArgb(255, r, g, b);
74+
75+
// Act
76+
var result = col.ToBgr565();
77+
78+
// Assert
79+
Assert.AreEqual(correctResult, result);
80+
}
81+
82+
[DataRow(new object[] { (byte)0b0000_0111, (byte)0b0000_0011, (byte)0b0000_0111, (byte)ColorOrder.Rgb, (byte)8, (byte)8, (byte)8, (uint)0b0000_0111_0000_0011_0000_0111 })]
83+
[DataRow(new object[] { (byte)0b0000_0111, (byte)0b0000_0011, (byte)0b0000_0111, (byte)ColorOrder.Rgb, (byte)5, (byte)6, (byte)5, (uint)0b0000_0000_0000_0000_0000_0000 })]
84+
[DataRow(new object[] { (byte)0b0000_1111, (byte)0b0000_0111, (byte)0b0000_1111, (byte)ColorOrder.Rgb, (byte)5, (byte)6, (byte)5, (uint)0b0000_0000_0000_1000_0010_0001 })]
85+
[DataRow(new object[] { (byte)0b0000_1111, (byte)0b0000_0111, (byte)0b0000_1111, (byte)ColorOrder.Rgb, (byte)8, (byte)6, (byte)5, (uint)0b0000_0000_0111_1000_0010_0001 })]
86+
[DataRow(new object[] { (byte)0b0000_1111, (byte)0b0000_0111, (byte)0b0000_1111, (byte)ColorOrder.Rbg, (byte)8, (byte)6, (byte)5, (uint)0b0000_0000_0111_1000_0100_0001 })]
87+
public void TestRgbFormat(byte r, byte g, byte b, byte order, byte numR, byte numG, byte numB, uint correctResult)
88+
{
89+
// Arrange
90+
var col = Color.FromArgb(0, r, g, b);
91+
92+
// Act
93+
var result = col.ToRgbFormat((ColorOrder)order, numR, numG, numB);
94+
95+
// Assert
96+
Assert.AreEqual(correctResult, result);
97+
}
98+
}
99+
}

0 commit comments

Comments
 (0)