package hep.aida.ref.plotter; import hep.aida.IBaseStyle; import hep.aida.ILegendBoxStyle; import hep.aida.ILineStyle; public interface ITickStyle extends IBaseStyle { // Number of ticks is determined automatically static int DEFAULT_TICKS = 0; // Define Tick Type static int INSIDE_PLOT = 0; static int OUTSIDE_PLOT = 1; static int INSIDE_AND_OUTSIDE_PLOT = 2; // Number of Ticks // If nTicks=DEFAULT_TICKS, it is defined automatically int numberOfTicks(); void setNumberOfTicks(int nTicks); ILineStyle tickLineStyle(); void setTickLineStyle(ILineStyle style); // Tick Type: how to draw tick from the axis - inside plot, // outside of plot, or both int tickType(); void setTickType(int type); // Tick length, this number can be interpreted as absolute length, // or fraction of Plot size double tickLength(); void setTickLength(double length); // If scalable=true, tick length is interpreted as a // fraction of Plot size boolean isTickLengthScalable(); void setTickLengthScalable(boolean scalable); ILegendBoxStyle tickLabelStyle(); void setTickLabelStyle(ILegendBoxStyle style); // String expression that is used to format the Tick Label // Should we use C, Java, etc. conventions? // Example: "3.2f", "dd-MMM-yyyy HH:mm:ss" String tickLabelFormat(); void setTickLabelFormat(String format); // If scalable=true, font size and positionning of the Tick Label // will be scaled automatically when Plot size changes (tickLabelStyle) boolean isTickLabelScalable(); void setTickLabelScalable(boolean scalable); // Multiplier is common part of all Tick Labels on the Axis. // It can be extracted from labels and displayed separately // Example: (1000, 2000, 3000) --> 1000 * (1, 2, 3) ILegendBoxStyle multiplierStyle(); void setMultiplierStyle(ILegendBoxStyle style); // String expression that is used to format the Multiplier String multiplierFormat(); void setMultiplierFormat(String format); // If scalable=true, font size and positionning of the Multiplier // will be scaled automatically when Plot size changes (multiplierStyle) boolean isMultiplierScalable(); void setMultiplierScalable(boolean scalable); }