//-----------------------------------------------------------------------------
#ifndef histogramCanvasH
#define histogramCanvasH histogramCanvasH
//-----------------------------------------------------------------------------
#include "DrawingCanvas.h"

//-----------------------------------------------------------------------------
class HistogramCanvas : public PlotCanvas
//-----------------------------------------------------------------------------
{
	int**			m_ppHistogramBuffer;
	int				m_CurrentMax;
	int				m_XMarkerStepWidth;
	void			InitLUTs( void );
	void			DeallocateHistogramBuffer( void );
	void			DrawHistogramLine( wxPaintDC& dc, int h, double scaleX, double scaleY, TPlane plane );
	DECLARE_DYNAMIC_CLASS(HistogramCanvas)
    DECLARE_EVENT_TABLE()
public:
    HistogramCanvas() {}
    HistogramCanvas( wxWindow* parent, wxWindowID id = -1, const wxPoint& pos = wxDefaultPosition,
				     const wxSize& size = wxDefaultSize, long style = wxSUNKEN_BORDER,
				     const wxString& name = wxT("histogram"), bool boActive = false );
	~HistogramCanvas();
    void			OnPaint( wxPaintEvent & );
	virtual void	RefreshData( const mvIMPACT::acquire::ImageBuffer* pIB, int x = -1, int y = -1, int w = -1, int h = -1, bool boForceRefresh = false );
};

#endif // histogramCanvasH
