public override void Render(WidgetRenderArgs args) { GH_Canvas canvas = args.Canvas; if (args.Channel == WidgetChannel.Overlay) { if (expanded) { _window.Render(args); } } else if (args.Channel == WidgetChannel.Object) { Graphics graphics = canvas.Graphics; float zoom = canvas.Viewport.Zoom; int num = 255; if (zoom < 1f) { float num2 = (zoom - 0.5f) * 2f; num = (int)((float)num * num2); } if (num < 0) { num = 0; } num = GH_Canvas.ZoomFadeLow; SolidBrush brush = new SolidBrush(Color.FromArgb(num, 90, 90, 90)); SolidBrush brush2 = new SolidBrush(Color.FromArgb(num, 150, 150, 150)); SolidBrush brush3 = new SolidBrush(Color.FromArgb(num, 0, 0, 0)); SolidBrush brush4 = new SolidBrush(Color.FromArgb(num, 255, 255, 255)); Pen pen = new Pen(brush3); StringFormat stringFormat = new StringFormat(); stringFormat.Alignment = StringAlignment.Center; if (Empty) { PointF point = new PointF(base.CanvasPivot.X + base.Width / 2f, base.CanvasBounds.Y + 2f); graphics.DrawRectangle(pen, GH_Attr_Widget.Convert(base.CanvasBounds)); graphics.FillRectangle(brush2, base.CanvasBounds); graphics.DrawString(_emptyText, WidgetServer.Instance.DropdownFont, brush, point, stringFormat); } else { PointF point2 = new PointF(base.CanvasPivot.X + (base.Width - 10f) / 2f, base.CanvasBounds.Y + 2f); graphics.DrawRectangle(pen, GH_Attr_Widget.Convert(base.CanvasBounds)); graphics.FillRectangle(brush4, base.CanvasBounds); graphics.DrawString(_items[current_value].content, WidgetServer.Instance.DropdownFont, brush3, point2, stringFormat); Rectangle rect = new Rectangle((int)(base.CanvasPivot.X + base.Width - 10f), (int)base.CanvasPivot.Y, 10, (int)base.Height); graphics.FillRectangle(brush4, rect); graphics.DrawRectangle(pen, rect); } } }
public override void Layout() { _content = GH_Attr_Widget.Convert(base.CanvasBounds); _drag = new Rectangle((int)transformation.X, (int)transformation.Y + (int)_currentHight, (int)base.Width, (int)((double)base.Height * _ratio)); }