using System;
using System.Drawing;
using DevComponents.DotNetBar;
namespace DevComponents.AdvTree.Display
{
	/// 
	/// Summary description for NodeRendererEventArgs.
	/// 
	public class NodeRendererEventArgs:EventArgs
	{
		/// 
		/// Gets or sets reference to Graphics object, canvas node is rendered on.
		/// 
		public System.Drawing.Graphics Graphics=null;
		/// 
		/// Gets or sets the reference to Node object being rendered.
		/// 
		public DevComponents.AdvTree.Node Node=null;
		/// 
		/// Gets or sets the absolute node bounds.
		/// 
		public Rectangle NodeBounds=Rectangle.Empty;
		/// 
		/// Gets or sets the reference to element style for rendered node or cell. Style provided here is the style
		/// for current node or cell state.
		/// 
		public ElementStyle Style=null;
        /// 
        /// Gets or sets color that is passed to renderer. May be Color.Empty.
        /// 
        public Color Color = Color.Empty;
		
		/// 
		/// Creates new instance of the class.
		/// 
		public NodeRendererEventArgs()
		{
		}
		
		public NodeRendererEventArgs(Graphics g, Node node, Rectangle bounds, ElementStyle style)
            : this(g, node, bounds, style, Color.Empty)
		{
		}
        public NodeRendererEventArgs(Graphics g, Node node, Rectangle bounds, ElementStyle style, Color color)
        {
            this.Graphics = g;
            this.Node = node;
            this.NodeBounds = bounds;
            this.Style = style;
            this.Color = color;
        }
	}
}