ROOT logo
ROOT » GRAF2D » GPAD » TCanvas

class TCanvas: public TPad


The Canvas class

A Canvas is an area mapped to a window directly under the control of the display manager. A ROOT session may have several canvases open at any given time.

A Canvas may be subdivided into independent graphical areas: the Pads. A canvas has a default pad which has the name of the canvas itself. An example of a Canvas layout is sketched in the picture below.

     ***********************************************************************
     *                       Menus bar for Canvas                          *
     ***********************************************************************
     *                                                                     *
     *  ************************************    *************************  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *              Pad 1               *    *        Pad 2          *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  *                                  *    *                       *  *
     *  ************************************    *************************  *
     *                                                                     *
     ***********************************************************************
This canvas contains two pads named P1 and P2. Both Canvas, P1 and P2 can be moved, grown, shrinked using the normal rules of the Display manager.

The image below shows a canvas with 4 pads:

Once objects have been drawn in a canvas, they can be edited/moved by pointing directly to them. The cursor shape is changed to suggest the type of action that one can do on this object. Clicking with the right mouse button on an object pops-up a contextmenu with a complete list of actions possible on this object.

A graphical editor may be started from the canvas "View" menu under the menu entry "Toolbar".

An interactive HELP is available by clicking on the HELP button at the top right of the canvas. It gives a short explanation about the canvas' menus.

A canvas may be automatically divided into pads via TPad::Divide.

