00001
00002
00003
00004
00005
00006
00007
00008 #ifndef EVDB_CANVAS_H
00009 #define EVDB_CANVAS_H
00010 #include <cassert>
00011 #include "TQObject.h"
00012 #include "RQ_OBJECT.h"
00013 #ifndef EVDB_PRINTABLE_H
00014 #include "EventDisplayBase/Printable.h"
00015 #endif
00016 class TGMainFrame;
00017 class TGCompositeFrame;
00018 class TGLayoutHints;
00019 class TRootEmbeddedCanvas;
00020 class TCanvas;
00021
00022 namespace evdb {
00023 class Canvas : public Printable {
00024 RQ_OBJECT("evdb::Canvas")
00025
00026 public:
00027 Canvas(TGMainFrame* mf);
00028 virtual ~Canvas();
00029
00030 virtual void Draw(const char* opt=0) = 0;
00031
00032
00033 virtual const char* PrintTag() const {return "sub-class needs print tag"; }
00034 virtual const char* Description() const {return "sub-class needs description"; }
00035 virtual void Print(const char* f);
00036
00037 void Connect();
00038
00039 protected:
00040 TGCompositeFrame* fFrame;
00041 TGLayoutHints* fLayout;
00042 TRootEmbeddedCanvas* fEmbCanvas;
00043 TCanvas* fCanvas;
00044
00045 unsigned short fXsize;
00046 unsigned short fYsize;
00047 float fAspectRatio;
00048 };
00049 }
00050
00051 #endif // EVDB_CANVAS_H
00052