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
28#ifndef vtkBrush_h
29#define vtkBrush_h
30
31#include "vtkColor.h" // Needed for vtkColor4ub
32#include "vtkObject.h"
33#include "vtkRenderingContext2DModule.h" // For export macro
34
35VTK_ABI_NAMESPACE_BEGIN
36class vtkImageData;
37
38class VTKRENDERINGCONTEXT2D_EXPORT vtkBrush : public vtkObject
39{
40public:
41 vtkTypeMacro(vtkBrush, vtkObject);
42 void PrintSelf(ostream& os, vtkIndent indent) override;
43
44 static vtkBrush* New();
45
50 void SetColorF(double color[3]);
51
56 void SetColorF(double r, double g, double b);
57
62 void SetColorF(double r, double g, double b, double a);
63
68 void SetOpacityF(double a);
69
73 double GetOpacityF();
74
79 void SetColor(unsigned char color[3]);
80
85 void SetColor(unsigned char r, unsigned char g, unsigned char b);
86
88
92 void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);
93 void SetColor(const vtkColor4ub& color);
95
100 void SetOpacity(unsigned char a);
101
105 unsigned char GetOpacity();
106
110 void GetColorF(double color[4]);
111
115 void GetColor(unsigned char color[4]);
116
120 unsigned char* GetColor() { return &this->Color[0]; }
121
126
134
136
139 vtkGetObjectMacro(Texture, vtkImageData);
141
146 {
147 Nearest = 0x01,
148 Linear = 0x02,
149 Stretch = 0x04,
150 Repeat = 0x08
151 };
152
154
161 vtkSetMacro(TextureProperties, int);
163
165
168 vtkGetMacro(TextureProperties, int);
170
174 void DeepCopy(vtkBrush* brush);
175
176protected:
178 ~vtkBrush() override;
179
180 // Storage of the color in RGBA format (0-255 per channel).
181 unsigned char* Color;
185
186private:
187 vtkBrush(const vtkBrush&) = delete;
188 void operator=(const vtkBrush&) = delete;
189};
190
191VTK_ABI_NAMESPACE_END
192#endif // vtkBrush_h
provides a brush that fills shapes drawn by vtkContext2D.
Definition vtkBrush.h:39
void SetTexture(vtkImageData *image)
Set the texture that will be used to fill polygons By default, no texture is set.
static vtkBrush * New()
void GetColor(unsigned char color[4])
Get the color of the brush - expects an unsigned char of length 4.
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:184
vtkColor4ub BrushColor
Definition vtkBrush.h:182
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:181
void SetOpacity(unsigned char a)
Set the opacity with an unsigned char, ranging from 0 (transparent) to 255 (opaque).
~vtkBrush() override
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:146
double GetOpacityF()
Get the opacity ranging from 0.0 (transparent) to 1.0(opaque).
unsigned char * GetColor()
Get the color of the brush - gives a pointer to the underlying data.
Definition vtkBrush.h:120
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:183
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
a simple class to control print indentation
Definition vtkIndent.h:38
abstract base class for most VTK objects
Definition vtkObject.h:58