ZForge.Controls.TreeViewAdv.Tree.NodeControls.NodePlusMinus.Draw C# (CSharp) Method

Draw() public method

public Draw ( TreeNodeAdv node, DrawContext context ) : void
node TreeNodeAdv
context DrawContext
return void
        public override void Draw(TreeNodeAdv node, DrawContext context)
        {
            if (node.CanExpand)
            {
                Rectangle r = context.Bounds;
                int dy = (int)Math.Round((float)(r.Height - ImageSize) / 2);
                if (Application.RenderWithVisualStyles)
                {
                    VisualStyleRenderer renderer;
                    if (node.IsExpanded)
                        renderer = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Opened);
                    else
                        renderer = new VisualStyleRenderer(VisualStyleElement.TreeView.Glyph.Closed);
                    renderer.DrawBackground(context.Graphics, new Rectangle(r.X, r.Y + dy, ImageSize, ImageSize));
                }
                else
                {
                    Image img;
                    if (node.IsExpanded)
                        img = _minus;
                    else
                        img = _plus;
                    context.Graphics.DrawImageUnscaled(img, new Point(r.X, r.Y + dy));
                }
            }
        }