VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/dox/Common/Color/vtkNamedColors.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkNamedColors.h
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00071 #ifndef vtkNamedColors_h
00072 #define vtkNamedColors_h
00073 
00074 #include "vtkCommonColorModule.h" // For export macro
00075 #include "vtkObject.h"
00076 #include "vtkColor.h" // Needed for vtkColor[34]ub
00077 #include "vtkStdString.h" // Needed for arguments
00078 #include "vtkStringArray.h" // For returning color names
00079 
00080 class vtkNamedColorsDataStore;
00081 class vtkColorStringParser;
00082 
00083 class VTKCOMMONCOLOR_EXPORT vtkNamedColors : public vtkObject
00084 {
00085 public:
00086   vtkTypeMacro(vtkNamedColors, vtkObject);
00087 
00092   virtual void PrintSelf(ostream &os, vtkIndent indent);
00093 
00095   static vtkNamedColors* New();
00096 
00098   int GetNumberOfColors();
00099 
00102   void ResetColors();
00103 
00105   bool ColorExists(const vtkStdString & name);
00106 
00110   vtkColor4ub GetColor4ub(const vtkStdString & name);
00111 
00113 
00117   void GetColor(const vtkStdString & name,
00118                 unsigned char & r, unsigned char & g,
00119                 unsigned char & b, unsigned char & a);
00121 
00126   void GetColor(const vtkStdString & name, unsigned char rgba[4]);
00127 
00131   void GetColor(const vtkStdString & name, vtkColor4ub & rgba);
00132 
00136   vtkColor4d GetColor4d(const vtkStdString & name);
00137 
00139 
00143   void GetColor(const vtkStdString & name,
00144                 double & r, double & g, double & b, double & a);
00146 
00151   void GetColor(const vtkStdString & name, double rgba[4]);
00152 
00156   void GetColor(const vtkStdString & name, vtkColor4d & rgba);
00157 
00161   vtkColor3ub GetColor3ub(const vtkStdString & name);
00162 
00166   vtkColor3d GetColor3d(const vtkStdString & name);
00167 
00169 
00173   void GetColor(const vtkStdString & name,
00174                    double & r, double & g, double & b);
00176 
00181   void GetColorRGB(const vtkStdString & name, double rgb[3]);
00182 
00186   void GetColor(const vtkStdString & name, vtkColor3ub & rgb);
00187 
00191   void GetColor(const vtkStdString & name, vtkColor3d & rgb);
00192 
00194 
00197   virtual void SetColor(const vtkStdString & name,
00198                 const unsigned char & r, const unsigned char & g,
00199                 const unsigned char & b, const unsigned char & a = 255);
00201 
00203 
00206   virtual void SetColor(const vtkStdString & name,
00207                 const double & r, const double & g,
00208                 const double & b, const double & a = 1);
00210 
00215   virtual void SetColor(const vtkStdString & name, const unsigned char rgba[4]);
00216 
00220   virtual void SetColor(const vtkStdString & name, const vtkColor4ub & rgba);
00221 
00225   virtual void SetColor(const vtkStdString & name, const vtkColor3ub & rgb);
00226 
00230   virtual void SetColor(const vtkStdString & name, const double rgba[4]);
00231 
00235   virtual void SetColor(const vtkStdString & name, const vtkColor4d & rgba);
00236 
00240   virtual void SetColor(const vtkStdString & name, const vtkColor3d & rgb);
00241 
00245   void RemoveColor(const vtkStdString & name);
00246 
00251   vtkStdString GetColorNames();
00252 
00254   void GetColorNames(vtkStringArray * colorNames);
00255 
00262   vtkStdString GetSynonyms();
00263 
00270   vtkColor4ub HTMLColorToRGBA(const vtkStdString& colorString);
00271 
00277   vtkColor3ub HTMLColorToRGB(const vtkStdString& colorString);
00278 
00281   vtkStdString RGBToHTMLColor(const vtkColor3ub & rgb);
00282 
00285   vtkStdString RGBAToHTMLColor(const vtkColor4ub & rgba);
00286 
00290   void SetColor(const vtkStdString & name, const vtkStdString & htmlString);
00291 
00292 protected:
00293   vtkNamedColors();
00294   virtual ~vtkNamedColors();
00295 
00296 private:
00298 
00299   vtkNamedColorsDataStore *Colors;
00300   vtkColorStringParser* Parser;
00302 
00303   vtkNamedColors(const vtkNamedColors&);  // Not implemented.
00304   void operator=(const vtkNamedColors&);  // Not implemented.
00305 };
00306 
00307 #endif /* vtkNamedColors_h */