#ifndef ROOT_TGCanvas
#define ROOT_TGCanvas
#ifndef ROOT_TGFrame
#include "TGFrame.h"
#endif
class TGHScrollBar;
class TGVScrollBar;
class TGClient;
class TGViewPort;
class TGCanvas;
class TGFrameElement;
class TGContainerTimer;
class TGContainerKeyboardTimer;
class TGContainerScrollTimer;
class TGListView;
class TGPicture;
class TGContainer : public TGCompositeFrame {
friend class TGViewPort;
friend class TGCanvas;
friend class TGContainerKeyboardTimer;
friend class TGContainerScrollTimer;
friend class TGListView;
protected:
   TGViewPort        *fViewPort;      
   TGCanvas          *fCanvas;        
   const TGWindow    *fMsgWindow;     
   TGFrameElement    *fLastActiveEl;  
   Int_t              fXp, fYp;       
   Int_t              fX0, fY0;       
   Int_t              fXf, fYf;       
   Bool_t             fDragging;      
   Int_t              fTotal;         
   Int_t              fSelected;      
   TTimer            *fScrollTimer;   
   Bool_t             fOnMouseOver;   
   Bool_t             fLastDir;       
   Bool_t             fLastCase;      
   TString            fLastName;      
   TTimer            *fKeyTimer;      
   TString            fKeyInput;      
   Bool_t             fKeyTimerActive;
   Bool_t             fScrolling;     
   Int_t              fXDND, fYDND;
   Bool_t             fBdown;
   static TGGC       *fgLineGC;
   static const TGGC &GetLineGC();
   virtual void DoRedraw();
   virtual void ClearViewPort();
   virtual void ActivateItem(TGFrameElement* el);
   virtual void DeActivateItem(TGFrameElement* el);
   virtual void SearchPattern();
   virtual void OnAutoScroll();
   virtual void RepeatSearch();
   
private:
   TGContainer(const TGContainer&);               
   TGContainer& operator=(const TGContainer&);    
public:
   TGContainer(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
               UInt_t options = kSunkenFrame,
               Pixel_t back = GetDefaultFrameBackground());
   TGContainer(TGCanvas *p,UInt_t options = kSunkenFrame,
               Pixel_t back = GetDefaultFrameBackground());
   virtual ~TGContainer();
   virtual void DrawRegion(Int_t x, Int_t y, UInt_t w, UInt_t h);
   virtual void Associate(const TGWindow *w) { fMsgWindow = w; }
   virtual void AdjustPosition();
   virtual void SetPagePosition(const TGPosition& pos);
   virtual void SetPagePosition(Int_t x, Int_t y);
   virtual void SetPageDimension(const TGDimension& dim);
   virtual void SetPageDimension(UInt_t w, UInt_t h);
   virtual void RemoveAll();
   virtual void RemoveItem(TGFrame *item);
   virtual void Layout();
   const TGWindow   *GetMessageWindow() const { return fMsgWindow; }
   TGPosition        GetPagePosition() const;
   TGDimension       GetPageDimension() const;
   TGCanvas         *GetCanvas() const { return fCanvas; }
   virtual Int_t  NumSelected() const { return fSelected; }
   virtual Int_t  NumItems() const { return fTotal; }
   virtual TGFrameElement *FindFrame(Int_t x,Int_t y,Bool_t exclude=kTRUE);
   virtual TGFrame        *FindFrameByName(const char *name);
   virtual TGHScrollBar *GetHScrollbar() const;
   virtual TGVScrollBar *GetVScrollbar() const;
   virtual void SetHsbPosition(Int_t newPos);
   virtual void SetVsbPosition(Int_t newPos);
   virtual void LineUp(Bool_t select = kFALSE);
   virtual void LineDown(Bool_t select = kFALSE);
   virtual void LineLeft(Bool_t select = kFALSE);
   virtual void LineRight(Bool_t select = kFALSE);
   virtual void PageUp(Bool_t select = kFALSE);
   virtual void PageDown(Bool_t select = kFALSE);
   virtual void Home(Bool_t select = kFALSE);
   virtual void End(Bool_t select = kFALSE);
   virtual void Search(Bool_t close = kTRUE);
   virtual void *FindItem(const TString& name,
                          Bool_t direction = kTRUE,
                          Bool_t caseSensitive = kTRUE,
                          Bool_t beginWith = kFALSE);
   virtual const TGFrame *GetNextSelected(void **current);
   virtual TGFrame *GetLastActive() const { return fLastActiveEl ? fLastActiveEl->fFrame : 0; }
   virtual void SavePrimitive(ostream &out, Option_t *option = "");
   virtual Bool_t HandleDNDfinished() { fBdown = kFALSE; return kTRUE; }
   virtual Bool_t HandleExpose(Event_t *event);
   virtual Bool_t HandleButton(Event_t *event);
   virtual Bool_t HandleDoubleClick(Event_t *event);
   virtual Bool_t HandleMotion(Event_t *event);
   virtual Bool_t HandleKey(Event_t *event);
   const TGPicture *GetObjPicture(TGFrame *f);
   virtual void SetDragPixmap(const TGPicture *pic);
   virtual void SelectAll();                    
   virtual void UnSelectAll();                  
   virtual void InvertSelection();              
   virtual void ReturnPressed(TGFrame*);        
   virtual void SpacePressed(TGFrame*);         
   virtual void KeyPressed(TGFrame*, UInt_t keysym, UInt_t mask); 
   virtual void OnMouseOver(TGFrame*);          
   virtual void CurrentChanged(Int_t x,Int_t y);
   virtual void CurrentChanged(TGFrame* f);     
   virtual void Clicked(TGFrame *f, Int_t btn); 
   virtual void DoubleClicked(TGFrame *f, Int_t btn);  
   virtual void DoubleClicked(TGFrame *f, Int_t btn, Int_t x, Int_t y); 
   virtual void Clicked(TGFrame *f, Int_t btn, Int_t x, Int_t y);       
   ClassDef(TGContainer,0)  
};
class TGViewPort : public TGCompositeFrame {
protected:
   Int_t       fX0, fY0;     
   TGFrame    *fContainer;   
private:
   TGViewPort(const TGViewPort&);             
   TGViewPort& operator=(const TGViewPort&);  
public:
   TGViewPort(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
              UInt_t options = kChildFrame,
              Pixel_t back = GetDefaultFrameBackground());
   TGFrame *GetContainer() const { return fContainer; }
   void SetContainer(TGFrame *f);
   virtual void DrawBorder() { };
   virtual void Layout() { }
   virtual TGDimension GetDefaultSize() const { return TGDimension(fWidth, fHeight); }
   virtual void SetHPos(Int_t xpos);
   virtual void SetVPos(Int_t ypos);
   void SetPos(Int_t xpos, Int_t ypos);
   Int_t GetHPos() const { return fX0; }
   Int_t GetVPos() const { return fY0; }
   virtual Bool_t HandleConfigureNotify(Event_t *event);
   ClassDef(TGViewPort,0)  
};
class TGCanvas : public TGFrame {
protected:
   TGViewPort      *fVport;        
   TGHScrollBar    *fHScrollbar;   
   TGVScrollBar    *fVScrollbar;   
   Int_t            fScrolling;    
private:
   TGCanvas(const TGCanvas&);              
   TGCanvas& operator=(const TGCanvas&);   
public:
   enum { kCanvasNoScroll         = 0,
          kCanvasScrollHorizontal = BIT(0),
          kCanvasScrollVertical   = BIT(1),
          kCanvasScrollBoth       = (kCanvasScrollHorizontal | kCanvasScrollVertical)
   };
   TGCanvas(const TGWindow *p = 0, UInt_t w = 1, UInt_t h = 1,
            UInt_t options = kSunkenFrame | kDoubleBorder,
            Pixel_t back = GetDefaultFrameBackground());
   virtual ~TGCanvas();
   TGFrame      *GetContainer() const { return fVport->GetContainer(); }
   TGViewPort   *GetViewPort() const { return fVport; }
   TGHScrollBar *GetHScrollbar() const { return fHScrollbar; }
   TGVScrollBar *GetVScrollbar() const { return fVScrollbar; }
   virtual void  AddFrame(TGFrame *f, TGLayoutHints *l = 0);
   virtual void  SetContainer(TGFrame *f) { fVport->SetContainer(f); }
   virtual void  MapSubwindows();
   virtual void  DrawBorder();
   virtual void  Layout();
   virtual Int_t GetHsbPosition() const;
   virtual Int_t GetVsbPosition() const;
   virtual void  SetHsbPosition(Int_t newPos);
   virtual void  SetVsbPosition(Int_t newPos);
   void          SetScrolling(Int_t scrolling);
   Int_t         GetScrolling() const { return fScrolling; }
   virtual TGDimension GetDefaultSize() const { return TGDimension(fWidth, fHeight); }
   virtual Bool_t ProcessMessage(Long_t msg, Long_t parm1, Long_t parm2);
   virtual void SavePrimitive(ostream &out, Option_t *option = "");
   ClassDef(TGCanvas,0)  
};
#endif
This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.