VTK
vtkNamedColors.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkNamedColors.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
72 #ifndef vtkNamedColors_h
73 #define vtkNamedColors_h
74 
75 #include "vtkCommonColorModule.h" // For export macro
76 #include "vtkObject.h"
77 #include "vtkColor.h" // Needed for vtkColor[34]ub
78 #include "vtkStdString.h" // Needed for arguments
79 #include "vtkStringArray.h" // For returning color names
80 
81 class vtkNamedColorsDataStore;
82 class vtkColorStringParser;
83 
84 class VTKCOMMONCOLOR_EXPORT vtkNamedColors : public vtkObject
85 {
86 public:
87  vtkTypeMacro(vtkNamedColors, vtkObject);
88 
95  void PrintSelf(ostream& os, vtkIndent indent) override;
96 
100  static vtkNamedColors* New();
101 
105  int GetNumberOfColors();
106 
111  void ResetColors();
112 
116  bool ColorExists(const vtkStdString & name);
117 
124  vtkColor4ub GetColor4ub(const vtkStdString & name);
125 
133  void GetColor(const vtkStdString & name,
134  unsigned char & r, unsigned char & g,
135  unsigned char & b, unsigned char & a);
136 
144  void GetColor(const vtkStdString & name, unsigned char rgba[4]);
145 
152  void GetColor(const vtkStdString & name, vtkColor4ub & rgba);
153 
160  vtkColor4d GetColor4d(const vtkStdString & name);
161 
169  void GetColor(const vtkStdString & name,
170  double & r, double & g, double & b, double & a);
171 
179  void GetColor(const vtkStdString & name, double rgba[4]);
180 
187  void GetColor(const vtkStdString & name, vtkColor4d & rgba);
188 
195  vtkColor3ub GetColor3ub(const vtkStdString & name);
196 
203  vtkColor3d GetColor3d(const vtkStdString & name);
204 
212  void GetColor(const vtkStdString & name,
213  double & r, double & g, double & b);
214 
222  void GetColorRGB(const vtkStdString & name, double rgb[3]);
223 
230  void GetColor(const vtkStdString & name, vtkColor3ub & rgb);
231 
238  void GetColor(const vtkStdString & name, vtkColor3d & rgb);
239 
246  virtual void SetColor(const vtkStdString & name,
247  const unsigned char & r, const unsigned char & g,
248  const unsigned char & b, const unsigned char & a = 255);
249 
256  virtual void SetColor(const vtkStdString & name,
257  const double & r, const double & g,
258  const double & b, const double & a = 1);
259 
268  virtual void SetColor(const vtkStdString & name, const unsigned char rgba[4]);
269 
276  virtual void SetColor(const vtkStdString & name, const vtkColor4ub & rgba);
277 
284  virtual void SetColor(const vtkStdString & name, const vtkColor3ub & rgb);
285 
293  virtual void SetColor(const vtkStdString & name, const double rgba[4]);
294 
301  virtual void SetColor(const vtkStdString & name, const vtkColor4d & rgba);
302 
309  virtual void SetColor(const vtkStdString & name, const vtkColor3d & rgb);
310 
317  void RemoveColor(const vtkStdString & name);
318 
327  vtkStdString GetColorNames();
328 
332  void GetColorNames(vtkStringArray * colorNames);
333 
344  vtkStdString GetSynonyms();
345 
358  vtkColor4ub HTMLColorToRGBA(const vtkStdString& colorString);
359 
372  vtkColor3ub HTMLColorToRGB(const vtkStdString& colorString);
373 
378  vtkStdString RGBToHTMLColor(const vtkColor3ub & rgb);
379 
384  vtkStdString RGBAToHTMLColor(const vtkColor4ub & rgba);
385 
393  void SetColor(const vtkStdString & name, const vtkStdString & htmlString);
394 
395 protected:
396  vtkNamedColors();
397  ~vtkNamedColors() override;
398 
399 private:
401 
404  vtkNamedColorsDataStore *Colors;
405  vtkColorStringParser* Parser;
407 
408  vtkNamedColors(const vtkNamedColors&) = delete;
409  void operator=(const vtkNamedColors&) = delete;
410 };
411 
412 #endif /* vtkNamedColors_h */
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:40
abstract base class for most VTK objects
Definition: vtkObject.h:59
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
A class holding colors and their names.
a vtkAbstractArray subclass for strings
Some derived classes for the different colors commonly used.
Definition: vtkColor.h:194
a simple class to control print indentation
Definition: vtkIndent.h:39
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...