VTK  9.3.0
vtkBrush.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
3 
19 #ifndef vtkBrush_h
20 #define vtkBrush_h
21 
22 #include "vtkColor.h" // Needed for vtkColor4ub
23 #include "vtkObject.h"
24 #include "vtkRenderingContext2DModule.h" // For export macro
25 
26 VTK_ABI_NAMESPACE_BEGIN
27 class vtkImageData;
28 
29 class VTKRENDERINGCONTEXT2D_EXPORT vtkBrush : public vtkObject
30 {
31 public:
32  vtkTypeMacro(vtkBrush, vtkObject);
33  void PrintSelf(ostream& os, vtkIndent indent) override;
34 
35  static vtkBrush* New();
36 
41  void SetColorF(double color[3]);
42 
47  void SetColorF(double r, double g, double b);
48 
53  void SetColorF(double r, double g, double b, double a);
54 
59  void SetOpacityF(double a);
60 
64  double GetOpacityF();
65 
70  void SetColor(unsigned char color[3]);
71 
76  void SetColor(unsigned char r, unsigned char g, unsigned char b);
77 
79 
83  void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);
84  void SetColor(const vtkColor4ub& color);
86 
91  void SetOpacity(unsigned char a);
92 
96  unsigned char GetOpacity();
97 
101  void GetColorF(double color[4]);
102 
106  void GetColor(unsigned char color[4]);
107 
111  unsigned char* GetColor() { return &this->Color[0]; }
112 
117 
125 
127 
130  vtkGetObjectMacro(Texture, vtkImageData);
132 
137  {
138  Nearest = 0x01,
139  Linear = 0x02,
140  Stretch = 0x04,
141  Repeat = 0x08
142  };
143 
145 
152  vtkSetMacro(TextureProperties, int);
154 
156 
159  vtkGetMacro(TextureProperties, int);
161 
165  void DeepCopy(vtkBrush* brush);
166 
167 protected:
169  ~vtkBrush() override;
170 
171  // Storage of the color in RGBA format (0-255 per channel).
172  unsigned char* Color;
176 
177 private:
178  vtkBrush(const vtkBrush&) = delete;
179  void operator=(const vtkBrush&) = delete;
180 };
181 
182 VTK_ABI_NAMESPACE_END
183 #endif // vtkBrush_h
provides a brush that fills shapes drawn by vtkContext2D.
Definition: vtkBrush.h:30
void SetTexture(vtkImageData *image)
Set the texture that will be used to fill polygons By default, no texture is set.
void GetColor(unsigned char color[4])
Get the color of the brush - expects an unsigned char of length 4.
static vtkBrush * New()
vtkColor4ub GetColorObject()
Get the color of the brush.
void SetColorF(double r, double g, double b)
Set the color of the brush with three component doubles (RGB), ranging from 0.0 to 1....
int TextureProperties
Definition: vtkBrush.h:175
vtkColor4ub BrushColor
Definition: vtkBrush.h:173
void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a)
Set the color of the brush with four component unsigned chars (RGBA), ranging from 0 to 255.
void SetColor(unsigned char r, unsigned char g, unsigned char b)
Set the color of the brush with three component unsigned chars (RGB), ranging from 0 to 255.
unsigned char * Color
Definition: vtkBrush.h:172
void SetOpacity(unsigned char a)
Set the opacity with an unsigned char, ranging from 0 (transparent) to 255 (opaque).
~vtkBrush() override
unsigned char * GetColor()
Get the color of the brush - gives a pointer to the underlying data.
Definition: vtkBrush.h:111
void SetOpacityF(double a)
Set the opacity with a double, ranging from 0.0 (transparent) to 1.0 (opaque).
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
unsigned char GetOpacity()
Get the opacity ranging from 0 (transparent) to 255(opaque).
void SetColor(unsigned char color[3])
Set the color of the brush with three component unsigned chars (RGB), ranging from 0 to 255.
void SetColorF(double r, double g, double b, double a)
Set the color of the brush with four component doubles (RGBA), ranging from 0.0 to 1....
TextureProperty
Texture properties.
Definition: vtkBrush.h:137
double GetOpacityF()
Get the opacity ranging from 0.0 (transparent) to 1.0(opaque).
void SetColorF(double color[3])
Set the color of the brush with three component doubles (RGB), ranging from 0.0 to 1....
void DeepCopy(vtkBrush *brush)
Make a deep copy of the supplied brush.
void GetColorF(double color[4])
Get the color of the brush - expects a double of length 4 to copy into.
vtkImageData * Texture
Definition: vtkBrush.h:174
void SetColor(const vtkColor4ub &color)
Set the color of the brush with four component unsigned chars (RGBA), ranging from 0 to 255.
topologically and geometrically regular array of data
Definition: vtkImageData.h:43
a simple class to control print indentation
Definition: vtkIndent.h:29
abstract base class for most VTK objects
Definition: vtkObject.h:52
@ Color
Definition: vtkX3D.h:46
@ color
Definition: vtkX3D.h:221
@ image
Definition: vtkX3D.h:374