Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 09:28:09

0001 // -*- C++ -*-
0002 // AID-GENERATED
0003 // =========================================================================
0004 // This class was generated by AID - Abstract Interface Definition          
0005 // DO NOT MODIFY, but use the org.freehep.aid.Aid utility to regenerate it. 
0006 // =========================================================================
0007 #ifndef AIDA_IPLOTTERFACTORY_H
0008 #define AIDA_IPLOTTERFACTORY_H 1
0009 
0010 //  This file is part of the AIDA library
0011 //  Copyright (C) 2002 by the AIDA team.  All rights reserved.
0012 //  This library is free software and under the terms of the
0013 //  GNU Library General Public License described in the LGPL.txt 
0014 
0015 #include <string>
0016 
0017 namespace AIDA {
0018 
0019 class IAxisStyle;
0020 class IDataStyle;
0021 class IFillStyle;
0022 class ILineStyle;
0023 class IMarkerStyle;
0024 class IPlotter;
0025 class IPlotterStyle;
0026 class ITextStyle;
0027 class ITitleStyle;
0028 
0029 /**
0030  * Factory for plotter and styles.
0031  *
0032  * @author The AIDA team (http://aida.freehep.org/)
0033  */
0034 
0035 class IPlotterFactory {
0036 
0037 public: 
0038     /// Destructor.
0039     virtual ~IPlotterFactory() { /* nop */; }
0040 
0041    /** 
0042      * @param name  A string identifier. 
0043                     A plotter is in general managed by a GUI.
0044                     The "name" of the plotter could be used as 
0045                     the string identifier for the GUI plotter widget.
0046                     If "" is passed, some default plotter is used.
0047     */
0048 
0049     virtual IPlotter * create(const std::string & name = "") = 0;
0050 
0051    /** 
0052     * Create various basic styles. 
0053     * The returned styles are not managed by the plotter.
0054     * A user have to delete these objects.
0055     */
0056     virtual IMarkerStyle * createMarkerStyle() = 0;
0057 
0058     virtual ITextStyle * createTextStyle() = 0;
0059 
0060     virtual ILineStyle * createLineStyle() = 0;
0061 
0062     virtual IFillStyle * createFillStyle() = 0;
0063 
0064    /**
0065     * Create various "scene part" styles.
0066     * The returned styles are not managed by the plotter.
0067     */ 
0068     virtual IDataStyle * createDataStyle() = 0;
0069 
0070     virtual IAxisStyle * createAxisStyle() = 0;
0071 
0072     virtual ITitleStyle * createTitleStyle() = 0;
0073 
0074    /**
0075     * Create a global plotter style.
0076     * The returned style is not managed by the plotter.
0077     */ 
0078     virtual IPlotterStyle * createPlotterStyle() = 0;
0079 }; // class
0080 } // namespace AIDA
0081 #endif /* ifndef AIDA_IPLOTTERFACTORY_H */