00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef SYMBOL_H_
00011 #define SYMBOL_H_
00012
00013 #include <wx/wxfreechartdefs.h>
00014
00018 class WXDLLIMPEXP_FREECHART Symbol
00019 {
00020 public:
00021 Symbol();
00022 virtual ~Symbol();
00023
00031 virtual void Draw(wxDC &dc, wxCoord x, wxCoord y, wxColour color) = 0;
00032
00037 virtual wxSize GetExtent() = 0;
00038 };
00039
00044 class WXDLLIMPEXP_FREECHART MaskedSymbol : public Symbol
00045 {
00046 public:
00047 MaskedSymbol(const char **maskData, wxCoord size = 9);
00048
00049 virtual ~MaskedSymbol();
00050
00051 virtual void Draw(wxDC &dc, wxCoord x, wxCoord y, wxColour color);
00052
00053 virtual wxSize GetExtent();
00054
00055 private:
00056 wxBitmap m_maskBmp;
00057 wxBitmap m_symbolBitmap;
00058
00059 bool m_initialized;
00060
00061 wxCoord m_size;
00062 };
00063
00067 class WXDLLIMPEXP_FREECHART ShapeSymbol : public Symbol
00068 {
00069 public:
00070 ShapeSymbol(wxCoord size);
00071 virtual ~ShapeSymbol();
00072
00073 virtual wxSize GetExtent();
00074
00075 protected:
00076 wxColour m_color;
00077 wxCoord m_size;
00078 };
00079
00080
00081
00082
00083
00087 class WXDLLIMPEXP_FREECHART CircleSymbol : public ShapeSymbol
00088 {
00089 public:
00090 CircleSymbol(wxCoord size = 9);
00091 virtual ~CircleSymbol();
00092
00093 virtual void Draw(wxDC &dc, wxCoord x, wxCoord y, wxColour color);
00094 };
00095
00099 class WXDLLIMPEXP_FREECHART SquareSymbol : public ShapeSymbol
00100 {
00101 public:
00102 SquareSymbol(wxCoord size = 9);
00103 virtual ~SquareSymbol();
00104
00105 virtual void Draw(wxDC &dc, wxCoord x, wxCoord y, wxColour color);
00106 };
00107
00111 class WXDLLIMPEXP_FREECHART CrossSymbol : public ShapeSymbol
00112 {
00113 public:
00114 CrossSymbol(wxCoord size = 9);
00115 virtual ~CrossSymbol();
00116
00117 virtual void Draw(wxDC &dc, wxCoord x, wxCoord y, wxColour color);
00118 };
00119
00123 class WXDLLIMPEXP_FREECHART TriangleSymbol : public ShapeSymbol
00124 {
00125 public:
00126 TriangleSymbol(wxCoord size = 9);
00127 virtual ~TriangleSymbol();
00128
00129 virtual void Draw(wxDC &dc, wxCoord x, wxCoord y, wxColour color);
00130 };
00131
00132 #endif