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);    
}



 

Ads help maintain this website.