internal Collection(ZeroitAsanaCompass cc) { Debug.Assert(cc != null); this.cc = cc; list = new List <T>(); }
/// <summary> /// Mains the functionality. /// </summary> private void MainFunctionality() { cc.MarkerSets.Clear(); cc.Rings.Clear(); for (int i = 0; i < ListedRings.Count; i++) { switch (ListedRings[i].Type) { case Compass.CompassRing.ListedRings.RingType.Default: cc.Rings.Add(ListedRings[i].Distance, ListedRings[i].Color1, ListedRings[i].Color2, ListedRings[i].BorderSize); break; case Compass.CompassRing.ListedRings.RingType.Gradient: cc.Rings.Add(ListedRings[i].Distance, ListedRings[i].GradientMode, ListedRings[i].Color1, ListedRings[i].Color2, ListedRings[i].BorderColor, ListedRings[i].BorderSize); break; case Compass.CompassRing.ListedRings.RingType.HatchStyle: cc.Rings.Add(ListedRings[i].Distance, ListedRings[i].HatchStyle, ListedRings[i].Color1, ListedRings[i].Color2, ListedRings[i].BorderColor, ListedRings[i].BorderSize); break; } } #region Line Tick marker = new ZeroitAsanaCompass.Marker( ZeroitAsanaCompass.MakeArgb(0.8f, LineMarker.InsideColor), LineMarker.BorderColor, // border color LineMarker.BorderThickness, // border thickness LineMarker.LinePoly.ToArray(), LineMarker.OffsetAngle, // angle offset LineMarker.DragButton, LineMarker.Visible); markset = new ZeroitAsanaCompass.MarkerSet(90f); markset.Add(marker); cc.MarkerSets.Add(markset); //markset.Add(marker); #endregion cc.FixedBackground = false; }
/// <summary> /// Initializes a new instance of the <see cref="Marker"/> class. /// </summary> /// <param name="borderColor">Color of the border.</param> /// <param name="borderSize">Size of the border.</param> /// <param name="points">The points.</param> /// <param name="offsetAngle">The offset angle.</param> /// <param name="dragButtons">The drag buttons.</param> /// <param name="visible">if set to <c>true</c> [visible].</param> internal Marker(Color borderColor, float borderSize, PointF[] points, float offsetAngle, MouseButtons dragButtons, bool visible) { CheckPoints(points); this.borderColor = borderColor; this.borderSize = borderSize; this.points = new PointF[points.Length]; points.CopyTo(this.points, 0); this.offsetAngle = ZeroitAsanaCompass.AdjustOffsetAngle(offsetAngle); this.dragButtons = dragButtons; this.visible = visible; this.gradientMode = LinearGradientMode.Vertical; this.hatchStyle = HatchStyle.Cross; this.color1 = Color.Black; this.color2 = Color.White; this.point1 = Point.Empty; this.point2 = Point.Empty; this.ms = null; this.path = null; this.brush = null; }
/// <summary> /// Clocks the parameters. /// </summary> private void ClockParameters() { cc.MarkerSets.Clear(); // Hour ticks cc.MajorTicks = 12; cc.MajorTickStart = 0.30f; cc.MajorTickSize = 0.50f; cc.MajorTickThickness = 2.0f; cc.MajorTickColor = hourTicksColor; // Minute ticks cc.MinorTicksPerMajorTick = 4; cc.MinorTickStart = 0.30f; cc.MinorTickSize = 0.40f; cc.MinorTickThickness = 1.0f; cc.MinorTickColor = minuteTicksColor; // Hour hand ArrayList hourPoly = new ArrayList(); hourPoly.Add(new PointF(-0.0250f, 0.0000f)); hourPoly.Add(new PointF(-0.0250f, 0.0125f)); hourPoly.Add(new PointF(-0.0125f, 0.0250f)); hourPoly.Add(new PointF(0.0125f, 0.0250f)); hourPoly.Add(new PointF(0.0250f, 0.0125f)); hourPoly.Add(new PointF(0.0500f, 0.0125f)); hourPoly.Add(new PointF(0.0500f, 0.0250f)); hourPoly.Add(new PointF(0.0750f, 0.0500f)); hourPoly.Add(new PointF(0.1500f, 0.0500f)); hourPoly.Add(new PointF(0.5000f, 0.0000f)); hourPoly.Add(new PointF(0.1500f, -0.0500f)); hourPoly.Add(new PointF(0.0750f, -0.0500f)); hourPoly.Add(new PointF(0.0500f, -0.0250f)); hourPoly.Add(new PointF(0.0500f, -0.0125f)); hourPoly.Add(new PointF(0.0250f, -0.0125f)); hourPoly.Add(new PointF(0.0125f, -0.0250f)); hourPoly.Add(new PointF(-0.0125f, -0.0250f)); hourPoly.Add(new PointF(-0.0250f, -0.0125f)); hourPoly.Add(new PointF(-0.0250f, 0.0000f)); hour = new ZeroitAsanaCompass.MarkerSet(); hour.Add(ZeroitAsanaCompass.MakeArgb(0.8f, hourHandColor), Color.Black, 1.0f, (PointF[])hourPoly.ToArray(typeof(PointF))); cc.MarkerSets.Add(hour); // Minute hand ArrayList minutePoly = new ArrayList(); minutePoly.Add(new PointF(-0.0250f, 0.0000f)); minutePoly.Add(new PointF(-0.0250f, 0.0125f)); minutePoly.Add(new PointF(-0.0125f, 0.0250f)); minutePoly.Add(new PointF(0.0125f, 0.0250f)); minutePoly.Add(new PointF(0.0250f, 0.0125f)); minutePoly.Add(new PointF(0.0500f, 0.0125f)); minutePoly.Add(new PointF(0.0500f, 0.0250f)); minutePoly.Add(new PointF(0.0750f, 0.0500f)); minutePoly.Add(new PointF(0.1500f, 0.0500f)); minutePoly.Add(new PointF(0.7000f, 0.0000f)); minutePoly.Add(new PointF(0.1500f, -0.0500f)); minutePoly.Add(new PointF(0.0750f, -0.0500f)); minutePoly.Add(new PointF(0.0500f, -0.0250f)); minutePoly.Add(new PointF(0.0500f, -0.0125f)); minutePoly.Add(new PointF(0.0250f, -0.0125f)); minutePoly.Add(new PointF(0.0125f, -0.0250f)); minutePoly.Add(new PointF(-0.0125f, -0.0250f)); minutePoly.Add(new PointF(-0.0250f, -0.0125f)); minutePoly.Add(new PointF(-0.0250f, 0.0000f)); minute = new ZeroitAsanaCompass.MarkerSet(); minute.Add(ZeroitAsanaCompass.MakeArgb(0.8f, minuteHandColor), Color.Black, 1.0f, (PointF[])minutePoly.ToArray(typeof(PointF))); cc.MarkerSets.Add(minute); // Second hand ArrayList secondPoly = new ArrayList(); secondPoly.Add(new PointF(-0.0250f, 0.0000f)); secondPoly.Add(new PointF(-0.0250f, 0.0125f)); secondPoly.Add(new PointF(-0.0125f, 0.0250f)); secondPoly.Add(new PointF(0.0125f, 0.0250f)); secondPoly.Add(new PointF(0.0250f, 0.0125f)); secondPoly.Add(new PointF(0.1500f, 0.0125f)); secondPoly.Add(new PointF(0.6000f, 0.0000f)); secondPoly.Add(new PointF(0.1500f, -0.0125f)); secondPoly.Add(new PointF(0.0250f, -0.0125f)); secondPoly.Add(new PointF(0.0125f, -0.0250f)); secondPoly.Add(new PointF(-0.0125f, -0.0250f)); secondPoly.Add(new PointF(-0.0250f, -0.0125f)); secondPoly.Add(new PointF(-0.0250f, 0.0000f)); second = new ZeroitAsanaCompass.MarkerSet(); second.Add(ZeroitAsanaCompass.MakeArgb(0.8f, secondHandColor), Color.Black, 1.0f, (PointF[])secondPoly.ToArray(typeof(PointF)), 0.0f, MouseButtons.None, true); cc.MarkerSets.Add(second); // Hour text - roman numerals Font hourFont = new Font("Times New Roman", 10.0f, FontStyle.Bold); Brush hourBrush = new SolidBrush(hourTextColor); float size = 0.18f; float pos = 0.90f; cc.TextItems.Add(hourFont, hourBrush, size, "12", pos, 90.0f, 0.0f); cc.TextItems.Add(hourFont, hourBrush, size, "1", pos, 60.0f, -30.0f); cc.TextItems.Add(hourFont, hourBrush, size, "2", pos, 30.0f, -60.0f); cc.TextItems.Add(hourFont, hourBrush, size, "3", pos, 0.0f, -90.0f); cc.TextItems.Add(hourFont, hourBrush, size, "4", pos, -30.0f, -120.0f); cc.TextItems.Add(hourFont, hourBrush, size, "5", pos, -60.0f, -150.0f); cc.TextItems.Add(hourFont, hourBrush, size, "6", pos, -90.0f, -180.0f); cc.TextItems.Add(hourFont, hourBrush, size, "7", pos, -120.0f, -210.0f); cc.TextItems.Add(hourFont, hourBrush, size, "8", pos, -150.0f, -240.0f); cc.TextItems.Add(hourFont, hourBrush, size, "9", pos, -180.0f, -270.0f); cc.TextItems.Add(hourFont, hourBrush, size, "10", pos, -210.0f, -300.0f); cc.TextItems.Add(hourFont, hourBrush, size, "11", pos, -240.0f, -330.0f); }
internal TextItemCollection(ZeroitAsanaCompass cc) : base(cc) { }
/// <summary> /// Initializes a new instance of the <see cref="AsanaColorDialog"/> class. /// </summary> public AsanaColorDialog() { InitializeComponent(); // Major ticks are counts on the lock cc.MajorTicks = 64; cc.MajorTickStart = 0.08f; cc.MajorTickSize = 0.80f; cc.MajorTickThickness = 0.6f; cc.MinorTicksPerMajorTick = 0; // no minor ticks // Text at end of ticks cc.TextItems.Clear(); float pos = 0.92f; Font f = new Font("Arial", 7.0f); for (int i = 0; i < cc.MajorTicks; i++) { int val = i * (256 / cc.MajorTicks); cc.TextItems.Add(f, Color.Black, val.ToString(), pos, cc.GetMajorTickAngle(i)); } // Rings line up with the locks cc.Rings.Clear(); innerRing = new ZeroitAsanaCompass.Ring(0.08f, Color.White); cc.Rings.Add(innerRing); cc.Rings.Add(0.26f, Color.Gainsboro); cc.Rings.Add(0.26f, Color.LightGray); cc.Rings.Add(0.26f, Color.Gainsboro); cc.Rings.Add(0.12f, Color.LightGray); outerRing = new ZeroitAsanaCompass.Ring(9.99f, Color.White); cc.Rings.Add(outerRing); // Inner lock cc.MarkerSets.Clear(); ArrayList redBigPoints = new ArrayList(); redBigPoints.Add(new PointF(0.10f, 0.00f)); redBigPoints.Add(new PointF(0.32f, 0.10f)); redBigPoints.Add(new PointF(0.32f, -0.10f)); redBigPoints.Add(new PointF(0.10f, 0.00f)); PointF[] redBigPoly = (PointF[])redBigPoints.ToArray(typeof(PointF)); Color redBigColor = ZeroitAsanaCompass.MakeArgb(0.8f, Color.Red); ArrayList redSmallPoints = new ArrayList(); redSmallPoints.Add(new PointF(0.12f, 0.00f)); redSmallPoints.Add(new PointF(0.30f, 0.05f)); redSmallPoints.Add(new PointF(0.30f, -0.05f)); redSmallPoints.Add(new PointF(0.12f, 0.00f)); PointF[] redSmallPoly = (PointF[])redSmallPoints.ToArray(typeof(PointF)); Color redSmallColor = ZeroitAsanaCompass.MakeArgb(0.6f, Color.Red); red = new ZeroitAsanaCompass.MarkerSet(); red.Add(redBigColor, Color.Black, 3.0f, redBigPoly, 0.0f, MouseButtons.Left); red.Add(redSmallColor, Color.Black, 1.0f, redSmallPoly, 45.0f, MouseButtons.None); red.Add(redBigColor, Color.Black, 1.5f, redBigPoly, 90.0f, MouseButtons.Left); red.Add(redSmallColor, Color.Black, 1.0f, redSmallPoly, 135.0f, MouseButtons.None); red.Add(redBigColor, Color.Black, 1.5f, redBigPoly, 180.0f, MouseButtons.Left); red.Add(redSmallColor, Color.Black, 1.0f, redSmallPoly, 225.0f, MouseButtons.None); red.Add(redBigColor, Color.Black, 1.5f, redBigPoly, 270.0f, MouseButtons.Left); red.Add(redSmallColor, Color.Black, 1.0f, redSmallPoly, 315.0f, MouseButtons.None); cc.MarkerSets.Add(red); // Middle lock ArrayList greenBigPoints = new ArrayList(); greenBigPoints.Add(new PointF(0.36f, 0.00f)); greenBigPoints.Add(new PointF(0.58f, 0.10f)); greenBigPoints.Add(new PointF(0.58f, -0.10f)); greenBigPoints.Add(new PointF(0.36f, 0.00f)); PointF[] greenBigPoly = (PointF[])greenBigPoints.ToArray(typeof(PointF)); Color greenBigColor = ZeroitAsanaCompass.MakeArgb(0.8f, Color.Green); ArrayList greenSmallPoints = new ArrayList(); greenSmallPoints.Add(new PointF(0.38f, 0.00f)); greenSmallPoints.Add(new PointF(0.56f, 0.05f)); greenSmallPoints.Add(new PointF(0.56f, -0.05f)); greenSmallPoints.Add(new PointF(0.38f, 0.00f)); PointF[] greenSmallPoly = (PointF[])greenSmallPoints.ToArray(typeof(PointF)); Color greenSmallColor = ZeroitAsanaCompass.MakeArgb(0.6f, Color.Green); green = new ZeroitAsanaCompass.MarkerSet(); green.Add(greenBigColor, Color.Black, 3.0f, greenBigPoly, 0.0f, MouseButtons.Left); green.Add(greenSmallColor, Color.Black, 1.0f, greenSmallPoly, 30.0f, MouseButtons.None); green.Add(greenBigColor, Color.Black, 1.5f, greenBigPoly, 60.0f, MouseButtons.Left); green.Add(greenSmallColor, Color.Black, 1.0f, greenSmallPoly, 90.0f, MouseButtons.None); green.Add(greenBigColor, Color.Black, 1.5f, greenBigPoly, 120.0f, MouseButtons.Left); green.Add(greenSmallColor, Color.Black, 1.0f, greenSmallPoly, 150.0f, MouseButtons.None); green.Add(greenBigColor, Color.Black, 1.5f, greenBigPoly, 180.0f, MouseButtons.Left); green.Add(greenSmallColor, Color.Black, 1.0f, greenSmallPoly, 210.0f, MouseButtons.None); green.Add(greenBigColor, Color.Black, 1.5f, greenBigPoly, 240.0f, MouseButtons.Left); green.Add(greenSmallColor, Color.Black, 1.0f, greenSmallPoly, 270.0f, MouseButtons.None); green.Add(greenBigColor, Color.Black, 1.5f, greenBigPoly, 300.0f, MouseButtons.Left); green.Add(greenSmallColor, Color.Black, 1.0f, greenSmallPoly, 330.0f, MouseButtons.None); cc.MarkerSets.Add(green); // Middle lock ArrayList blueBigPoints = new ArrayList(); blueBigPoints.Add(new PointF(0.62f, 0.00f)); blueBigPoints.Add(new PointF(0.84f, 0.10f)); blueBigPoints.Add(new PointF(0.84f, -0.10f)); blueBigPoints.Add(new PointF(0.62f, 0.00f)); PointF[] blueBigPoly = (PointF[])blueBigPoints.ToArray(typeof(PointF)); Color blueBigColor = ZeroitAsanaCompass.MakeArgb(0.8f, Color.Blue); ArrayList blueSmallPoints = new ArrayList(); blueSmallPoints.Add(new PointF(0.64f, 0.00f)); blueSmallPoints.Add(new PointF(0.82f, 0.05f)); blueSmallPoints.Add(new PointF(0.82f, -0.05f)); blueSmallPoints.Add(new PointF(0.64f, 0.00f)); PointF[] blueSmallPoly = (PointF[])blueSmallPoints.ToArray(typeof(PointF)); Color blueSmallColor = ZeroitAsanaCompass.MakeArgb(0.6f, Color.Blue); blue = new ZeroitAsanaCompass.MarkerSet(); blue.Add(blueBigColor, Color.Black, 3.0f, blueBigPoly, 0.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 22.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 45.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 67.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 90.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 112.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 135.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 157.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 180.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 202.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 225.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 247.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 270.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 292.5f, MouseButtons.None); blue.Add(blueBigColor, Color.Black, 1.5f, blueBigPoly, 315.0f, MouseButtons.Left); blue.Add(blueSmallColor, Color.Black, 1.0f, blueSmallPoly, 337.5f, MouseButtons.None); cc.MarkerSets.Add(blue); UpdateColor(); }
internal RingCollection(ZeroitAsanaCompass cc) : base(cc) { }