VTK  9.3.20240423
vtkPen.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
69#ifndef vtkPen_h
70#define vtkPen_h
71
72#include "vtkColor.h" // Needed for vtkColor4ub
73#include "vtkObject.h"
74#include "vtkRenderingContext2DModule.h" // For export macro
75
76VTK_ABI_NAMESPACE_BEGIN
77class VTKRENDERINGCONTEXT2D_EXPORT vtkPen : public vtkObject
78{
79public:
80 vtkTypeMacro(vtkPen, vtkObject);
81 void PrintSelf(ostream& os, vtkIndent indent) override;
82
83 static vtkPen* New();
84
88 enum
89 {
96 DENSE_DOT_LINE
97 };
98
102 void SetLineType(int type);
103
108
113 void SetColorF(double color[3]);
114
119 void SetColorF(double r, double g, double b);
120
125 void SetColorF(double r, double g, double b, double a);
126
131 void SetOpacityF(double a);
132
137 void SetColor(unsigned char color[3]);
138
143 void SetColor(unsigned char r, unsigned char g, unsigned char b);
144
146
150 void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);
151 void SetColor(const vtkColor4ub& color);
153
158 void SetOpacity(unsigned char a);
159
163 void GetColorF(double color[3]);
164
168 void GetColor(unsigned char color[3]);
169
174
179 unsigned char GetOpacity();
180
184 unsigned char* GetColor() { return this->Color; }
185
187
190 vtkSetMacro(Width, float);
191 vtkGetMacro(Width, float);
193
197 void DeepCopy(vtkPen* pen);
198
199protected:
201 ~vtkPen() override;
202
204
207 unsigned char* Color;
210
214 float Width;
215
220
221private:
222 vtkPen(const vtkPen&) = delete;
223 void operator=(const vtkPen&) = delete;
224};
225
226VTK_ABI_NAMESPACE_END
227#endif // vtkPen_h
a simple class to control print indentation
Definition vtkIndent.h:108
abstract base class for most VTK objects
Definition vtkObject.h:162
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Definition vtkPen.h:78
~vtkPen() override
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....
unsigned char GetOpacity()
Get the opacity (unsigned char), ranging from 0 (transparent) to 255 (opaque).
void SetOpacity(unsigned char a)
Set the opacity with an unsigned char, ranging from 0 (transparent) to 255 (opaque).
float Width
Store the width of the pen in pixels.
Definition vtkPen.h:214
void GetColorF(double color[3])
Get the color of the brush - expects a double of length 3 to copy into.
unsigned char * Color
Storage of the color in RGBA format (0-255 per channel).
Definition vtkPen.h:207
unsigned char * GetColor()
Get the color of the brush - gives a pointer to the underlying data.
Definition vtkPen.h:184
void SetColorF(double color[3])
Set the color of the brush with three component doubles (RGB), ranging from 0.0 to 1....
void SetColor(const vtkColor4ub &color)
Set the color of the brush with four component unsigned chars (RGBA), ranging from 0 to 255.
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....
void SetLineType(int type)
Set the type of line that the pen should draw.
void GetColor(unsigned char color[3])
Get the color of the brush - expects an unsigned char of length 3.
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.
void SetColor(unsigned char color[3])
Set the color of the brush with three component unsigned chars (RGB), ranging from 0 to 255.
vtkColor4ub PenColor
Storage of the color in RGBA format (0-255 per channel).
Definition vtkPen.h:208
void SetOpacityF(double a)
Set the opacity with a double, ranging from 0.0 (transparent) to 1.0 (opaque).
vtkColor4ub GetColorObject()
Get the color of the pen.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int LineType
The type of line to be drawn with this pen.
Definition vtkPen.h:219
void DeepCopy(vtkPen *pen)
Make a deep copy of the supplied pen.
static vtkPen * New()
int GetLineType()
Get the type of line that the pen will draw.
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.
@ DASH_LINE
Definition vtkPen.h:92
@ SOLID_LINE
Definition vtkPen.h:91
@ NO_PEN
Definition vtkPen.h:90
@ DOT_LINE
Definition vtkPen.h:93
@ DASH_DOT_DOT_LINE
Definition vtkPen.h:95
@ DASH_DOT_LINE
Definition vtkPen.h:94