public static void ScrollButtonHorisontalBar(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { var drawRect = Params["Rect", rect.Rect].As <Rectangle>(); if (drawRect.Width < 16) { return; } var center = new Point(drawRect.Left + drawRect.Width / 2, drawRect.Top + drawRect.Height / 2); int sz = (drawRect.Width < 36) ? (drawRect.Width - 16) / 2 : 10; var arrowUpPoints = new Point[] { new Point(center.X - sz, center.Y + 2), new Point(center.X - sz - 2, center.Y), new Point(center.X - sz, center.Y - 3), new Point(center.X + sz, center.Y - 2), new Point(center.X + sz + 2, center.Y), new Point(center.X + sz, center.Y + 2) }; graf.FillPolygon(new LinearGradientBrush(arrowUpPoints[2], arrowUpPoints[0], Params["Color", SystemColors.Control].AsColor().DarkColor(20), Params["Color", SystemColors.Control].AsColor().BrightColor(20)), arrowUpPoints); }
public static void ButtonBorder(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { var drawRect = rect.Rect; RectSides darkSides, brightSides; if (Params["Down"].AsBoolean()) { brightSides = new RectSides() { right = true, bottom = true }; darkSides = new RectSides() { left = true, top = true }; } else { darkSides = new RectSides() { right = true, bottom = true }; brightSides = new RectSides() { left = true, top = true }; } DrawRectMethods.DrawRectangle(drawRect, graf, Params["Color"].AsColor().DarkColor(20), rect.BorderSize, Params["CornerRadius"].AsInteger(), darkSides); DrawRectMethods.DrawRectangle(drawRect, graf, Params["Color"].AsColor().BrightColor(20), rect.BorderSize, Params["CornerRadius"].AsInteger(), brightSides); DrawRectMethods.DrawRectangle(drawRect, graf, Params["Color"].AsColor().DarkColor(40), 1, Params["CornerRadius"].AsInteger(), darkSides); DrawRectMethods.DrawRectangle(drawRect, graf, Params["Color"].AsColor().DarkColor(10), 1, Params["CornerRadius"].AsInteger(), brightSides); }
public static void Rect(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { DrawRectMethods.DrawRectangle(Params["Rect", rect.Rect].As <Rectangle>(), graf, Params["Color"].AsColor(), Params["Width", rect.BorderSize].AsInteger(), Params["CornerRadius"].AsInteger(), Params["Sides", () => { return(new RectSides() { Full = true }); }].As <RectSides>()); }
public static void Text(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { var text = Params["Text"].AsString(); if (text == "") { return; } var drawRect = Params["Rect", rect.Rect].As <Rectangle>(); var font = Params["Font", () => { return(new Font("Arial", 8)); }].As <Font>(); var alignment = Params["Alignment", StringAlignment.Near].As <StringAlignment>(); var vertAlignment = Params["VertAlignment", StringAlignment.Center].As <StringAlignment>(); var sz = graf.MeasureString(text, font); var dx = (int)(drawRect.Width - sz.Width); var dy = (int)(drawRect.Height - sz.Height); var offset = Params["Offset", () => { return(new Point(0, 0)); }].As <Point>(); var pt = new Point(0, 0); switch (alignment) { case StringAlignment.Near: pt.X = 0; break; case StringAlignment.Far: pt.X = dx; break; case StringAlignment.Center: pt.X = dx / 2; break; } switch (vertAlignment) { case StringAlignment.Near: pt.Y = 0; break; case StringAlignment.Far: pt.Y = dy; break; case StringAlignment.Center: pt.Y = dy / 2; break; } pt.Offset(offset); graf.DrawString(text, font, new SolidBrush(Params["Color"].AsColor()), drawRect.X + pt.X, rect.Rect.Y + pt.Y); }
public static void Body(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { if (Params["Gradient"].AsBoolean()) { BasePainters.FillGradient(Params, rect, graf); } else { BasePainters.FillRect(Params, rect, graf); } }
public static void ScrollArrowLeft(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { var drawRect = Params["Rect", rect.Rect].As <Rectangle>(); var center = new Point(drawRect.Left + drawRect.Width / 2, drawRect.Top + drawRect.Height / 2); var arrowUpPoints = new Point[] { new Point(center.X - 4, center.Y), new Point(center.X + 1, center.Y - 5), new Point(center.X + 1, center.Y + 5) }; graf.FillPolygon(new LinearGradientBrush(new Point(center.X - 5, center.Y - 1), arrowUpPoints[2], Params["Color", SystemColors.Control].AsColor().DarkColor(60), Params["Color", SystemColors.Control].AsColor().BrightColor(10)), arrowUpPoints); }
public static void FillGradient(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { DrawRectMethods.FillRectGradient(Params["Rect", rect.Rect].As <Rectangle>(), graf, Params["Color"].AsColor(), Params["Color2"].AsColor(), Params["Direction", SimpleDirection.Vertical].As <SimpleDirection>(), Params["CornerRadius"].AsInteger()); }
public static void FillRect(IControlPropertiesValue Params, DrawRect rect, Graphics graf) { DrawRectMethods.FillRect(Params["Rect", rect.Rect].As <Rectangle>(), graf, Params["Color"].AsColor(), Params["CornerRadius"].AsInteger()); }