// @(#)root/treeplayer:$Id$
// Author: Rene Brun   15/01/2003

/*************************************************************************
 * Copyright (C) 1995-2003, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#ifndef ROOT_TFileDrawMap
#define ROOT_TFileDrawMap


//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TFileDrawMap                                                         //
//                                                                      //
// Draw a 2-d map of the objects in a file                              //
//                                                                      //
//////////////////////////////////////////////////////////////////////////

#ifndef ROOT_TNamed
#include "TNamed.h"
#endif

class TH1;
class TFile;
class TDirectory;
class TBox;
class TBranch;

class TFileDrawMap : public TNamed {

protected:
   TFile         *fFile;           //pointer to the file
   TH1           *fFrame;          //histogram used to draw the map frame
   TString        fKeys;           //list of keys
   TString        fOption;         //drawing options
   Int_t          fXsize;          //size in bytes of X axis
   Int_t          fYsize;          //size in K/Mbytes of Y axis

   virtual void     DrawMarker(Int_t marker, Long64_t eseek);
   virtual Bool_t   GetObjectInfoDir(TDirectory *dir, Int_t px, Int_t py, TString &info) const;
   virtual void     PaintBox(TBox &box, Long64_t bseek, Int_t nbytes);
   virtual void     PaintDir(TDirectory *dir, const char *keys);
   virtual TObject *GetObject();

public:
   TFileDrawMap();
   TFileDrawMap(const TFile *file, const char *keys, Option_t *option);
   virtual ~TFileDrawMap();

   virtual void  AnimateTree(const char *branches=""); // *MENU*
   virtual Int_t DistancetoPrimitive(Int_t px, Int_t py);
   virtual void  DrawObject(); // *MENU*
   virtual void  DumpObject(); // *MENU*
   virtual void  ExecuteEvent(Int_t event, Int_t px, Int_t py);
   virtual char *GetObjectInfo(Int_t px, Int_t py) const;
   virtual void  InspectObject(); // *MENU*
   virtual void  Paint(Option_t *option);

   ClassDef(TFileDrawMap,1);  //Draw a 2-d map of the objects in a file
};

#endif
 TFileDrawMap.h:1
 TFileDrawMap.h:2
 TFileDrawMap.h:3
 TFileDrawMap.h:4
 TFileDrawMap.h:5
 TFileDrawMap.h:6
 TFileDrawMap.h:7
 TFileDrawMap.h:8
 TFileDrawMap.h:9
 TFileDrawMap.h:10
 TFileDrawMap.h:11
 TFileDrawMap.h:12
 TFileDrawMap.h:13
 TFileDrawMap.h:14
 TFileDrawMap.h:15
 TFileDrawMap.h:16
 TFileDrawMap.h:17
 TFileDrawMap.h:18
 TFileDrawMap.h:19
 TFileDrawMap.h:20
 TFileDrawMap.h:21
 TFileDrawMap.h:22
 TFileDrawMap.h:23
 TFileDrawMap.h:24
 TFileDrawMap.h:25
 TFileDrawMap.h:26
 TFileDrawMap.h:27
 TFileDrawMap.h:28
 TFileDrawMap.h:29
 TFileDrawMap.h:30
 TFileDrawMap.h:31
 TFileDrawMap.h:32
 TFileDrawMap.h:33
 TFileDrawMap.h:34
 TFileDrawMap.h:35
 TFileDrawMap.h:36
 TFileDrawMap.h:37
 TFileDrawMap.h:38
 TFileDrawMap.h:39
 TFileDrawMap.h:40
 TFileDrawMap.h:41
 TFileDrawMap.h:42
 TFileDrawMap.h:43
 TFileDrawMap.h:44
 TFileDrawMap.h:45
 TFileDrawMap.h:46
 TFileDrawMap.h:47
 TFileDrawMap.h:48
 TFileDrawMap.h:49
 TFileDrawMap.h:50
 TFileDrawMap.h:51
 TFileDrawMap.h:52
 TFileDrawMap.h:53
 TFileDrawMap.h:54
 TFileDrawMap.h:55
 TFileDrawMap.h:56
 TFileDrawMap.h:57
 TFileDrawMap.h:58
 TFileDrawMap.h:59
 TFileDrawMap.h:60
 TFileDrawMap.h:61
 TFileDrawMap.h:62
 TFileDrawMap.h:63
 TFileDrawMap.h:64
 TFileDrawMap.h:65
 TFileDrawMap.h:66
 TFileDrawMap.h:67