00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef XYHISTORENDERER_H_
00011 #define XYHISTORENDERER_H_
00012
00013 #include <wx/xy/xyrenderer.h>
00014 #include <wx/areadraw.h>
00015
00019 class WXDLLIMPEXP_FREECHART XYHistoRenderer : public XYRenderer, public DrawObserver
00020 {
00021 DECLARE_CLASS(XYHistoRenderer)
00022 public:
00028 XYHistoRenderer(int barWidth = 10, bool vertical = true);
00029 virtual ~XYHistoRenderer();
00030
00031 virtual void Draw(wxDC &dc, wxRect rc, Axis *horizAxis, Axis *vertAxis, XYDataset *dataset);
00032
00039 void SetBarArea(size_t serie, AreaDraw *barArea);
00040
00046 AreaDraw *GetBarArea(size_t serie);
00047
00048
00049
00050
00051 virtual void NeedRedraw(DrawObject *obj);
00052
00053 private:
00054 void DrawBar(int serie, wxDC &dc, wxRect rcData, wxCoord x, wxCoord y);
00055
00056 int m_barWidth;
00057 bool m_vertical;
00058
00059 wxCoord m_serieShift;
00060
00061 AreaDrawCollection m_barAreas;
00062 };
00063
00064 #endif