= "\
A canvas (see TCanvas) is a top level pad (See TPad).\n\
A pad is a linked list of primitives of any type (graphics objects,\n\
histograms, detectors, tracks, etc.). A Pad supports linear and log scales \n\
coordinate systems. It may contain other pads (unlimited pad hierarchy).\n\
Adding a new element into a pad is in general performed by the Draw\n\
member function of the object classes.\n\
It is important to realize that the pad is a linked list of references\n\
to the original object. The effective drawing is performed when the canvas\n\
receives a signal to be painted. This signal is generally sent when typing \n\
carriage return in the command input or when a graphical operation has been \n\
performed on one of the pads of this canvas. When a Canvas/Pad is repainted,\n\
the member function Paint for all objects in the Pad linked list is invoked.\n\
For example, in case of an histogram, the histogram.Draw() operation\n\
only stores a reference to the histogram object and not a graphical\n\
representation of this histogram. When the mouse is used to change (say the bin\n\
content), the bin content of the original histogram is changed !!\n\n\
Generation of a C++ macro reproducing the canvas\n\
************************************************\n\
Once you are happy with your picture, you can select the <Save as canvas.C>\n\
item in the canvas File menu. This will automatically generate a macro with \n\
the C++ statements corresponding to the picture. This facility also works \n\
if you have other objects not drawn with the graphics editor.\n\n\
Saving the canvas and all its objects in a Root file\n\
****************************************************\n\
Select <Save as canvas.root> to save a canvas in a Root file\n\
In another session, one can access the canvas and its objects, eg:\n\
TFile f(\"canvas.root\")\n\
canvas.Draw()\n\n\
"