At creation time, the canvas size defines the size of the canvas window (including the window manager's decoration). To define precisely the graphics area size of a canvas, the following four lines of code should be used:

   {
      Double_t w = 600;
      Double_t h = 600;
      TCanvas * c1 = new TCanvas("c", "c", w, h);
      c->SetWindowSize(w + (w - c->GetWw()), h + (h - c->GetWh()));
   }
 

Function Members (Methods)

public:
TCanvas(Bool_t build = kTRUE)
TCanvas(const char* name, const char* title = "", Int_t form = 1)
TCanvas(const char* name, const char* title, Int_t ww, Int_t wh)
TCanvas(const char* name, Int_t ww, Int_t wh, Int_t winid)
TCanvas(const char* name, const char* title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh)
virtual~TCanvas()
virtual voidTPad::AbsCoordinates(Bool_t set)
virtual Double_tTPad::AbsPixeltoX(Int_t px)
virtual voidTPad::AbsPixeltoXY(Int_t xpixel, Int_t ypixel, Double_t& x, Double_t& y)
virtual Double_tTPad::AbsPixeltoY(Int_t py)
voidTObject::AbstractMethod(const char* method) const
virtual voidTPad::AddExec(const char* name, const char* command)
virtual voidTObject::AppendPad(Option_t* option = "")
static Bool_tTQObject::AreAllSignalsBlocked()
Bool_tTQObject::AreSignalsBlocked() const
virtual voidTPad::AutoExec()
static Bool_tTQObject::BlockAllSignals(Bool_t b)
Bool_tTQObject::BlockSignals(Bool_t b)
virtual voidBrowse(TBrowser* b)
virtual TLegend*TPad::BuildLegend(Double_t x1 = 0.5, Double_t y1 = 0.67, Double_t x2 = 0.88, Double_t y2 = 0.88, const char* title = "")MENU
virtual TVirtualPad*cd(Int_t subpadnumber = 0)
virtual voidTQObject::ChangedBy(const char* method)SIGNAL
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidClear(Option_t* option = "")
virtual voidCleared(TVirtualPad* pad)SIGNAL
voidClearPadSave()
virtual Int_tTPad::Clip(Float_t* x, Float_t* y, Float_t xclipl, Float_t yclipb, Float_t xclipr, Float_t yclipt)
virtual Int_tTPad::Clip(Double_t* x, Double_t* y, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt)
virtual Int_tTPad::ClippingCode(Double_t x, Double_t y, Double_t xcl1, Double_t ycl1, Double_t xcl2, Double_t ycl2)
virtual Int_tTPad::ClipPolygon(Int_t n, Double_t* x, Double_t* y, Int_t nn, Double_t* xc, Double_t* yc, Double_t xclipl, Double_t yclipb, Double_t xclipr, Double_t yclipt)
virtual TObject*TObject::Clone(const char* newname = "") const
virtual voidClose(Option_t* option = "")
virtual voidClosed()SIGNAL
virtual voidTPad::CloseToolTip(TObject* tip)
voidTQObject::CollectClassSignalLists(TList& list, TClass* cls)
virtual Int_tTObject::Compare(const TObject* obj) const
Bool_tTQObject::Connect(const char* signal, const char* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::Connect(TQObject* sender, const char* signal, const char* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::Connect(const char* sender_class, const char* signal, const char* receiver_class, void* receiver, const char* slot)
virtual voidTQObject::Connected(const char*)
voidConstructor()
voidConstructor(const char* name, const char* title, Int_t form)
voidConstructor(const char* name, const char* title, Int_t ww, Int_t wh)
voidConstructor(const char* name, const char* title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh)
virtual voidTObject::Copy(TObject& object) const
virtual voidTPad::CopyPixmap()
virtual TObject*TPad::CreateToolTip(const TBox* b, const char* text, Long_t delayms)
virtual voidDelete(Option_t* = "")
virtual voidTPad::DeleteExec(const char* name)
virtual voidTPad::DeleteToolTip(TObject* tip)
virtual voidTQObject::Destroyed()SIGNAL
voidDestructor()
Bool_tTQObject::Disconnect(const char* signal = 0, void* receiver = 0, const char* slot = 0)
static Bool_tTQObject::Disconnect(TQObject* sender, const char* signal = 0, void* receiver = 0, const char* slot = 0)
static Bool_tTQObject::Disconnect(const char* class_name, const char* signal, void* receiver = 0, const char* slot = 0)
virtual voidTQObject::Disconnected(const char*)
voidDisconnectWidget()
Int_tTAttLine::DistancetoLine(Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
virtual voidTPad::Divide(Int_t nx = 1, Int_t ny = 1, Float_t xmargin = 0.01, Float_t ymargin = 0.01, Int_t color = 0)MENU
virtual voidDraw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual voidTPad::DrawClassObject(const TObject* obj, Option_t* option = "")
virtual TObject*DrawClone(Option_t* option = "") constMENU
virtual TObject*DrawClonePad()MENU
static voidTPad::DrawColorTable()
virtual voidTPad::DrawCrosshair()
virtual TH1F*TPad::DrawFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, const char* title = "")
virtual voidTObject::Dump() constMENU
virtual voidEditorBar()
voidEmbedInto(Int_t winid, Int_t ww, Int_t wh)
voidTQObject::Emit(const char* signal)
voidTQObject::Emit(const char* signal, Long_t* paramArr)
voidTQObject::Emit(const char* signal, const char* params)
voidTQObject::Emit(const char* signal, Double_t param)
voidTQObject::Emit(const char* signal, Long_t param)
voidTQObject::Emit(const char* signal, Long64_t param)
voidTQObject::Emit(const char* signal, Bool_t param)
voidTQObject::Emit(const char* signal, Char_t param)
voidTQObject::Emit(const char* signal, UChar_t param)
voidTQObject::Emit(const char* signal, Short_t param)
voidTQObject::Emit(const char* signal, UShort_t param)
voidTQObject::Emit(const char* signal, Int_t param)
voidTQObject::Emit(const char* signal, UInt_t param)
voidTQObject::Emit(const char* signal, ULong_t param)
voidTQObject::Emit(const char* signal, ULong64_t param)
voidTQObject::Emit(const char* signal, Float_t param)
voidTQObject::EmitVA(const char* signal, Int_t nargs)
voidTQObject::EmitVA(const char* signal, Int_t nargs, va_list va)
voidEnterLeave(TPad* prevSelPad, TObject* prevSelObj)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTPad::EventPave()SIGNAL
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTPad::ExecuteEventAxis(Int_t event, Int_t px, Int_t py, TAxis* axis)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
voidFeedbackMode(Bool_t set)
virtual TObject*TPad::FindObject(const char* name) const
virtual TObject*TPad::FindObject(const TObject* obj) const
voidFlush()
voidForceUpdate()
virtual Double_tTPad::GetAbsHNDC() const
virtual Double_tTPad::GetAbsWNDC() const
virtual Double_tTPad::GetAbsXlowNDC() const
virtual Double_tTPad::GetAbsYlowNDC() const
Float_tTAttPad::GetAfile() const
virtual Double_tTPad::GetAspectRatio() const
Float_tTAttPad::GetAstat() const
Bool_tGetAutoExec() const
virtual Short_tTPad::GetBorderMode() const
virtual Short_tTPad::GetBorderSize() const
Float_tTAttPad::GetBottomMargin() const
virtual TCanvas*TPad::GetCanvas() const
virtual Int_tGetCanvasID() const
virtual TCanvasImp*GetCanvasImp() const
TVirtualPadPainter*GetCanvasPainter()
virtual voidGetCanvasPar(Int_t& wtopx, Int_t& wtopy, UInt_t& ww, UInt_t& wh)
TObject*GetClickSelected() const
TVirtualPad*GetClickSelectedPad() const
TContextMenu*GetContextMenu() const
Int_tTPad::GetCrosshair() const
const char*GetDISPLAY() const
Int_tGetDoubleBuffer() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual Int_tGetEvent() const
virtual Int_tGetEventX() const
virtual Int_tGetEventY() const
virtual Color_tTAttFill::GetFillColor() const
virtual Style_tTAttFill::GetFillStyle() const
virtual TFrame*TPad::GetFrame()
Int_tTAttPad::GetFrameBorderMode() const
Width_tTAttPad::GetFrameBorderSize() const
Color_tTAttPad::GetFrameFillColor() const
Style_tTAttPad::GetFrameFillStyle() const
Color_tTAttPad::GetFrameLineColor() const
Style_tTAttPad::GetFrameLineStyle() const
Width_tTAttPad::GetFrameLineWidth() const
virtual Int_tTPad::GetGLDevice()
virtual Bool_tTPad::GetGridx() const
virtual Bool_tTPad::GetGridy() const
virtual Color_tGetHighLightColor() const
virtual Double_tTPad::GetHNDC() const
virtual const char*TObject::GetIconName() const
Float_tTAttPad::GetLeftMargin() const
virtual Color_tTAttLine::GetLineColor() const
virtual Style_tTAttLine::GetLineStyle() const
virtual Width_tTAttLine::GetLineWidth() const
TList*TQObject::GetListOfClassSignals() const
TList*TQObject::GetListOfConnections() const
virtual TList*TPad::GetListOfExecs() const
virtual TList*TPad::GetListOfPrimitives() const
TList*TQObject::GetListOfSignals() const
virtual Int_tTPad::GetLogx() const
virtual Int_tTPad::GetLogy() const
virtual Int_tTPad::GetLogz() const
static Int_tTPad::GetMaxPickDistance()
virtual TVirtualPad*TPad::GetMother() const
virtual const char*TPad::GetName() const
virtual Int_tTPad::GetNumber() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual TVirtualPad*TPad::GetPad(Int_t subpadnumber) const
virtual Int_tTPad::GetPadPaint() const
virtual voidTPad::GetPadPar(Double_t& xlow, Double_t& ylow, Double_t& xup, Double_t& yup)
virtual TObject*TPad::GetPadPointer() const
virtual TVirtualPad*GetPadSave() const
virtual TVirtualPadPainter*TPad::GetPainter()
virtual Double_tTPad::GetPhi() const
virtual Int_tTPad::GetPixmapID() const
virtual TObject*TPad::GetPrimitive(const char* name) const
virtual voidTPad::GetRange(Double_t& x1, Double_t& y1, Double_t& x2, Double_t& y2)
virtual voidTPad::GetRangeAxis(Double_t& xmin, Double_t& ymin, Double_t& xmax, Double_t& ymax)
Float_tTAttPad::GetRightMargin() const
virtual TObject*GetSelected() const
Option_t*GetSelectedOpt() const
virtual TVirtualPad*GetSelectedPad() const
Int_tGetSelectedX() const
Int_tGetSelectedY() const
Bool_tGetShowEditor() const
Bool_tGetShowEventStatus() const
Bool_tGetShowToolBar() const
Bool_tGetShowToolTips() const
virtual Double_tTPad::GetTheta() const
virtual Int_tTPad::GetTickx() const
virtual Int_tTPad::GetTicky() const
virtual const char*TPad::GetTitle() const
Float_tTAttPad::GetTopMargin() const
virtual UInt_tTObject::GetUniqueID() const
virtual Double_tTPad::GetUxmax() const
virtual Double_tTPad::GetUxmin() const
virtual Double_tTPad::GetUymax() const
virtual Double_tTPad::GetUymin() const
virtual TView*TPad::GetView() const
virtual TObject*TPad::GetView3D() const
virtual TVirtualViewer3D*TPad::GetViewer3D(Option_t* type = "")
virtual TVirtualPad*TPad::GetVirtCanvas() const
virtual UInt_tGetWh() const
UInt_tGetWindowHeight() const
Int_tGetWindowTopX()
Int_tGetWindowTopY()
UInt_tGetWindowWidth() const
virtual Double_tTPad::GetWNDC() const
virtual UInt_tGetWw() const
virtual Double_tTPad::GetX1() const
virtual Double_tTPad::GetX2() const
Float_tTAttPad::GetXfile() const
virtual Double_tTPad::GetXlowNDC() const
Size_tGetXsizeReal() const
Size_tGetXsizeUser() const
Float_tTAttPad::GetXstat() const
virtual Double_tTPad::GetY1() const
virtual Double_tTPad::GetY2() const
Float_tTAttPad::GetYfile() const
virtual Double_tTPad::GetYlowNDC() const
Size_tGetYsizeReal() const
Size_tGetYsizeUser() const
Float_tTAttPad::GetYstat() const
virtual voidHandleInput(EEventType button, Int_t x, Int_t y)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual Bool_tTQObject::HasConnection(const char* signal_name) const
virtual Bool_tTPad::HasCrosshair() const
virtual Bool_tTPad::HasFixedAspectRatio() const
virtual ULong_tTPad::Hash() const
Bool_tHasMenuBar() const
virtual Bool_tTPad::HasViewer3D() const
virtual voidTPad::HighLight(Color_t col = kRed, Bool_t set = kTRUE)
virtual voidTQObject::HighPriority(const char* signal_name, const char* slot_name = 0)
voidIconify()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tIsBatch() const
Bool_tTVirtualPad::IsBeingResized() const
virtual Bool_tTPad::IsEditable() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tIsFolder() const
Bool_tIsGrayscale()
virtual Bool_tTPad::IsModified() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tIsRetained() const
virtual Bool_tTObject::IsSortable() const
virtual Bool_tTAttFill::IsTransparent() const
virtual Bool_tTPad::IsVertical() const
Bool_tTObject::IsZombie() const
static voidTQObject::LoadRQ_OBJECT()
virtual voidTQObject::LowPriority(const char* signal_name, const char* slot_name = 0)
virtual voidls(Option_t* option = "") const
static TCanvas*MakeDefCanvas()
voidTObject::MayNotUse(const char* method) const
virtual voidTQObject::Message(const char* msg)SIGNAL
virtual voidTPad::Modified(Bool_t flag = 1)SIGNAL
virtual voidTAttLine::Modify()
voidMoveOpaque(Int_t set = 1)
virtual Bool_tTObject::Notify()
virtual Int_tTQObject::NumberOfConnections() const
virtual Int_tTQObject::NumberOfSignals() const
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
virtual Bool_tOpaqueMoving() const
virtual Bool_tOpaqueResizing() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
static TVirtualPad*&TVirtualPad::Pad()
virtual Bool_tTVirtualPad::PadInHighlightMode() const
virtual Bool_tTVirtualPad::PadInSelectionMode() const
virtual Double_tTPad::PadtoX(Double_t x) const
virtual Double_tTPad::PadtoY(Double_t y) const
virtual voidPaint(Option_t* option = "")
virtual voidTPad::PaintBox(Double_t x1, Double_t y1, Double_t x2, Double_t y2, Option_t* option = "")
virtual voidTPad::PaintFillArea(Int_t n, Float_t* x, Float_t* y, Option_t* option = "")
virtual voidTPad::PaintFillArea(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
voidTPad::PaintFillAreaHatches(Int_t n, Double_t* x, Double_t* y, Int_t FillStyle)
voidTPad::PaintHatches(Double_t dy, Double_t angle, Int_t nn, Double_t* xx, Double_t* yy)
virtual voidTPad::PaintLine(Double_t x1, Double_t y1, Double_t x2, Double_t y2)
virtual voidTPad::PaintLine3D(Float_t* p1, Float_t* p2)
virtual voidTPad::PaintLine3D(Double_t* p1, Double_t* p2)
virtual voidTPad::PaintLineNDC(Double_t u1, Double_t v1, Double_t u2, Double_t v2)
virtual voidTPad::PaintModified()
virtual voidTPad::PaintPadFrame(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
virtual voidTPad::PaintPolyLine(Int_t n, Float_t* x, Float_t* y, Option_t* option = "")
virtual voidTPad::PaintPolyLine(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
virtual voidTPad::PaintPolyLine3D(Int_t n, Double_t* p)
virtual voidTPad::PaintPolyLineNDC(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
virtual voidTPad::PaintPolyMarker(Int_t n, Float_t* x, Float_t* y, Option_t* option = "")
virtual voidTPad::PaintPolyMarker(Int_t n, Double_t* x, Double_t* y, Option_t* option = "")
virtual voidTPad::PaintText(Double_t x, Double_t y, const char* text)
virtual voidTPad::PaintTextNDC(Double_t u, Double_t v, const char* text)
virtual TPad*Pick(Int_t px, Int_t py, TObjLink*& pickobj)
virtual TPad*Pick(Int_t px, Int_t py, TObject* prevSelObj)
virtual voidPicked(TPad* selpad, TObject* selected, Int_t event)SIGNAL
virtual Double_tTPad::PixeltoX(Int_t px)
virtual voidTPad::PixeltoXY(Int_t xpixel, Int_t ypixel, Double_t& x, Double_t& y)
virtual Double_tTPad::PixeltoY(Int_t py)
virtual voidTPad::Pop()MENU
virtual voidTVirtualPad::PopTopLevelSelectable()
virtual voidTPad::Print(const char* filename = "") const
virtual voidTPad::Print(const char* filename, Option_t* option)
virtual voidProcessedEvent(Int_t event, Int_t x, Int_t y, TObject* selected)SIGNAL
virtual voidTVirtualPad::PushSelectableObject(TObject* obj)
virtual voidTVirtualPad::PushTopLevelSelectable(TObject* top)
voidRaiseWindow()
virtual voidTPad::Range(Double_t x1, Double_t y1, Double_t x2, Double_t y2)MENU
virtual voidTPad::RangeAxis(Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax)
virtual voidTPad::RangeAxisChanged()SIGNAL
virtual voidTPad::RangeChanged()SIGNAL
virtual Int_tTObject::Read(const char* name)
virtual voidTPad::RecordLatex(const TObject* obj)SIGNAL
virtual voidTPad::RecordPave(const TObject* obj)SIGNAL
virtual voidTPad::RecursiveRemove(TObject* obj)
virtual voidTPad::RedrawAxis(Option_t* option = "")
virtual voidTPad::ReleaseViewer3D(Option_t* type = "")
virtual voidTAttFill::ResetAttFill(Option_t* option = "")
virtual voidTAttLine::ResetAttLine(Option_t* option = "")
virtual voidTAttPad::ResetAttPad(Option_t* option = "")
voidTObject::ResetBit(UInt_t f)
virtual voidTPad::ResetToolTip(TObject* tip)
virtual voidTPad::ResetView3D(TObject* view = 0)
virtual voidResize(Option_t* option = "")
voidResizeOpaque(Int_t set = 1)
virtual voidTPad::ResizePad(Option_t* option = "")
virtual voidTPad::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTAttFill::SaveFillAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1001)
virtual voidTAttLine::SaveLineAttributes(ostream& out, const char* name, Int_t coldef = 1, Int_t stydef = 1, Int_t widdef = 1)
virtual voidSavePrimitive(ostream& out, Option_t* option = "")
voidSaveSource(const char* filename = "", Option_t* option = "")
virtual voidSelected(TVirtualPad* pad, TObject* obj, Int_t event)SIGNAL
virtual voidTAttPad::SetAfile(Float_t afile)
virtual voidTAttPad::SetAstat(Float_t astat)
virtual voidTPad::SetAttFillPS(Color_t color, Style_t style)
virtual voidTPad::SetAttLinePS(Color_t color, Style_t style, Width_t lwidth)
virtual voidTPad::SetAttMarkerPS(Color_t color, Style_t style, Size_t msize)
virtual voidTPad::SetAttTextPS(Int_t align, Float_t angle, Color_t color, Style_t font, Float_t tsize)
virtual voidSetBatch(Bool_t batch = kTRUE)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
virtual voidTPad::SetBorderMode(Short_t bordermode)MENU
virtual voidTPad::SetBorderSize(Short_t bordersize)MENU
virtual voidTAttPad::SetBottomMargin(Float_t bottommargin)
virtual voidTPad::SetCanvas(TCanvas* c)
virtual voidSetCanvasSize(UInt_t ww, UInt_t wh)MENU
voidSetClickSelected(TObject* obj)
voidSetClickSelectedPad(TPad* pad)
virtual voidTPad::SetCopyGLDevice(Bool_t copy)
virtual voidTPad::SetCrosshair(Int_t crhair = 1)TOGGLE
virtual voidSetCursor(ECursor cursor)
virtual voidSetDoubleBuffer(Int_t mode = 1)
virtual voidTPad::SetDrawOption(Option_t* option = "")
static voidTObject::SetDtorOnly(void* obj)
virtual voidTPad::SetEditable(Bool_t mode = kTRUE)TOGGLE
virtual voidTAttFill::SetFillAttributes()MENU
virtual voidTAttFill::SetFillColor(Color_t fcolor)
virtual voidTPad::SetFillStyle(Style_t fstyle)
virtual voidSetFixedAspectRatio(Bool_t fixed = kTRUE)TOGGLE
static voidSetFolder(Bool_t isfolder = kTRUE)
voidTAttPad::SetFrameBorderMode(Int_t mode = 1)
voidTAttPad::SetFrameBorderSize(Width_t size = 1)
voidTAttPad::SetFrameFillColor(Color_t color = 1)
voidTAttPad::SetFrameFillStyle(Style_t styl = 0)
voidTAttPad::SetFrameLineColor(Color_t color = 1)
voidTAttPad::SetFrameLineStyle(Style_t styl = 0)
voidTAttPad::SetFrameLineWidth(Width_t width = 1)
virtual voidTPad::SetGLDevice(Int_t dev)
voidSetGrayscale(Bool_t set = kTRUE)TOGGLE GETTER
virtual voidTPad::SetGrid(Int_t valuex = 1, Int_t valuey = 1)
virtual voidTPad::SetGridx(Int_t value = 1)TOGGLE
virtual voidTPad::SetGridy(Int_t value = 1)TOGGLE
voidSetHighLightColor(Color_t col)
virtual voidTAttPad::SetLeftMargin(Float_t leftmargin)
virtual voidTAttLine::SetLineAttributes()MENU
virtual voidTAttLine::SetLineColor(Color_t lcolor)
virtual voidTAttLine::SetLineStyle(Style_t lstyle)
virtual voidTAttLine::SetLineWidth(Width_t lwidth)
virtual voidTPad::SetLogx(Int_t value = 1)TOGGLE
virtual voidTPad::SetLogy(Int_t value = 1)TOGGLE
virtual voidTPad::SetLogz(Int_t value = 1)TOGGLE
virtual voidTAttPad::SetMargin(Float_t left, Float_t right, Float_t bottom, Float_t top)
static voidTPad::SetMaxPickDistance(Int_t maxPick = 5)
virtual voidTPad::SetName(const char* name)MENU
virtual voidTPad::SetNumber(Int_t number)
static voidTObject::SetObjectStat(Bool_t stat)
virtual voidTPad::SetPad(Double_t xlow, Double_t ylow, Double_t xup, Double_t yup)
virtual voidTPad::SetPad(const char* name, const char* title, Double_t xlow, Double_t ylow, Double_t xup, Double_t yup, Color_t color = 35, Short_t bordersize = 5, Short_t bordermode = -1)
voidSetPadSave(TPad* pad)
virtual voidTPad::SetPhi(Double_t phi = 30)
voidSetRetained(Bool_t retained = kTRUE)
virtual voidTAttPad::SetRightMargin(Float_t rightmargin)
virtual voidSetSelected(TObject* obj)
voidSetSelectedPad(TPad* pad)
voidSetSupportGL(Bool_t support)
virtual voidTPad::SetTheta(Double_t theta = 30)
virtual voidTPad::SetTicks(Int_t valuex = 1, Int_t valuey = 1)
virtual voidTPad::SetTickx(Int_t value = 1)TOGGLE
virtual voidTPad::SetTicky(Int_t value = 1)TOGGLE
virtual voidSetTitle(const char* title = "")
virtual voidTPad::SetToolTipText(const char* text, Long_t delayms = 1000)
virtual voidTAttPad::SetTopMargin(Float_t topmargin)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidTPad::SetVertical(Bool_t vert = kTRUE)
virtual voidTPad::SetView(TView* view = 0)
virtual voidTPad::SetViewer3D(TVirtualViewer3D* viewer3d)
voidSetWindowPosition(Int_t x, Int_t y)
voidSetWindowSize(UInt_t ww, UInt_t wh)
virtual voidTAttPad::SetXfile(Float_t xfile)
virtual voidTAttPad::SetXstat(Float_t xstat)
virtual voidTAttPad::SetYfile(Float_t yfile)
virtual voidTAttPad::SetYstat(Float_t ystat)
voidShow()
virtual voidShowMembers(TMemberInspector& insp)
virtual voidSize(Float_t xsizeuser = 0, Float_t ysizeuser = 0)
virtual voidTPad::StartEditing()SIGNAL
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidToggleAutoExec()
virtual voidToggleEditor()
virtual voidToggleEventStatus()
virtual voidToggleToolBar()
virtual voidToggleToolTips()
virtual voidUpdate()
virtual voidUseCurrentStyle()MENU
Bool_tUseGL() const
virtual Int_tTPad::UtoAbsPixel(Double_t u) const
virtual Int_tTPad::UtoPixel(Double_t u) const
virtual Int_tTPad::VtoAbsPixel(Double_t v) const
virtual Int_tTPad::VtoPixel(Double_t v) const
virtual TObject*TPad::WaitPrimitive(const char* pname = "", const char* emode = "")
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidTPad::x3d(Option_t* type = "")
virtual Int_tTPad::XtoAbsPixel(Double_t x) const
virtual Double_tTPad::XtoPad(Double_t x) const
virtual Int_tTPad::XtoPixel(Double_t x) const
virtual voidTPad::XYtoAbsPixel(Double_t x, Double_t y, Int_t& xpixel, Int_t& ypixel) const
virtual voidTPad::XYtoPixel(Double_t x, Double_t y, Int_t& xpixel, Int_t& ypixel) const
virtual Int_tTPad::YtoAbsPixel(Double_t y) const
virtual Double_tTPad::YtoPad(Double_t y) const
virtual Int_tTPad::YtoPixel(Double_t y) const
protected:
static Int_tTQObject::CheckConnectArgs(TQObject* sender, TClass* sender_class, const char* signal, TClass* receiver_class, const char* slot)
static Bool_tTQObject::ConnectToClass(TQObject* sender, const char* signal, TClass* receiver_class, void* receiver, const char* slot)
static Bool_tTQObject::ConnectToClass(const char* sender_class, const char* signal, TClass* receiver_class, void* receiver, const char* slot)
voidTPad::DestroyExternalViewer3D()
virtual Int_tTPad::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
virtual voidExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual void*TVirtualPad::GetSender()
virtual const char*TQObject::GetSenderClassName() const
virtual voidTPad::HideToolTip(Int_t event)
voidInit()
voidTObject::MakeZombie()
voidTPad::PaintBorder(Color_t color, Bool_t tops)
virtual voidTPad::PaintBorderPS(Double_t xl, Double_t yl, Double_t xt, Double_t yt, Int_t bmode, Int_t bsize, Int_t dark, Int_t light)
voidTPad::PaintDate()
private:
TCanvas(const TCanvas& canvas)
voidBuild()
virtual voidCopyPixmaps()
voidCreatePainter()
voidDrawEventStatus(Int_t event, Int_t x, Int_t y, TObject* selected)
TCanvas&operator=(const TCanvas& rhs)
voidRunAutoExec()

Data Members

public:
enum { kShowEventStatus
kAutoExec
kMenuBar
kShowToolBar
kShowEditor
kMoveOpaque
kResizeOpaque
kIsGrayscale
kShowToolTips
};
enum TPad::[unnamed] { kFraming
kHori
kClipFrame
kPrintingPS
kCannotMove
kClearAfterCR
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
protected:
Bool_tTPad::fAbsCoordUse absolute coordinates
Double_tTPad::fAbsHNDCAbsolute Height of pad along Y in NDC
Double_tTPad::fAbsPixeltoXkConversion coefficient for absolute pixel to X World
Double_tTPad::fAbsPixeltoYkConversion coefficient for absolute pixel to Y World
Double_tTPad::fAbsWNDCAbsolute Width of pad along X in NDC
Double_tTPad::fAbsXlowNDCAbsolute X top left corner of pad in NDC [0,1]
Double_tTPad::fAbsYlowNDCAbsolute Y top left corner of pad in NDC [0,1]
Float_tTAttPad::fAfileAlignment for the file name
Double_tTPad::fAspectRatioratio of w/h in case of fixed ratio
Float_tTAttPad::fAstatAlignment for the statistics
Bool_tfBatch!True when in batchmode
Short_tTPad::fBorderModeBordermode (-1=down, 0 = no border, 1=up)
Short_tTPad::fBorderSizepad bordersize in pixels
Float_tTAttPad::fBottomMarginBottomMargin
TCanvas*TPad::fCanvas! Pointer to mother canvas
Int_tfCanvasID!Canvas identifier
TCanvasImp*fCanvasImp!Window system specific canvas implementation
TAttCanvasfCattCanvas attributes
UInt_tfChHeight of the canvas along Y (pixels)
TObject*fClickSelected!Currently click-selected object
TPad*fClickSelectedPad!Pad containing currently click-selected object
TContextMenu*fContextMenu!Context menu pointer
Bool_tTPad::fCopyGLDevice!
Int_tTPad::fCrosshairCrosshair type (0 if no crosshair requested)
Int_tTPad::fCrosshairPosPosition of crosshair
UInt_tfCwWidth of the canvas along X (pixels)
TStringfDISPLAYName of destination screen
Int_tfDoubleBufferDouble buffer flag (0=off, 1=on)
Bool_tTPad::fEditableTrue if canvas is editable
Bool_tTPad::fEmbeddedGL!
Int_tfEvent!Type of current or last handled event
Int_tfEventX!Last X mouse position in canvas
Int_tfEventY!Last Y mouse position in canvas
TList*TPad::fExecsList of commands to be executed when a pad event occurs
Color_tTAttFill::fFillColorfill area color
Style_tTAttFill::fFillStylefill area style
Bool_tTPad::fFixedAspectRatioTrue if fixed aspect ratio
TFrame*TPad::fFrame! Pointer to 2-D frame (if one exists)
Int_tTAttPad::fFrameBorderModepad frame border mode
Width_tTAttPad::fFrameBorderSizepad frame border size
Color_tTAttPad::fFrameFillColorpad frame fill color
Style_tTAttPad::fFrameFillStylepad frame fill style
Color_tTAttPad::fFrameLineColorpad frame line color
Style_tTAttPad::fFrameLineStylepad frame line style
Width_tTAttPad::fFrameLineWidthpad frame line width
Int_tTPad::fGLDevice! OpenGL off-screen pixmap identifier
Bool_tTPad::fGridxSet to true if grid along X
Bool_tTPad::fGridySet to true if grid along Y
Double_tTPad::fHNDCHeight of pad along Y in NDC
Color_tfHighLightColorHighlight color of active pad
Float_tTAttPad::fLeftMarginLeftMargin
Color_tTAttLine::fLineColorline color
Style_tTAttLine::fLineStyleline style
Width_tTAttLine::fLineWidthline width
TList*TQObject::fListOfConnections! list of connections to this object
TList*TQObject::fListOfSignals! list of signals from this object
Int_tTPad::fLogx(=0 if X linear scale, =1 if log scale)
Int_tTPad::fLogy(=0 if Y linear scale, =1 if log scale)
Int_tTPad::fLogz(=0 if Z linear scale, =1 if log scale)
Bool_tTPad::fModifiedSet to true when pad is modified
TPad*TPad::fMother! pointer to mother of the list
TStringTPad::fNamePad name
Int_tTPad::fNumberpad number identifier
Int_tTPad::fPadPaintSet to 1 while painting the pad
TObject*TPad::fPadPointer! free pointer
TPad*fPadSave!Pointer to saved pad in HandleInput
TObject*TPad::fPadView3D! 3D View of this TPad
TVirtualPadPainter*fPainter!Canvas (pad) painter.
Double_tTPad::fPhiphi angle to view as lego/surface
Double_tTPad::fPixeltoXxworld = fPixeltoXk + fPixeltoX*xpixel
Double_tTPad::fPixeltoXkConversion coefficient for pixel to X World
Double_tTPad::fPixeltoYyworld = fPixeltoYk + fPixeltoY*ypixel
Double_tTPad::fPixeltoYkConversion coefficient for pixel to Y World
Int_tTPad::fPixmapID! Off-screen pixmap identifier
TList*TPad::fPrimitives->List of primitives (subpads)
Bool_tTVirtualPad::fResizing!true when resizing the pad
Bool_tfRetainedRetain structure flag
Float_tTAttPad::fRightMarginRightMargin
TObject*fSelected!Currently selected object
TStringfSelectedOpt!Drawing option of selected object
TPad*fSelectedPad!Pad containing currently selected object
Int_tfSelectedX!X of selected object
Int_tfSelectedY!Y of selected object
Bool_tTQObject::fSignalsBlocked! flag used for suppression of signals
Double_tTPad::fThetatheta angle to view as lego/surface
Int_tTPad::fTickxSet to 1 if tick marks along X
Int_tTPad::fTickySet to 1 if tick marks along Y
TStringTPad::fTitlePad title
Float_tTAttPad::fTopMarginTopMargin
Bool_tfUpdating!True when Updating the canvas
Bool_tfUseGL!True when rendering is with GL
Double_tTPad::fUtoAbsPixelkConversion coefficient for U NDC to absolute pixel
Double_tTPad::fUtoPixelxpixel = fUtoPixelk + fUtoPixel*undc
Double_tTPad::fUtoPixelkConversion coefficient for U NDC to pixel
Double_tTPad::fUxmaxMaximum value on the X axis
Double_tTPad::fUxminMinimum value on the X axis
Double_tTPad::fUymaxMaximum value on the Y axis
Double_tTPad::fUyminMinimum value on the Y axis
TView*TPad::fView! Pointer to 3-D view (if one exists)
TVirtualViewer3D*TPad::fViewer3D! Current 3D viewer
Double_tTPad::fVtoAbsPixelkConversion coefficient for V NDC to absolute pixel
Double_tTPad::fVtoPixelypixel = fVtoPixelk + fVtoPixel*vndc
Double_tTPad::fVtoPixelkConversion coefficient for V NDC to pixel
Double_tTPad::fWNDCWidth of pad along X in NDC
UInt_tfWindowHeightHeight of window (including menubar, borders, etc.)
Int_tfWindowTopXTop X position of window (in pixels)
Int_tfWindowTopYTop Y position of window (in pixels)
UInt_tfWindowWidthWidth of window (including borders, etc.)
Double_tTPad::fX1X of lower X coordinate
Double_tTPad::fX2X of upper X coordinate
Float_tTAttPad::fXfileX position where to draw the file name
Double_tTPad::fXlowNDCX bottom left corner of pad in NDC [0,1]
Size_tfXsizeRealCurrent size of canvas along X in CM
Size_tfXsizeUserUser specified size of canvas along X in CM
Float_tTAttPad::fXstatX position where to draw the statistics
Double_tTPad::fXtoAbsPixelkConversion coefficient for X World to absolute pixel
Double_tTPad::fXtoPixelxpixel = fXtoPixelk + fXtoPixel*xworld
Double_tTPad::fXtoPixelkConversion coefficient for X World to pixel
Double_tTPad::fY1Y of lower Y coordinate
Double_tTPad::fY2Y of upper Y coordinate
Float_tTAttPad::fYfileY position where to draw the file name
Double_tTPad::fYlowNDCY bottom left corner of pad in NDC [0,1]
Size_tfYsizeRealCurrent size of canvas along Y in CM
Size_tfYsizeUserUser specified size of canvas along Y in CM
Float_tTAttPad::fYstatY position where to draw the statistics
Double_tTPad::fYtoAbsPixelkConversion coefficient for Y World to absolute pixel
Double_tTPad::fYtoPixelypixel = fYtoPixelk + fYtoPixel*yworld
Double_tTPad::fYtoPixelkConversion coefficient for Y World to pixel
static Bool_tTQObject::fgAllSignalsBlockedflag used for suppression of all signals
static Bool_tfgIsFolderIndicates if canvas can be browsed as a folder
static Int_tTPad::fgMaxPickDistanceMaximum Pick Distance

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TCanvas(Bool_t build = kTRUE)
 Canvas default constructor.
void Constructor()
 Canvas default constructor
TCanvas(const char* name, Int_t ww, Int_t wh, Int_t winid)
 Create an embedded canvas, i.e. a canvas that is in a TGCanvas widget
 which is placed in a TGFrame. This ctor is only called via the
 TRootEmbeddedCanvas class.

  If "name" starts with "gl" the canvas is ready to receive GL output.
TCanvas(const char* name, const char* title = "", Int_t form = 1)
  Create a new canvas with a predefined size form.
  If form < 0  the menubar is not shown.

  form = 1    700x500 at 10,10 (set by TStyle::SetCanvasDefH,W,X,Y)
  form = 2    500x500 at 20,20
  form = 3    500x500 at 30,30
  form = 4    500x500 at 40,40
  form = 5    500x500 at 50,50

  If "name" starts with "gl" the canvas is ready to receive GL output.
void Constructor(const char* name, const char* title, Int_t form)
  Create a new canvas with a predefined size form.
  If form < 0  the menubar is not shown.

  form = 1    700x500 at 10,10 (set by TStyle::SetCanvasDefH,W,X,Y)
  form = 2    500x500 at 20,20
  form = 3    500x500 at 30,30
  form = 4    500x500 at 40,40
  form = 5    500x500 at 50,50
TCanvas(const char* name, const char* title, Int_t ww, Int_t wh)
  Create a new canvas at a random position.

  ww is the canvas size in pixels along X
      (if ww < 0  the menubar is not shown)
  wh is the canvas size in pixels along Y

  If "name" starts with "gl" the canvas is ready to receive GL output.
void Constructor(const char* name, const char* title, Int_t ww, Int_t wh)
  Create a new canvas at a random position.

  ww is the canvas size in pixels along X
      (if ww < 0  the menubar is not shown)
  wh is the canvas size in pixels along Y
TCanvas(const char* name, const char* title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh)
  Create a new canvas.

  wtopx,wtopy are the pixel coordinates of the top left corner of
  the canvas (if wtopx < 0) the menubar is not shown)
  ww is the canvas size in pixels along X
  wh is the canvas size in pixels along Y

  If "name" starts with "gl" the canvas is ready to receive GL output.
void Constructor(const char* name, const char* title, Int_t wtopx, Int_t wtopy, Int_t ww, Int_t wh)
  Create a new canvas.

  wtopx,wtopy are the pixel coordinates of the top left corner of
  the canvas (if wtopx < 0) the menubar is not shown)
  ww is the canvas size in pixels along X
  wh is the canvas size in pixels along Y
void Init()
 Initialize the TCanvas members. Called by all constructors.
void Build()
 Build a canvas. Called by all constructors.
~TCanvas()
 Canvas destructor
void Browse(TBrowser* b)
void Destructor()
 Actual canvas destructor.
TVirtualPad * cd(Int_t subpadnumber = 0)
 Set current canvas & pad. Returns the new current pad,
 or 0 in case of failure.
 See TPad::cd() for an explanation of the parameter.
void Clear(Option_t* option = "")
 Remove all primitives from the canvas.
 If option "D" is specified, direct subpads are cleared but not deleted.
 This option is not recursive, i.e. pads in direct subpads are deleted.
void Cleared(TVirtualPad* pad)
 Emit pad Cleared signal.
void Closed()
 Emit Closed signal.
void Close(Option_t* option = "")
 Close canvas.

  Delete window/pads data structure
void CopyPixmaps()
 Copy the canvas pixmap of the pad to the canvas.
void Draw(Option_t* option = "")
  Draw a canvas.
  If a canvas with the name is already on the screen, the canvas is repainted.
  This function is useful when a canvas object has been saved in a Root file.
  One can then do:
     Root > Tfile f("file.root");
     Root > canvas.Draw();
TObject * DrawClone(Option_t* option = "") const
 Draw a clone of this canvas
 A new canvas is created that is a clone of this canvas
TObject * DrawClonePad()
 Draw a clone of this canvas into the current pad
 In an interactive session, select the destination/current pad
 with the middle mouse button, then point to the canvas area to select
 the canvas context menu item DrawClonePad.
 Note that the original canvas may have subpads.
void DrawEventStatus(Int_t event, Int_t x, Int_t y, TObject* selected)
 Report name and title of primitive below the cursor.

    This function is called when the option "Event Status"
    in the canvas menu "Options" is selected.
void EditorBar()
 Get editor bar.
void EmbedInto(Int_t winid, Int_t ww, Int_t wh)
 Embedded a canvas into a TRootEmbeddedCanvas. This method is only called
 via TRootEmbeddedCanvas::AdoptCanvas.
void EnterLeave(TPad* prevSelPad, TObject* prevSelObj)
 Generate kMouseEnter and kMouseLeave events depending on the previously
 selected object and the currently selected object. Does nothing if the
 selected object does not change.
void ExecuteEvent(Int_t event, Int_t px, Int_t py)
 Execute action corresponding to one event.

  This member function must be implemented to realize the action
  corresponding to the mouse click on the object in the canvas

  Only handle mouse motion events in TCanvas, all other events are
  ignored for the time being
void FeedbackMode(Bool_t set)
 Turn rubberband feedback mode on or off.
void Flush()
 Flush canvas buffers.
void UseCurrentStyle()
 Force a copy of current style for all objects in canvas.
Int_t GetWindowTopX()
 Returns current top x position of window on screen.
Int_t GetWindowTopY()
 Returns current top y position of window on screen.
void HandleInput(EEventType button, Int_t x, Int_t y)
 Handle Input Events.

  Handle input events, like button up/down in current canvas.
Bool_t IsFolder() const
 Is folder ?
void ls(Option_t* option = "") const
 List all pads.
TCanvas * MakeDefCanvas()
 Static function to build a default canvas.
void MoveOpaque(Int_t set = 1)
 Set option to move objects/pads in a canvas.

  if set = 1 (default) graphics objects are moved in opaque mode
         = 0 only the outline of objects is drawn when moving them
  The option opaque produces the best effect. It requires however a
  a reasonably fast workstation or response time.
void Paint(Option_t* option = "")
 Paint canvas.
TPad * Pick(Int_t px, Int_t py, TObject* prevSelObj)
 Prepare for pick, call TPad::Pick() and when selected object
 is different from previous then emit Picked() signal.
void Picked(TPad* selpad, TObject* selected, Int_t event)
 Emit Picked() signal.
void Selected(TVirtualPad* pad, TObject* obj, Int_t event)
 Emit Selected() signal.
void ProcessedEvent(Int_t event, Int_t x, Int_t y, TObject* selected)
 Emit ProcessedEvent() signal.
void Resize(Option_t* option = "")
 Recompute canvas parameters following a X11 Resize.
void ResizeOpaque(Int_t set = 1)
 Set option to resize objects/pads in a canvas.

  if set = 1 (default) graphics objects are resized in opaque mode
         = 0 only the outline of objects is drawn when resizing them
  The option opaque produces the best effect. It requires however a
  a reasonably fast workstation or response time.
void RunAutoExec()
 Execute the list of TExecs in the current pad.
void SavePrimitive(ostream& out, Option_t* option = "")
 Save primitives in this canvas in C++ macro file with GUI.
void SaveSource(const char* filename = "", Option_t* option = "")
 Save primitives in this canvas as a C++ macro file.
 This function loops on all the canvas primitives and for each primitive
 calls the object SavePrimitive function.
 When outputing floating point numbers, the default precision is 7 digits.
 The precision can be changed (via system.rootrc) by changing the value
 of the environment variable "Canvas.SavePrecision"
void SetBatch(Bool_t batch = kTRUE)
 Toggle batch mode. However, if the canvas is created without a window
 then batch mode always stays set.
void SetCanvasSize(UInt_t ww, UInt_t wh)
 Set Width and Height of canvas to ww and wh respectively
 If ww and/or wh are greater than the current canvas window
 a scroll bar is automatically generated.
 Use this function to zoom in a canvas and naviguate via
 the scroll bars.
void SetCursor(ECursor cursor)
 Set cursor.
void SetDoubleBuffer(Int_t mode = 1)
 Set Double Buffer On/Off.
void SetFixedAspectRatio(Bool_t fixed = kTRUE)
 Fix canvas aspect ratio to current value if fixed is true.
void SetFolder(Bool_t isfolder = kTRUE)
 If isfolder=kTRUE, the canvas can be browsed like a folder
 by default a canvas is not browsable.
void SetSelected(TObject* obj)
 Set selected canvas.
void SetTitle(const char* title = "")
 Set canvas title.
void Size(Float_t xsizeuser = 0, Float_t ysizeuser = 0)
 Set the canvas scale in centimeters.

  This information is used by PostScript to set the page size.
  xsize  = size of the canvas in centimeters along X
  ysize  = size of the canvas in centimeters along Y
   if xsize and ysize are not equal to 0, then the scale factors will
   be computed to keep the ratio ysize/xsize independently of the canvas
   size (parts of the physical canvas will be unused).

   if xsize = 0 and ysize is not zero, then xsize will be computed
      to fit to the current canvas scale. If the canvas is resized,
      a new value for xsize will be recomputed. In this case the aspect
      ratio is not preserved.

   if both xsize = 0 and ysize = 0, then the scaling is automatic.
   the largest dimension will be allocated a size of 20 centimeters.
void Streamer(TBuffer& b)
 Stream a class object.
void ToggleAutoExec()
 Toggle pad auto execution of list of TExecs.
void ToggleEventStatus()
 Toggle event statusbar.
void ToggleToolBar()
 Toggle toolbar.
void ToggleEditor()
 Toggle editor.
void ToggleToolTips()
 Toggle tooltip display.
void Update()
 Update canvas pad buffers.
void DisconnectWidget()
 Used by friend class TCanvasImp.
Bool_t IsGrayscale()
 Check whether this canvas is to be drawn in grayscale mode.
void SetGrayscale(Bool_t set = kTRUE)
 Set whether this canvas should be painted in grayscale, and re-paint
 it if necessary.
void CreatePainter()
 Probably, TPadPainter must be placed in a separate ROOT module -
 "padpainter" (the same as "histpainter"). But now, it's directly in a
 gpad dir, so, in case of default painter, no *.so should be loaded,
 no need in plugin managers.
 May change in future.
TVirtualPadPainter * GetCanvasPainter()
 Access and (probably) creation of pad painter.
TCanvas(const TCanvas& canvas)
TCanvas & operator=(const TCanvas& rhs)
void Delete(Option_t* = "")
{ MayNotUse("Delete()"); }
void ForceUpdate()
const char * GetDISPLAY() const
{return fDISPLAY.Data();}
TContextMenu * GetContextMenu() const
{return fContextMenu;}
Int_t GetDoubleBuffer() const
{return fDoubleBuffer;}
Int_t GetEvent() const
{ return fEvent; }
Int_t GetEventX() const
{ return fEventX; }
Int_t GetEventY() const
{ return fEventY; }
Color_t GetHighLightColor() const
{ return fHighLightColor; }
TVirtualPad * GetPadSave() const
{ return fPadSave; }
void ClearPadSave()
{ fPadSave = 0; }
TObject * GetSelected() const
{return fSelected;}
TObject * GetClickSelected() const
{return fClickSelected;}
Int_t GetSelectedX() const
{return fSelectedX;}
Int_t GetSelectedY() const
{return fSelectedY;}
Option_t * GetSelectedOpt() const
{return fSelectedOpt.Data();}
TVirtualPad * GetSelectedPad() const
{ return fSelectedPad; }
TVirtualPad * GetClickSelectedPad() const
{ return fClickSelectedPad; }
Bool_t GetShowEventStatus() const
Bool_t GetShowToolBar() const
{ return TestBit(kShowToolBar); }
Bool_t GetShowEditor() const
{ return TestBit(kShowEditor); }
Bool_t GetShowToolTips() const
{ return TestBit(kShowToolTips); }
Bool_t GetAutoExec() const
{ return TestBit(kAutoExec); }
Size_t GetXsizeUser() const
{return fXsizeUser;}
Size_t GetYsizeUser() const
{return fYsizeUser;}
Size_t GetXsizeReal() const
{return fXsizeReal;}
Size_t GetYsizeReal() const
{return fYsizeReal;}
Int_t GetCanvasID() const
{return fCanvasID;}
TCanvasImp * GetCanvasImp() const
{return fCanvasImp;}
UInt_t GetWindowWidth() const
{ return fWindowWidth; }
UInt_t GetWindowHeight() const
{ return fWindowHeight; }
UInt_t GetWw() const
{ return fCw; }
UInt_t GetWh() const
{ return fCh; }
void GetCanvasPar(Int_t& wtopx, Int_t& wtopy, UInt_t& ww, UInt_t& wh)
Bool_t HasMenuBar() const
{ return TestBit(kMenuBar); }
void Iconify()
Bool_t IsBatch() const
{ return fBatch; }
Bool_t IsRetained() const
{ return fRetained; }
Bool_t OpaqueMoving() const
{ return TestBit(kMoveOpaque); }
Bool_t OpaqueResizing() const
{ return TestBit(kResizeOpaque); }
TPad * Pick(Int_t px, Int_t py, TObjLink*& pickobj)
{ return TPad::Pick(px, py, pickobj); }
void RaiseWindow()
void SetWindowPosition(Int_t x, Int_t y)
void SetWindowSize(UInt_t ww, UInt_t wh)
void SetHighLightColor(Color_t col)
{ fHighLightColor = col; }
void SetClickSelected(TObject* obj)
{ fClickSelected = obj; }
void SetSelectedPad(TPad* pad)
{ fSelectedPad = pad; }
void SetClickSelectedPad(TPad* pad)
void Show()
void SetPadSave(TPad* pad)
{fPadSave = pad;}
void SetRetained(Bool_t retained = kTRUE)
{ fRetained=retained;}
Bool_t UseGL() const
Still need this.
{ return fUseGL; }
void SetSupportGL(Bool_t support)
{fUseGL = support;}