using System;
using System.Drawing;
namespace DevComponents.Tree.Display
{
	/// 
	/// Provides information for cell rendering methods and events.
	/// 
	public class NodeCellRendererEventArgs:NodeRendererEventArgs
	{
		/// 
		/// Gets or sets the cell being rendered.
		/// 
		public Cell Cell=null;
		
		/// 
		/// Gets or sets absolute cell bounds.
		/// 
		public Rectangle CellBounds=Rectangle.Empty;
        /// 
        /// Gets or sets absolute bounds for cell text.
        /// 
        public Rectangle CellTextBounds = Rectangle.Empty;
		
		/// 
		/// Gets or sets the internal cell offset.
		/// 
		internal Point CellOffset=Point.Empty;
		
		/// 
		/// Creates new instance of the class.
		/// 
		public NodeCellRendererEventArgs():base(null,null,Rectangle.Empty,null)
		{
		}
		
		/// 
		/// Creates new instance of the class and initializes it with default values.
		/// 
		/// Reference to graphics object.
		/// Reference to context node.
		/// Reference to node bounds
		/// Reference to cell style
		/// Reference to cell
		/// Reference to cell bounds
		public NodeCellRendererEventArgs(Graphics g, Node node, Rectangle bounds, ElementStyle style, Cell cell, Rectangle cellBounds):base(g,node,bounds,style)
		{
			this.Cell = cell;
			this.CellBounds = cellBounds;
		}
	}
}