"Fossies" - the Fresh Open Source Software Archive

Member "ansifilter-2.18-x64/src/stylecolour.h" (30 Jan 2021, 2976 Bytes) of package /windows/misc/ansifilter-2.18-x64.zip:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. See also the last Fossies "Diffs" side-by-side code changes report for "stylecolour.h": 2.13_vs_2.14.

    1 /***************************************************************************
    2                           stylecolour.h  -  description
    3                              -------------------
    4     begin                : Die Nov 5 2002
    5     copyright            : (C) 2002 by Andre Simon
    6     email                : a.simon@mailbox.org
    7  ***************************************************************************/
    8 
    9 /*
   10 This file is part of ANSIFilter.
   11 
   12 ANSIFilter is free software: you can redistribute it and/or modify
   13 it under the terms of the GNU General Public License as published by
   14 the Free Software Foundation, either version 3 of the License, or
   15 (at your option) any later version.
   16 
   17 ANSIFilter is distributed in the hope that it will be useful,
   18 but WITHOUT ANY WARRANTY; without even the implied warranty of
   19 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
   20 GNU General Public License for more details.
   21 
   22 You should have received a copy of the GNU General Public License
   23 along with ANSIFilter.  If not, see <http://www.gnu.org/licenses/>.
   24 */
   25 
   26 #ifndef STYLECOLOUR_H
   27 #define STYLECOLOUR_H
   28 
   29 #include "enums.h"
   30 
   31 #include <string>
   32 
   33 using namespace std;
   34 
   35 namespace ansifilter
   36 {
   37 
   38 /**\brief Stores colours and returns red, green and blue values in different formats
   39 * @author Andre Simon
   40  */
   41 
   42 struct RGBVal {
   43     int iRed,    ///< Red value
   44         iGreen,  ///< Green value
   45         iBlue;   ///< Blue value
   46 };
   47 
   48 class StyleColour
   49 {
   50 public:
   51     /** Constructor
   52         \param red Red value in hex notation
   53         \param green Blue value in hex notation
   54         \param blue Green value in hex notation
   55     */
   56     StyleColour(const string & red, const string & green, const string & blue);
   57 
   58     /** Constructor
   59         \param styleColourString String with rgb values
   60     */
   61     StyleColour(const string & styleColourString);
   62 
   63     StyleColour();
   64     ~StyleColour() {};
   65 
   66     /** Sets red, green and blue values
   67       \param styleColourString String containing colour attributes
   68     */
   69     void setRGB(const string & styleColourString);
   70 
   71     /** Sets red value
   72         \param red New red value */
   73     void setRed(const string & red);
   74 
   75     /** Sets green value
   76         \param green New green value */
   77     void setGreen(const string & green);
   78 
   79     /** Sets blue value
   80         \param blue New blue value */
   81     void setBlue(const string & blue);
   82 
   83     /**  @param type Output type
   84          @return Red value in color representation according to output type */
   85     const string getRed(OutputType type) const;
   86     
   87     /**  @param type Output type
   88          @return Green value in color representation according to output type */
   89     
   90     const string getGreen(OutputType type) const;
   91     /**  @param type Output type
   92          @return Blue value in color representation according to output type */
   93     const string getBlue(OutputType type) const;
   94 
   95 private:
   96     RGBVal rgb;
   97     string int2str(int, std::ios_base& (*f)(std::ios_base&) ) const;
   98     string float2str(double) const;
   99 };
  100 
  101 }
  102 
  103 #endif