//*CMZ :  2.21/04 03/02/99  10.49.07  by  Rene Brun
//*CMZ :  2.00/08 05/06/98  14.34.43  by  Fons Rademakers
//*CMZ :  2.00/00 25/05/98  22.27.02  by  Rene Brun
//*CMZ :  1.03/09 06/12/97  16.46.57  by  Fons Rademakers
//*-- Author :    Rene Brun   12/12/94

//*KEEP,CopyRight,T=C.
/*************************************************************************
 * Copyright(c) 1995-1999, The ROOT System, All rights reserved.         *
 * Authors: Rene Brun, Fons Rademakers.                                  *
 * For list of contributors see $ROOTSYS/AA_CREDITS.                     *
 *                                                                       *
 * Permission to use, copy, modify and distribute this software and its  *
 * documentation for non-commercial purposes is hereby granted without   *
 * fee, provided that the above copyright notice appears in all copies   *
 * and that both the copyright notice and this permission notice appear  *
 * in the supporting documentation. The authors make no claims about the *
 * suitability of this software for any purpose. It is provided "as is"  *
 * without express or implied warranty.                                  *
 *************************************************************************/
//*KEND.

//*KEEP,TFile.
#include "TFile.h"
//*KEEP,TMath.
#include "TMath.h"
//*KEEP,TAttAxis.
#include "TAttAxis.h"
//*KEEP,TStyle.
#include "TStyle.h"
//*KEEP,TVirtualPad.
#include "TVirtualPad.h"
//*KEND.

ClassImp(TAttAxis)

//______________________________________________________________________________
//
//  Manages histogram axis attributes
//

 TAttAxis::TAttAxis()
{

   Reset();
}

//______________________________________________________________________________
 TAttAxis::~TAttAxis()
{

}

//______________________________________________________________________________
 void TAttAxis::Copy(TAttAxis &attaxis)
{
   attaxis.fNdivisions  = fNdivisions;
   attaxis.fAxisColor   = fAxisColor;
   attaxis.fLabelColor  = fLabelColor;
   attaxis.fLabelFont   = fLabelFont;
   attaxis.fLabelOffset = fLabelOffset;
   attaxis.fLabelSize   = fLabelSize;
   attaxis.fTickLength  = fTickLength;
   attaxis.fTitleOffset = fTitleOffset;
   attaxis.fTitleSize   = fTitleSize;
}

//______________________________________________________________________________
 void TAttAxis::Reset(Option_t *option)
{
   if (gStyle) {
      fNdivisions  = gStyle->GetNdivisions(option);
      fAxisColor   = gStyle->GetAxisColor(option);
      fLabelColor  = gStyle->GetLabelColor(option);
      fLabelFont   = gStyle->GetLabelFont(option);
      fLabelOffset = gStyle->GetLabelOffset(option);
      fLabelSize   = gStyle->GetLabelSize(option);
      fTickLength  = gStyle->GetTickLength(option);
      fTitleOffset = gStyle->GetTitleOffset(option);
      fTitleSize   = gStyle->GetTitleSize(option);
   } else {
      fNdivisions  = 510;
      fAxisColor   = 1;
      fLabelColor  = 1;
      fLabelFont   = 62;
      fLabelOffset = 0.005;
      fLabelSize   = 0.04;
      fTickLength  = 0.03;
      fTitleOffset = 1;
      fTitleSize   = fLabelSize;
   }
}

