public static GraphicsPath GetSymbol14(char symbol, PointF point, float size, bool decDot, bool comma, bool sepDots, SegmentsCache cache) { LEDSegment14 lEDSegment = LEDSegment14.Empty; if (char.IsDigit(symbol)) { lEDSegment = (LEDSegment14)Enum.Parse(typeof(LEDSegment14), "N" + symbol); } else { switch (symbol) { case ' ': lEDSegment = LEDSegment14.Empty; break; case '-': lEDSegment = LEDSegment14.SG; break; case '+': lEDSegment = LEDSegment14.Plus; break; case '$': lEDSegment = LEDSegment14.CDollar; break; default: try { lEDSegment = (LEDSegment14)Enum.Parse(typeof(LEDSegment14), "C" + symbol); } catch { lEDSegment = LEDSegment14.Unknown; } break; } } if (decDot) { lEDSegment |= LEDSegment14.SDP; } if (comma) { lEDSegment |= LEDSegment14.SComma; } return(DigitalSegment.GetOrientedSegments(lEDSegment, point, size, cache)); }
public static GraphicsPath GetOrientedSegments(LEDSegment14 segments, PointF point, float size, SegmentsCache cache) { GraphicsPath graphicsPath = cache.GetSegment((Enum)(object)segments, point, size); if (graphicsPath == null) { graphicsPath = DigitalSegment.GetSegments(segments, point, size); using (Matrix matrix = new Matrix()) { matrix.Shear(-0.0618034f, 0f); graphicsPath.Transform(matrix); matrix.Reset(); matrix.Translate(point.X, point.Y); graphicsPath.Transform(matrix); matrix.Reset(); } cache.SetSegment((Enum)(object)segments, graphicsPath, point, size); } return(graphicsPath); }
private static GraphicsPath GetSegment7(LEDSegment7 segment, PointF p, float size) { GraphicsPath graphicsPath = new GraphicsPath(); SizeF sizeF = new SizeF((float)(size * 0.6180340051651001), size); float num = (float)(sizeF.Width * 0.1428571492433548); SizeF s = new SizeF(sizeF.Width - num, num); SizeF s2 = new SizeF((float)(sizeF.Height / 2.0 - num / 2.0), num); s.Width -= (float)(num / 3.0); s2.Width -= (float)(num / 3.0); if ((long)segment <= 16L) { if ((long)segment <= 4L) { if ((long)segment < 1L) { goto IL_04d0; } switch (segment - 1) { case LEDSegment7.Empty: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s)); graphicsPath.CloseAllFigures(); using (Matrix matrix3 = new Matrix()) { matrix3.Translate(0f, (float)((0.0 - sizeF.Height) / 2.0 + num / 2.0)); graphicsPath.Transform(matrix3); return(graphicsPath); } case LEDSegment7.SA | LEDSegment7.SB: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s2)); graphicsPath.CloseAllFigures(); using (Matrix matrix2 = new Matrix()) { matrix2.RotateAt(90f, p); graphicsPath.Transform(matrix2); matrix2.Reset(); matrix2.Translate((float)(sizeF.Width / 2.0 - num / 2.0), (float)(sizeF.Height / 4.0 - num / 4.0)); graphicsPath.Transform(matrix2); return(graphicsPath); } case LEDSegment7.SA: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s2)); graphicsPath.CloseAllFigures(); using (Matrix matrix = new Matrix()) { matrix.RotateAt(90f, p); graphicsPath.Transform(matrix); matrix.Reset(); matrix.Translate((float)(sizeF.Width / 2.0 - num / 2.0), (float)((0.0 - sizeF.Height) / 4.0 + num / 4.0)); graphicsPath.Transform(matrix); return(graphicsPath); } case LEDSegment7.SB: goto IL_04d0; } } switch (segment) { case LEDSegment7.SD: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s)); graphicsPath.CloseAllFigures(); using (Matrix matrix5 = new Matrix()) { matrix5.RotateAt(180f, p); graphicsPath.Transform(matrix5); matrix5.Reset(); matrix5.Translate(0f, (float)(sizeF.Height / 2.0 - num / 2.0)); graphicsPath.Transform(matrix5); return(graphicsPath); } case LEDSegment7.SE: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s2)); graphicsPath.CloseAllFigures(); using (Matrix matrix4 = new Matrix()) { matrix4.RotateAt(90f, p); graphicsPath.Transform(matrix4); matrix4.Reset(); matrix4.Translate((float)((0.0 - sizeF.Width) / 2.0 + num / 2.0), (float)(sizeF.Height / 4.0 - num / 4.0)); graphicsPath.Transform(matrix4); return(graphicsPath); } } } else { switch (segment) { case LEDSegment7.SG: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s)); graphicsPath.CloseAllFigures(); break; case LEDSegment7.SF: graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s2)); graphicsPath.CloseAllFigures(); using (Matrix matrix8 = new Matrix()) { matrix8.RotateAt(90f, p); graphicsPath.Transform(matrix8); matrix8.Reset(); matrix8.Translate((float)((0.0 - sizeF.Width) / 2.0 + num / 2.0), (float)((0.0 - sizeF.Height) / 4.0 + num / 4.0)); graphicsPath.Transform(matrix8); return(graphicsPath); } case LEDSegment7.SDP: graphicsPath.AddEllipse(p.X, p.Y, (float)(num * 2.0), (float)(num * 2.0)); using (Matrix matrix7 = new Matrix()) { matrix7.Translate((float)(sizeF.Width / 2.0 + num / 2.0), (float)(sizeF.Height / 2.0 - num * 2.0)); graphicsPath.Transform(matrix7); return(graphicsPath); } case LEDSegment7.SComma: graphicsPath.AddRectangle(new RectangleF(p.X, p.Y, (float)(num * 2.0), (float)(num * 4.0))); using (Matrix matrix6 = new Matrix()) { matrix6.Translate((float)(sizeF.Width / 2.0 + num / 2.0), (float)(sizeF.Height / 2.0 - num * 2.0)); graphicsPath.Transform(matrix6); return(graphicsPath); } } } goto IL_04d0; IL_04d0: return(graphicsPath); }
public static GraphicsPath GetSegments(LEDSegment14 segments, PointF point, float size) { GraphicsPath graphicsPath = new GraphicsPath(); PointF p = new PointF(0f, 0f); if ((segments & LEDSegment14.SA) == LEDSegment14.SA) { using (GraphicsPath graphicsPath2 = DigitalSegment.GetSegment7(LEDSegment7.SA, p, size)) { if (graphicsPath2.PointCount > 0) { graphicsPath.AddPath(graphicsPath2, false); } } } if ((segments & LEDSegment14.SB) == LEDSegment14.SB) { using (GraphicsPath graphicsPath3 = DigitalSegment.GetSegment7(LEDSegment7.SB, p, size)) { if (graphicsPath3.PointCount > 0) { graphicsPath.AddPath(graphicsPath3, false); } } } if ((segments & LEDSegment14.SC) == LEDSegment14.SC) { using (GraphicsPath graphicsPath4 = DigitalSegment.GetSegment7(LEDSegment7.SC, p, size)) { if (graphicsPath4.PointCount > 0) { graphicsPath.AddPath(graphicsPath4, false); } } } if ((segments & LEDSegment14.SD) == LEDSegment14.SD) { using (GraphicsPath graphicsPath5 = DigitalSegment.GetSegment7(LEDSegment7.SD, p, size)) { if (graphicsPath5.PointCount > 0) { graphicsPath.AddPath(graphicsPath5, false); } } } if ((segments & LEDSegment14.SE) == LEDSegment14.SE) { using (GraphicsPath graphicsPath6 = DigitalSegment.GetSegment7(LEDSegment7.SE, p, size)) { if (graphicsPath6.PointCount > 0) { graphicsPath.AddPath(graphicsPath6, false); } } } if ((segments & LEDSegment14.SF) == LEDSegment14.SF) { using (GraphicsPath graphicsPath7 = DigitalSegment.GetSegment7(LEDSegment7.SF, p, size)) { if (graphicsPath7.PointCount > 0) { graphicsPath.AddPath(graphicsPath7, false); } } } if ((segments & LEDSegment14.SDP) == LEDSegment14.SDP) { using (GraphicsPath graphicsPath8 = DigitalSegment.GetSegment7(LEDSegment7.SDP, p, size)) { if (graphicsPath8.PointCount > 0) { graphicsPath.AddPath(graphicsPath8, false); } } } if ((segments & LEDSegment14.SComma) == LEDSegment14.SComma) { using (GraphicsPath graphicsPath9 = DigitalSegment.GetSegment7(LEDSegment7.SComma, p, size)) { if (graphicsPath9.PointCount > 0) { graphicsPath.AddPath(graphicsPath9, false); } } } if ((segments & LEDSegment14.SG1) == LEDSegment14.SG1) { using (GraphicsPath graphicsPath10 = DigitalSegment.GetSegment14(LEDSegment14.SG1, p, size)) { if (graphicsPath10.PointCount > 0) { graphicsPath.AddPath(graphicsPath10, false); } } } if ((segments & LEDSegment14.SG2) == LEDSegment14.SG2) { using (GraphicsPath graphicsPath11 = DigitalSegment.GetSegment14(LEDSegment14.SG2, p, size)) { if (graphicsPath11.PointCount > 0) { graphicsPath.AddPath(graphicsPath11, false); } } } if ((segments & LEDSegment14.SJ) == LEDSegment14.SJ) { using (GraphicsPath graphicsPath12 = DigitalSegment.GetSegment14(LEDSegment14.SJ, p, size)) { if (graphicsPath12.PointCount > 0) { graphicsPath.AddPath(graphicsPath12, false); } } } if ((segments & LEDSegment14.SM) == LEDSegment14.SM) { using (GraphicsPath graphicsPath13 = DigitalSegment.GetSegment14(LEDSegment14.SM, p, size)) { if (graphicsPath13.PointCount > 0) { graphicsPath.AddPath(graphicsPath13, false); } } } if ((segments & LEDSegment14.SH) == LEDSegment14.SH) { using (GraphicsPath graphicsPath14 = DigitalSegment.GetSegment14(LEDSegment14.SH, p, size)) { if (graphicsPath14.PointCount > 0) { graphicsPath.AddPath(graphicsPath14, false); } } } if ((segments & LEDSegment14.SK) == LEDSegment14.SK) { using (GraphicsPath graphicsPath15 = DigitalSegment.GetSegment14(LEDSegment14.SK, p, size)) { if (graphicsPath15.PointCount > 0) { graphicsPath.AddPath(graphicsPath15, false); } } } if ((segments & LEDSegment14.SL) == LEDSegment14.SL) { using (GraphicsPath graphicsPath16 = DigitalSegment.GetSegment14(LEDSegment14.SL, p, size)) { if (graphicsPath16.PointCount > 0) { graphicsPath.AddPath(graphicsPath16, false); } } } if ((segments & LEDSegment14.SN) == LEDSegment14.SN) { using (GraphicsPath graphicsPath17 = DigitalSegment.GetSegment14(LEDSegment14.SN, p, size)) { if (graphicsPath17.PointCount > 0) { graphicsPath.AddPath(graphicsPath17, false); return(graphicsPath); } return(graphicsPath); } } return(graphicsPath); }
public static GraphicsPath GetSegments(LEDSegment7 segments, PointF point, float size) { GraphicsPath graphicsPath = new GraphicsPath(); PointF p = new PointF(0f, 0f); if ((segments & LEDSegment7.SA) == LEDSegment7.SA) { using (GraphicsPath graphicsPath2 = DigitalSegment.GetSegment7(LEDSegment7.SA, p, size)) { if (graphicsPath2.PointCount > 0) { graphicsPath.AddPath(graphicsPath2, false); } } } if ((segments & LEDSegment7.SB) == LEDSegment7.SB) { using (GraphicsPath graphicsPath3 = DigitalSegment.GetSegment7(LEDSegment7.SB, p, size)) { if (graphicsPath3.PointCount > 0) { graphicsPath.AddPath(graphicsPath3, false); } } } if ((segments & LEDSegment7.SC) == LEDSegment7.SC) { using (GraphicsPath graphicsPath4 = DigitalSegment.GetSegment7(LEDSegment7.SC, p, size)) { if (graphicsPath4.PointCount > 0) { graphicsPath.AddPath(graphicsPath4, false); } } } if ((segments & LEDSegment7.SD) == LEDSegment7.SD) { using (GraphicsPath graphicsPath5 = DigitalSegment.GetSegment7(LEDSegment7.SD, p, size)) { if (graphicsPath5.PointCount > 0) { graphicsPath.AddPath(graphicsPath5, false); } } } if ((segments & LEDSegment7.SE) == LEDSegment7.SE) { using (GraphicsPath graphicsPath6 = DigitalSegment.GetSegment7(LEDSegment7.SE, p, size)) { if (graphicsPath6.PointCount > 0) { graphicsPath.AddPath(graphicsPath6, false); } } } if ((segments & LEDSegment7.SF) == LEDSegment7.SF) { using (GraphicsPath graphicsPath7 = DigitalSegment.GetSegment7(LEDSegment7.SF, p, size)) { if (graphicsPath7.PointCount > 0) { graphicsPath.AddPath(graphicsPath7, false); } } } if ((segments & LEDSegment7.SG) == LEDSegment7.SG) { using (GraphicsPath graphicsPath8 = DigitalSegment.GetSegment7(LEDSegment7.SG, p, size)) { if (graphicsPath8.PointCount > 0) { graphicsPath.AddPath(graphicsPath8, false); } } } if ((segments & LEDSegment7.SDP) == LEDSegment7.SDP) { using (GraphicsPath graphicsPath9 = DigitalSegment.GetSegment7(LEDSegment7.SDP, p, size)) { if (graphicsPath9.PointCount > 0) { graphicsPath.AddPath(graphicsPath9, false); } } } if ((segments & LEDSegment7.SComma) == LEDSegment7.SComma) { using (GraphicsPath graphicsPath10 = DigitalSegment.GetSegment7(LEDSegment7.SComma, p, size)) { if (graphicsPath10.PointCount > 0) { graphicsPath.AddPath(graphicsPath10, false); return(graphicsPath); } return(graphicsPath); } } return(graphicsPath); }
private static GraphicsPath GetSegment14(LEDSegment14 segment, PointF p, float size) { GraphicsPath graphicsPath = new GraphicsPath(); SizeF sizeF = new SizeF((float)(size * 0.6180340051651001), size); float num = (float)(sizeF.Width * 0.1428571492433548); SizeF s = new SizeF(sizeF.Width - num, num); SizeF s2 = new SizeF((float)(sizeF.Height / 2.0 - num / 2.0), num); s.Width -= (float)(num / 3.0); s2.Width -= (float)(num / 3.0); switch (segment) { case LEDSegment14.SG1: s.Width = (float)(s.Width / 2.0 - num / 6.0); graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s)); graphicsPath.CloseAllFigures(); using (Matrix matrix8 = new Matrix()) { matrix8.Translate((float)((0.0 - s.Width) / 2.0 - num / 6.0), 0f); graphicsPath.Transform(matrix8); return(graphicsPath); } case LEDSegment14.SG2: s.Width = (float)(s.Width / 2.0 - num / 6.0); graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s)); graphicsPath.CloseAllFigures(); using (Matrix matrix7 = new Matrix()) { matrix7.Translate((float)(s.Width / 2.0 + num / 6.0), 0f); graphicsPath.Transform(matrix7); return(graphicsPath); } case LEDSegment14.SJ: s2.Width -= (float)(num / 3.0); graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s2)); graphicsPath.CloseAllFigures(); using (Matrix matrix6 = new Matrix()) { matrix6.RotateAt(90f, p); graphicsPath.Transform(matrix6); matrix6.Reset(); matrix6.Translate(0f, (float)((0.0 - s2.Width) / 2.0 - num / 6.0)); graphicsPath.Transform(matrix6); return(graphicsPath); } case LEDSegment14.SM: s2.Width -= (float)(num / 3.0); graphicsPath.AddPolygon(DigitalSegment.GetSegment7(p, s2)); graphicsPath.CloseAllFigures(); using (Matrix matrix5 = new Matrix()) { matrix5.RotateAt(90f, p); graphicsPath.Transform(matrix5); matrix5.Reset(); matrix5.Translate(0f, (float)(s2.Width / 2.0 + num / 6.0)); graphicsPath.Transform(matrix5); return(graphicsPath); } case LEDSegment14.SH: graphicsPath.AddPolygon(DigitalSegment.GetSegmentHKLN(p, s, num, true)); using (Matrix matrix4 = new Matrix()) { matrix4.Translate((float)((0.0 - (s.Width / 2.0 + num / 6.0)) / 2.0), (float)((0.0 - s2.Width) / 2.0 - num / 6.0)); graphicsPath.Transform(matrix4); return(graphicsPath); } case LEDSegment14.SL: graphicsPath.AddPolygon(DigitalSegment.GetSegmentHKLN(p, s, num, true)); using (Matrix matrix3 = new Matrix()) { matrix3.Translate((float)((s.Width / 2.0 + num / 6.0) / 2.0), (float)(s2.Width / 2.0 - num / 6.0)); graphicsPath.Transform(matrix3); return(graphicsPath); } case LEDSegment14.SK: graphicsPath.AddPolygon(DigitalSegment.GetSegmentHKLN(p, s, num, false)); using (Matrix matrix2 = new Matrix()) { matrix2.Translate((float)((s.Width / 2.0 + num / 6.0) / 2.0), (float)((0.0 - s2.Width) / 2.0 - num / 6.0)); graphicsPath.Transform(matrix2); return(graphicsPath); } case LEDSegment14.SN: graphicsPath.AddPolygon(DigitalSegment.GetSegmentHKLN(p, s, num, false)); using (Matrix matrix = new Matrix()) { matrix.Translate((float)((0.0 - (s.Width / 2.0 + num / 6.0)) / 2.0), (float)(s2.Width / 2.0 - num / 6.0)); graphicsPath.Transform(matrix); return(graphicsPath); } default: return(graphicsPath); } }