Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:11:35

0001 // @(#)root/base:$Id$
0002 // Author: Fons Rademakers   16/11/95
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2000, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 
0013 #ifndef ROOT_TCanvasImp
0014 #define ROOT_TCanvasImp
0015 
0016 //////////////////////////////////////////////////////////////////////////
0017 //                                                                      //
0018 // TCanvasImp                                                           //
0019 //                                                                      //
0020 // ABC describing GUI independent main window (with menubar, scrollbars //
0021 // and a drawing area).                                                 //
0022 //                                                                      //
0023 //////////////////////////////////////////////////////////////////////////
0024 
0025 #include "Rtypes.h"
0026 
0027 class TCanvas;
0028 class TVirtualPadPainter;
0029 
0030 class TCanvasImp {
0031 friend class TCanvas;
0032 
0033 protected:
0034    TCanvas  *fCanvas{nullptr};   //TCanvas associated with this implementation
0035 
0036    TCanvasImp(const TCanvasImp &ci) : fCanvas(ci.fCanvas) {}
0037    TCanvasImp &operator=(const TCanvasImp &ci)
0038    {
0039       if (this != &ci)
0040          fCanvas = ci.fCanvas;
0041       return *this;
0042    }
0043 
0044    virtual void   Lock() {}
0045    virtual void   Unlock() {}
0046    virtual Bool_t IsLocked() { return kFALSE; }
0047 
0048    virtual Bool_t IsWeb() const { return kFALSE; }
0049    virtual Bool_t PerformUpdate(Bool_t /* async */) { return kFALSE; }
0050    virtual TVirtualPadPainter *CreatePadPainter() { return nullptr; }
0051 
0052 public:
0053    TCanvasImp(TCanvas *c = nullptr) : fCanvas(c) {}
0054    TCanvasImp(TCanvas *c, const char *name, UInt_t width, UInt_t height) : fCanvas(c) { (void) name; (void) width; (void) height; }
0055    TCanvasImp(TCanvas *c, const char *name, Int_t x, Int_t y, UInt_t width, UInt_t height) : fCanvas(c) {(void) name; (void) x; (void) y; (void) width; (void) height;}
0056    virtual ~TCanvasImp() {}
0057 
0058    TCanvas       *Canvas() const { return fCanvas; }
0059    virtual void   Close() {}
0060    virtual void   ForceUpdate() {}
0061    virtual UInt_t GetWindowGeometry(Int_t &x, Int_t &y, UInt_t &w, UInt_t &h)
0062    {
0063       x = y = 0;
0064       w = h = 0;
0065       return 0;
0066    }
0067    virtual void Iconify() {}
0068    virtual Int_t  InitWindow() { return 0; }
0069    virtual void   SetStatusText(const char *text = nullptr, Int_t partidx = 0) { (void) text; (void) partidx; }
0070    virtual void   SetWindowPosition(Int_t x, Int_t y) { (void) x; (void) y; }
0071    virtual void   SetWindowSize(UInt_t width, UInt_t height) { (void) width; (void) height; }
0072    virtual void   SetWindowTitle(const char *newTitle) { (void) newTitle; }
0073    virtual void   SetCanvasSize(UInt_t w, UInt_t h) { (void) w; (void) h; }
0074    virtual void   Show() {}
0075    virtual void   ShowMenuBar(Bool_t show = kTRUE) { (void) show; }
0076    virtual void   ShowStatusBar(Bool_t show = kTRUE) { (void) show; }
0077    virtual void   RaiseWindow() {}
0078    virtual void   ReallyDelete() {}
0079 
0080    virtual void   ShowEditor(Bool_t show = kTRUE) { (void) show; }
0081    virtual void   ShowToolBar(Bool_t show = kTRUE) { (void) show; }
0082    virtual void   ShowToolTips(Bool_t show = kTRUE) { (void) show; }
0083 
0084    virtual Bool_t HasEditor() const { return kFALSE; }
0085    virtual Bool_t HasMenuBar() const { return kFALSE; }
0086    virtual Bool_t HasStatusBar() const { return kFALSE; }
0087    virtual Bool_t HasToolBar() const { return kFALSE; }
0088    virtual Bool_t HasToolTips() const { return kFALSE; }
0089 
0090    ClassDef(TCanvasImp,0)  //ABC describing main window protocol
0091 };
0092 
0093 #endif