/* @(#)root/histpainter:$Id$ */
/*************************************************************************
* Copyright (C) 1995-2000, 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_Hoption
#define ROOT_Hoption
////////////////////////////////////////////////////////////////////////////////
/*! \struct Hoption_t
\brief Histograms' drawing options structure.
Used internally by THistPainter to manage histograms' drawing options.
*/
typedef struct Hoption_t {
///@{
/// @name Histogram's drawing options
/// The drawing option may be the concatenation of some of the following options:
int Axis; ///< "A" Axis are not drawn around the graph.
int Bar; ///< "B", "BAR" and "HBAR" A Bar chart is drawn at each point.
int Curve; ///< "C" A smooth Curve is drawn.
int Error; ///< "En" Draw Errors with current marker type and size (0 <= n <=6).
int Fill; ///< "F" A fill area is drawn ("CF" draw a smooth fill area).
int Off; ///< "][" The first and last vertical lines are not drawn.
int Line; ///< "L" A simple polyline through every point is drawn.
int Mark; ///< "P" The current Marker is drawn at each point.
int Same; ///< "SAME" Histogram is plotted in the current pad.
int Star; ///< "*" With option "P", a * is plotted at each point.
int Arrow; ///< "ARR" Draw 2D plot with Arrows.
int Box; ///< "BOX" Draw 2D plot with proportional Boxes.
int Char; ///< "CHAR" Draw 2D plot with a character set.
int Color; ///< "COL" Draw 2D plot with Colored boxes.
int Contour; ///< "CONTn" Draw 2D plot as a Contour plot (0 <= n <= 5).
int Func; ///< "FUNC" Draw only the function (for example in case of fit).
int Hist; ///< "HIST" Draw only the histogram.
int Lego; ///< "LEGO" and "LEGOn" Draw as a Lego plot(1 <= n <= 4).
int Scat; ///< "SCAT" Draw 2D plot a Scatter plot.
int Surf; ///< "SURF" and "SURFn" Draw as a Surface ((1 <= n <= 4).
int Text; ///< "TEXT" Draw 2D plot with the content of each cell.
int Tri; ///< "TRI" Draw TGraph2D with Delaunay triangles.
int Pie; ///< "PIE" Draw 1D plot as a pie chart.
long Candle; ///< "CANDLE" and "VIOLIN" Draw a 2D histogram as candle/box plot or violin plot.
int System; ///< "POL", "CYL", "SPH" and "PSR" Type of coordinate system for 3D plots.
int Zscale; ///< "Z" Display the color palette.
int FrontBox; ///< "FB" Suppress the front box for the 3D plots.
int BackBox; ///< "BB" Suppress the back box for the 3D plots.
int List; ///< "LIST" Generate the TObjArray "contours". To be used with option "CONT"
int Proj; ///< "AITOFF", "MERCATOR", "SINUSOIDAL" and "PARABOLIC" projections for 2d plots.
int AxisPos; ///< "X+" and "Y+" Axis position
int Spec; ///< "SPEC" TSpectrum graphics
int Zero; ///< "0" if selected with any LEGO option the empty bins are not drawn.
int MinimumZero; ///< "MIN0" or gStyle->GetHistMinimumZero()
///@}
///@{
/// @name Other options
/// The following structure members are set to 1 if the corresponding setting is selected.
int Logx; ///< log scale in X. Also set by histogram option
int Logy; ///< log scale in Y. Also set by histogram option
int Logz; ///< log scale in Z. Also set by histogram option
///@}
} Hoption_t;
#endif