VTK  9.2.6
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 =========================================================================*/
74 #ifndef vtkNamedColors_h
75 #define vtkNamedColors_h
76 
77 #include "vtkColor.h" // Needed for vtkColor[34]ub
78 #include "vtkCommonColorModule.h" // For export macro
79 #include "vtkObject.h"
80 #include "vtkStdString.h" // Needed for arguments
81 #include "vtkStringArray.h" // For returning color names
82 
83 class vtkNamedColorsDataStore;
84 class vtkColorStringParser;
85 
86 class VTKCOMMONCOLOR_EXPORT vtkNamedColors : public vtkObject
87 {
88 public:
89  vtkTypeMacro(vtkNamedColors, vtkObject);
90 
97  void PrintSelf(ostream& os, vtkIndent indent) override;
98 
102  static vtkNamedColors* New();
103 
107  int GetNumberOfColors();
108 
113  void ResetColors();
114 
118  bool ColorExists(const vtkStdString& name);
119 
126  vtkColor4ub GetColor4ub(const vtkStdString& name);
127 
135  void GetColor(const vtkStdString& name, unsigned char& r, unsigned char& g, unsigned char& b,
136  unsigned char& a);
137 
145  void GetColor(const vtkStdString& name, unsigned char rgba[4]);
146 
153  void GetColor(const vtkStdString& name, vtkColor4ub& rgba);
154 
161  vtkColor4d GetColor4d(const vtkStdString& name);
162 
170  void GetColor(const vtkStdString& name, 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, double& r, double& g, double& b);
213 
221  void GetColorRGB(const vtkStdString& name, double rgb[3]);
222 
229  void GetColor(const vtkStdString& name, vtkColor3ub& rgb);
230 
237  void GetColor(const vtkStdString& name, vtkColor3d& rgb);
238 
245  virtual void SetColor(const vtkStdString& name, const unsigned char& r, const unsigned char& g,
246  const unsigned char& b, const unsigned char& a = 255);
247 
254  virtual void SetColor(const vtkStdString& name, const double& r, const double& g, const double& b,
255  const double& a = 1);
256 
265  virtual void SetColor(const vtkStdString& name, const unsigned char rgba[4]);
266 
273  virtual void SetColor(const vtkStdString& name, const vtkColor4ub& rgba);
274 
281  virtual void SetColor(const vtkStdString& name, const vtkColor3ub& rgb);
282 
290  virtual void SetColor(const vtkStdString& name, const double rgba[4]);
291 
298  virtual void SetColor(const vtkStdString& name, const vtkColor4d& rgba);
299 
306  virtual void SetColor(const vtkStdString& name, const vtkColor3d& rgb);
307 
314  void RemoveColor(const vtkStdString& name);
315 
324  vtkStdString GetColorNames();
325 
329  void GetColorNames(vtkStringArray* colorNames);
330 
341  vtkStdString GetSynonyms();
342 
355  vtkColor4ub HTMLColorToRGBA(const vtkStdString& colorString);
356 
369  vtkColor3ub HTMLColorToRGB(const vtkStdString& colorString);
370 
375  vtkStdString RGBToHTMLColor(const vtkColor3ub& rgb);
376 
381  vtkStdString RGBAToHTMLColor(const vtkColor4ub& rgba);
382 
390  void SetColor(const vtkStdString& name, const vtkStdString& htmlString);
391 
392 protected:
393  vtkNamedColors();
394  ~vtkNamedColors() override;
395 
396 private:
398 
401  vtkNamedColorsDataStore* Colors;
402  vtkColorStringParser* Parser;
404 
405  vtkNamedColors(const vtkNamedColors&) = delete;
406  void operator=(const vtkNamedColors&) = delete;
407 };
408 
409 #endif /* vtkNamedColors_h */
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:38
abstract base class for most VTK objects
Definition: vtkObject.h:62
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...