Beispiel #1
0
        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);
                }
            }
        }
Beispiel #2
0
 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));
 }