00001
00002
00003
00004
00005
00006
00007
00009
00010 #ifndef DRAWOBJECT_H_
00011 #define DRAWOBJECT_H_
00012
00013 #include <wx/observable.h>
00014
00015 #define wxNoBrush *wxTheBrushList->FindOrCreateBrush(*wxBLACK, wxTRANSPARENT)
00016 #define wxNoPen *wxThePenList->FindOrCreatePen(*wxBLACK, 1, wxTRANSPARENT)
00017
00018 class WXDLLIMPEXP_FREECHART DrawObject;
00019
00023 class WXDLLIMPEXP_FREECHART DrawObserver
00024 {
00025 public:
00026 DrawObserver()
00027 {
00028 }
00029
00030 virtual ~DrawObserver()
00031 {
00032 }
00033
00034 virtual void NeedRedraw(DrawObject *obj) = 0;
00035 };
00036
00041 class WXDLLIMPEXP_FREECHART DrawObject : public Observable<DrawObserver>
00042 {
00043 public:
00044 DrawObject()
00045 {
00046 }
00047
00048 virtual ~DrawObject()
00049 {
00050 }
00051
00052 protected:
00053 FIRE_WITH_THIS(NeedRedraw);
00054 };
00055
00056 #endif