DotNet 4.8.1 build of DotNetBar
This commit is contained in:
@@ -0,0 +1,318 @@
|
||||
using System.Drawing;
|
||||
|
||||
namespace DevComponents.Instrumentation
|
||||
{
|
||||
public class Seg7Element : DigitalElement
|
||||
{
|
||||
public Seg7Element(NumericIndicator numIndicator)
|
||||
: base(numIndicator, 7, 6)
|
||||
{
|
||||
}
|
||||
|
||||
#region RecalcSegments
|
||||
|
||||
public override void RecalcSegments()
|
||||
{
|
||||
CalcSegment0();
|
||||
CalcSegment1();
|
||||
CalcSegment2();
|
||||
CalcSegment3();
|
||||
CalcSegment4();
|
||||
CalcSegment5();
|
||||
CalcSegment6();
|
||||
}
|
||||
|
||||
#region CalcSegment0
|
||||
|
||||
private void CalcSegment0()
|
||||
{
|
||||
Point[] pts = SegPoints[0];
|
||||
|
||||
pts[0].X = SegWidth + 1; pts[0].Y = 0;
|
||||
pts[1].X = ElemWidth - SegWidth - 1; pts[1].Y = 0;
|
||||
pts[2].X = ElemWidth - SegWidthHalf - 1; pts[2].Y = SegWidthHalf;
|
||||
pts[3].X = pts[1].X; pts[3].Y = SegWidth;
|
||||
pts[4].X = pts[0].X; pts[4].Y = SegWidth;
|
||||
pts[5].X = SegWidthHalf + 1; pts[5].Y = pts[2].Y;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CalcSegment1
|
||||
|
||||
private void CalcSegment1()
|
||||
{
|
||||
Point[] pts = SegPoints[1];
|
||||
|
||||
pts[0].X = 0; pts[0].Y = SegWidth + 1;
|
||||
pts[1].X = SegWidthHalf; pts[1].Y = SegWidthHalf + 1;
|
||||
pts[2].X = SegWidth; pts[2].Y = SegWidth + 1;
|
||||
pts[3].X = SegWidth; pts[3].Y = ElemHeightHalf - SegWidthHalf - 1;
|
||||
pts[4].X = 4; pts[4].Y = ElemHeightHalf - 1;
|
||||
pts[5].X = 0; pts[5].Y = ElemHeightHalf - 1;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CalcSegment2
|
||||
|
||||
private void CalcSegment2()
|
||||
{
|
||||
Point[] pts = SegPoints[2];
|
||||
|
||||
pts[0].X = ElemWidth - SegWidth; pts[0].Y = SegWidth + 1;
|
||||
pts[1].X = ElemWidth - SegWidthHalf; pts[1].Y = SegWidthHalf + 1;
|
||||
pts[2].X = ElemWidth; pts[2].Y = SegWidth + 1;
|
||||
pts[3].X = ElemWidth; pts[3].Y = ElemHeightHalf - 1;
|
||||
pts[4].X = ElemWidth - 4; pts[4].Y = ElemHeightHalf - 1;
|
||||
pts[5].X = ElemWidth - SegWidth; pts[5].Y = ElemHeightHalf - SegWidthHalf - 1;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CalcSegment3
|
||||
|
||||
private void CalcSegment3()
|
||||
{
|
||||
Point[] pts = SegPoints[3];
|
||||
|
||||
pts[0].X = SegWidth + 1; pts[0].Y = ElemHeightHalf - SegWidthHalf;
|
||||
pts[1].X = ElemWidth - SegWidth - 1; pts[1].Y = ElemHeightHalf - SegWidthHalf;
|
||||
pts[2].X = ElemWidth - 5; pts[2].Y = ElemHeightHalf;
|
||||
pts[3].X = ElemWidth - SegWidth - 1; pts[3].Y = ElemHeightHalf + SegWidthHalf;
|
||||
pts[4].X = SegWidth + 1; pts[4].Y = ElemHeightHalf + SegWidthHalf;
|
||||
pts[5].X = 5; pts[5].Y = ElemHeightHalf;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CalcSegment4
|
||||
|
||||
private void CalcSegment4()
|
||||
{
|
||||
Point[] pts = SegPoints[4];
|
||||
|
||||
pts[0].X = 0; pts[0].Y = ElemHeightHalf + 1;
|
||||
pts[1].X = 4; pts[1].Y = ElemHeightHalf + 1;
|
||||
pts[2].X = SegWidth; pts[2].Y = ElemHeightHalf + SegWidthHalf + 1;
|
||||
pts[3].X = SegWidth; pts[3].Y = ElemHeight - SegWidth - 1;
|
||||
pts[4].X = SegWidthHalf; pts[4].Y = ElemHeight - SegWidthHalf - 1;
|
||||
pts[5].X = 0; pts[5].Y = ElemHeight - SegWidth - 1;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CalcSegment5
|
||||
|
||||
private void CalcSegment5()
|
||||
{
|
||||
Point[] pts = SegPoints[5];
|
||||
|
||||
pts[0].X = ElemWidth - SegWidth; pts[0].Y = ElemHeightHalf + SegWidthHalf + 1;
|
||||
pts[1].X = ElemWidth - 4; pts[1].Y = ElemHeightHalf + 1;
|
||||
pts[2].X = ElemWidth; pts[2].Y = ElemHeightHalf + 1;
|
||||
pts[3].X = ElemWidth; pts[3].Y = ElemHeight - SegWidth - 1;
|
||||
pts[4].X = ElemWidth - SegWidthHalf; pts[4].Y = ElemHeight - SegWidthHalf - 1;
|
||||
pts[5].X = ElemWidth - SegWidth; pts[5].Y = ElemHeight - SegWidth - 1;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#region CalcSegment6
|
||||
|
||||
private void CalcSegment6()
|
||||
{
|
||||
Point[] pts = SegPoints[6];
|
||||
|
||||
pts[0].X = SegWidth + 1; pts[0].Y = ElemHeight - SegWidth;
|
||||
pts[1].X = ElemWidth - SegWidth - 1; pts[1].Y = ElemHeight - SegWidth;
|
||||
pts[2].X = ElemWidth - SegWidthHalf - 1; pts[2].Y = ElemHeight - SegWidthHalf;
|
||||
pts[3].X = ElemWidth - SegWidth - 1; pts[3].Y = ElemHeight;
|
||||
pts[4].X = SegWidth + 1; pts[4].Y = ElemHeight;
|
||||
pts[5].X = SegWidthHalf + 1; pts[5].Y = ElemHeight - SegWidthHalf;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
|
||||
#region GetCharSegments
|
||||
|
||||
public override int GetDigitSegments(char value)
|
||||
{
|
||||
switch (value)
|
||||
{
|
||||
case '0': return ((int)Seg7Segments.Zero);
|
||||
case '1': return ((int)Seg7Segments.One);
|
||||
case '2': return ((int)Seg7Segments.Two);
|
||||
case '3': return ((int)Seg7Segments.Three);
|
||||
case '4': return ((int)Seg7Segments.Four);
|
||||
case '5': return ((int)Seg7Segments.Five);
|
||||
case '6': return ((int)Seg7Segments.Six);
|
||||
case '7': return ((int)Seg7Segments.Seven);
|
||||
case '8': return ((int)Seg7Segments.Eight);
|
||||
case '9': return ((int)Seg7Segments.Nine);
|
||||
|
||||
case 'a': return ((int)Seg7Segments.a);
|
||||
case 'b': return ((int)Seg7Segments.b);
|
||||
case 'c': return ((int)Seg7Segments.c);
|
||||
case 'd': return ((int)Seg7Segments.d);
|
||||
case 'e': return ((int)Seg7Segments.e);
|
||||
case 'f': return ((int)Seg7Segments.f);
|
||||
case 'g': return ((int)Seg7Segments.g);
|
||||
case 'h': return ((int)Seg7Segments.h);
|
||||
case 'i': return ((int)Seg7Segments.i);
|
||||
case 'j': return ((int)Seg7Segments.j);
|
||||
case 'k': return ((int)Seg7Segments.k);
|
||||
case 'l': return ((int)Seg7Segments.l);
|
||||
case 'm': return ((int)Seg7Segments.m);
|
||||
case 'n': return ((int)Seg7Segments.n);
|
||||
case 'o': return ((int)Seg7Segments.o);
|
||||
case 'p': return ((int)Seg7Segments.p);
|
||||
case 'q': return ((int)Seg7Segments.q);
|
||||
case 'r': return ((int)Seg7Segments.r);
|
||||
case 's': return ((int)Seg7Segments.s);
|
||||
case 't': return ((int)Seg7Segments.t);
|
||||
case 'u': return ((int)Seg7Segments.u);
|
||||
case 'v': return ((int)Seg7Segments.v);
|
||||
case 'w': return ((int)Seg7Segments.w);
|
||||
case 'x': return ((int)Seg7Segments.x);
|
||||
case 'y': return ((int)Seg7Segments.y);
|
||||
case 'z': return ((int)Seg7Segments.z);
|
||||
|
||||
case 'A': return ((int)Seg7Segments.A);
|
||||
case 'B': return ((int)Seg7Segments.B);
|
||||
case 'C': return ((int)Seg7Segments.C);
|
||||
case 'D': return ((int)Seg7Segments.D);
|
||||
case 'E': return ((int)Seg7Segments.E);
|
||||
case 'F': return ((int)Seg7Segments.F);
|
||||
case 'G': return ((int)Seg7Segments.G);
|
||||
case 'H': return ((int)Seg7Segments.H);
|
||||
case 'I': return ((int)Seg7Segments.I);
|
||||
case 'J': return ((int)Seg7Segments.J);
|
||||
case 'K': return ((int)Seg7Segments.K);
|
||||
case 'L': return ((int)Seg7Segments.L);
|
||||
case 'M': return ((int)Seg7Segments.M);
|
||||
case 'N': return ((int)Seg7Segments.N);
|
||||
case 'O': return ((int)Seg7Segments.O);
|
||||
case 'P': return ((int)Seg7Segments.P);
|
||||
case 'Q': return ((int)Seg7Segments.Q);
|
||||
case 'R': return ((int)Seg7Segments.R);
|
||||
case 'S': return ((int)Seg7Segments.S);
|
||||
case 'T': return ((int)Seg7Segments.T);
|
||||
case 'U': return ((int)Seg7Segments.U);
|
||||
case 'V': return ((int)Seg7Segments.V);
|
||||
case 'W': return ((int)Seg7Segments.W);
|
||||
case 'X': return ((int)Seg7Segments.X);
|
||||
case 'Y': return ((int)Seg7Segments.Y);
|
||||
case 'Z': return ((int)Seg7Segments.Z);
|
||||
|
||||
case ' ': return ((int)Seg7Segments.Space);
|
||||
case '-': return ((int)Seg7Segments.Dash);
|
||||
case '=': return ((int)Seg7Segments.Equals);
|
||||
case '(': return ((int)Seg7Segments.LParen);
|
||||
case '}': return ((int)Seg7Segments.RParen);
|
||||
case '[': return ((int)Seg7Segments.LBracket);
|
||||
case ']': return ((int)Seg7Segments.RBracket);
|
||||
case '_': return ((int)Seg7Segments.Underline);
|
||||
|
||||
// Add callout code to get pattern
|
||||
|
||||
default: return ((int)Seg7Segments.None);
|
||||
}
|
||||
}
|
||||
|
||||
#endregion
|
||||
}
|
||||
|
||||
#region Enums
|
||||
|
||||
#region Seg7Segments
|
||||
|
||||
// ReSharper disable InconsistentNaming
|
||||
|
||||
public enum Seg7Segments : int
|
||||
{
|
||||
None = 0x0,
|
||||
|
||||
Zero = 0x77,
|
||||
One = 0x24,
|
||||
Two = 0x5D,
|
||||
Three = 0x6D,
|
||||
Four = 0x2E,
|
||||
Five = 0x6B,
|
||||
Six = 0x7B,
|
||||
Seven = 0x25,
|
||||
Eight = 0x7F,
|
||||
Nine = 0x6F,
|
||||
|
||||
a = 0x7D,
|
||||
b = 0x7A,
|
||||
c = 0x58,
|
||||
d = 0x7C,
|
||||
e = 0x5F,
|
||||
f = 0x1B,
|
||||
g = 0x6F,
|
||||
h = 0x3A,
|
||||
i = 0x51,
|
||||
j = 0x61,
|
||||
k = 0x3E,
|
||||
l = 0x50,
|
||||
m = 0x31,
|
||||
n = 0x38,
|
||||
o = 0x78,
|
||||
p = 0x1F,
|
||||
q = 0x2F,
|
||||
r = 0x18,
|
||||
s = 0x6B,
|
||||
t = 0x5A,
|
||||
u = 0x70,
|
||||
v = 0x70,
|
||||
w = 0x46,
|
||||
x = 0x3E,
|
||||
y = 0x6E,
|
||||
z = 0x5D,
|
||||
|
||||
A = 0x3F,
|
||||
B = 0x7F,
|
||||
C = 0x53,
|
||||
D = 0x77,
|
||||
E = 0x5B,
|
||||
F = 0x1B,
|
||||
G = 0x73,
|
||||
H = 0x3E,
|
||||
I = 0x24,
|
||||
J = 0x74,
|
||||
K = 0x3E,
|
||||
L = 0x52,
|
||||
M = 0x31,
|
||||
N = 0x38,
|
||||
O = 0x77,
|
||||
P = 0x1F,
|
||||
Q = 0x2F,
|
||||
R = 0x13,
|
||||
S = 0x6B,
|
||||
T = 0x13,
|
||||
U = 0x76,
|
||||
V = 0x76,
|
||||
W = 0x46,
|
||||
X = 0x3E,
|
||||
Y = 0x6E,
|
||||
Z = 0x5D,
|
||||
|
||||
Space = 0x00,
|
||||
Dash = 0x08,
|
||||
Equals = 0x48,
|
||||
LParen = 0x63,
|
||||
RParen = 0x65,
|
||||
LBracket = 0x63,
|
||||
RBracket = 0x65,
|
||||
Underline = 0x40,
|
||||
}
|
||||
|
||||
// ReSharper restore InconsistentNaming
|
||||
|
||||
#endregion
|
||||
|
||||
#endregion
|
||||
}
|
Reference in New Issue
Block a user