Back to home page

EIC code displayed by LXR

 
 

    


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

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_IBRUSHSTYLE_H
0008 #define AIDA_IBRUSHSTYLE_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 #include <vector>
0017 
0018 #include "AIDA/IBaseStyle.h"
0019 
0020 namespace AIDA {
0021 
0022 /**
0023  * Superclass for anything which can be drawn in different 
0024  * colours and with (possibly) transparent/opaque/translucent effect.
0025  *
0026  * @author The AIDA team (http://aida.freehep.org/)
0027  */
0028 
0029 class IBrushStyle : virtual public IBaseStyle {
0030 
0031 public: 
0032     /// Destructor.
0033     virtual ~IBrushStyle() { /* nop */; }
0034 
0035   /**
0036    * Get a list of the colours supported by this implementation.
0037    */
0038     virtual std::vector<std::string>  availableColors() const = 0;
0039 
0040   /** 
0041    * Current colour of this brush style.
0042    */
0043     virtual std::string color() const = 0;
0044 
0045   /** 
0046    * Current opacity (alpha) of this brush style.
0047    */
0048     virtual double opacity() const = 0;
0049 
0050   /** 
0051    * Set current colour, e.g. "darkGreen"
0052    * @return false if colour not recognised by the implementation.
0053    */
0054     virtual bool setColor(const std::string & newColor) = 0;
0055 
0056   /**
0057    * Set opacity (alpha), e.g. 0 (transparent), 
0058    * 1 (opaque), 0.5 (halfway).
0059    * @return false if value not supported by the implementation.
0060    */
0061     virtual bool setOpacity(double newOpacity) = 0;
0062 }; // class
0063 } // namespace AIDA
0064 #endif /* ifndef AIDA_IBRUSHSTYLE_H */