#ifndef XCELLBACKGROUND_INCLUDED
#define XCELLBACKGROUND_INCLUDED

///////////////////////////////////////////////
//											 //
// All files in this framework are Copyright //
// of Aleksandras Gluchovas 				 //
// 											 //
// e-mail: alex@soften.ktu.lt                //
//											 //
///////////////////////////////////////////////
	  
#include "XObject.h"

class XCellBackground : public XObject
{
protected:
	wxBrush mBkBrush;
	wxPen   mDarkPen;
	wxPen   mLightPen;
	PosT    mSize;
	bool    mShowMinor;
	bool    mShowRulers;

	void DrawHashes( wxDC& canvas, XPoint& from, XRect& bounds );

public:

	// NOTE:: cell size should be an integer

	XCellBackground( const wxColour& bkColor        = wxColour(   0,  0,  0 ),
		             const wxColour& majorLineColor = wxColour(   0,  0,  0 ),
					 const wxColour& minorLineColor = wxColour( 160,160,160 ),
					 PosT   cellSize       = 25,
					 bool   showMinorLines = 1,
					 bool   showRulers     = 1
				   );

	virtual void Draw( wxDC& canvas );

	XRect GetBounds();
};

#endif