//______________________________________________________________________________
 void TAttAxis::SaveAttributes(ofstream &out, const Text_t *name, const Text_t *subname)
{
    // Save axis attributes as C++ statement(s) on output stream out

   if (fNdivisions != 510) {
      out<<"   "<<name<<subname<<"->SetNdivisions("<<fNdivisions<<");"<<endl;
   }
   if (fAxisColor != 1) {
      out<<"   "<<name<<subname<<"->SetAxisColor("<<fAxisColor<<");"<<endl;
   }
   if (fLabelColor != 1) {
      out<<"   "<<name<<subname<<"->SetLabelColor("<<fLabelColor<<");"<<endl;
   }
   if (fLabelFont != 62) {
      out<<"   "<<name<<subname<<"->SetLabelFont("<<fLabelFont<<");"<<endl;
   }
   if (TMath::Abs(fLabelOffset-0.005) > 0.0001) {
      out<<"   "<<name<<subname<<"->SetLabelOffset("<<fLabelOffset<<");"<<endl;
   }
   if (TMath::Abs(fLabelSize-0.04) > 0.001) {
      out<<"   "<<name<<subname<<"->SetLabelSize("<<fLabelSize<<");"<<endl;
   }
   if (TMath::Abs(fTitleSize-0.04) > 0.001) {
      out<<"   "<<name<<subname<<"->SetTitleSize("<<fTitleSize<<");"<<endl;
   }
   if (TMath::Abs(fTickLength-0.03) > 0.001) {
      out<<"   "<<name<<subname<<"->SetTickLength("<<fTickLength<<");"<<endl;
   }
   if (TMath::Abs(fTitleOffset-1) > 0.001) {
      out<<"   "<<name<<subname<<"->SetTitleOffset("<<fTitleOffset<<");"<<endl;
   }
}

//______________________________________________________________________________
 void TAttAxis::SetAxisColor(Color_t color)
{
//   Set color of the line axis and tick marks

   fAxisColor = color;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetLabelColor(Color_t color)
{
//   Set color of labels and axis title

   fLabelColor = color;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetLabelFont(Style_t font)
{

   fLabelFont = font;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetLabelOffset(Float_t offset)
{
//   Set distance between the axis and the labels
//   The distance is expressed in per cent of the pad width

   fLabelOffset = offset;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetLabelSize(Float_t size)
{
//   Set size of axis labels
//   The size is expressed in per cent of the pad width

   fLabelSize = size;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetNdivisions(Int_t n)
{
//   Set the number of divisions for this axis

   fNdivisions = n;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetTickLength(Float_t length)
{
//   Set tick mark length
//   The length is expressed in per cent of the pad width

   fTickLength = length;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetTitleOffset(Float_t offset)
{
//   Set distance between the axis and the axis title
//   Offset is a correction factor with respect to the "standard" value.
//   offset = 1  uses the default position that is computed in function
//   of the label offset and size.
//   offset = 1.2 will add 20 per cent more to the default offset.

   fTitleOffset = offset;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::SetTitleSize(Float_t size)
{
//   Set size of axis title
//   The size is expressed in per cent of the pad width

   fTitleSize = size;
   if (gPad) gPad->Modified();
}

//______________________________________________________________________________
 void TAttAxis::Streamer(TBuffer &R__b)
{
   // Stream an object of class TAttAxis.

   if (R__b.IsReading()) {
      Version_t R__v = R__b.ReadVersion(); if (R__v) { }
      R__b >> fNdivisions;
      R__b >> fAxisColor;
      R__b >> fLabelColor;
      R__b >> fLabelFont;
      R__b >> fLabelOffset;
      R__b >> fLabelSize;
      R__b >> fTickLength;
      R__b >> fTitleOffset;
      // !gFile is the case of only TMapFile
      if (R__v > 1 && (!gFile || (gFile && gFile->GetVersion() > 900)))
         R__b >> fTitleSize;
      else
         fTitleSize = fLabelSize;
   } else {
      R__b.WriteVersion(TAttAxis::IsA());
      R__b << fNdivisions;
      R__b << fAxisColor;
      R__b << fLabelColor;
      R__b << fLabelFont;
      R__b << fLabelOffset;
      R__b << fLabelSize;
      R__b << fTickLength;
      R__b << fTitleOffset;
      R__b << fTitleSize;
   }
}


ROOT page - Class index - Top of the page

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.