VTK  9.1.0
vtkPen.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPen.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 =========================================================================*/
15 
128 #ifndef vtkPen_h
129 #define vtkPen_h
130 
131 #include "vtkColor.h" // Needed for vtkColor4ub
132 #include "vtkObject.h"
133 #include "vtkRenderingContext2DModule.h" // For export macro
134 
135 class VTKRENDERINGCONTEXT2D_EXPORT vtkPen : public vtkObject
136 {
137 public:
138  vtkTypeMacro(vtkPen, vtkObject);
139  void PrintSelf(ostream& os, vtkIndent indent) override;
140 
141  static vtkPen* New();
142 
146  enum
147  {
154  DENSE_DOT_LINE
155  };
156 
160  void SetLineType(int type);
161 
165  int GetLineType();
166 
171  void SetColorF(double color[3]);
172 
177  void SetColorF(double r, double g, double b);
178 
183  void SetColorF(double r, double g, double b, double a);
184 
189  void SetOpacityF(double a);
190 
195  void SetColor(unsigned char color[3]);
196 
201  void SetColor(unsigned char r, unsigned char g, unsigned char b);
202 
204 
208  void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);
209  void SetColor(const vtkColor4ub& color);
211 
216  void SetOpacity(unsigned char a);
217 
221  void GetColorF(double color[3]);
222 
226  void GetColor(unsigned char color[3]);
227 
232 
237  unsigned char GetOpacity();
238 
242  unsigned char* GetColor() { return this->Color; }
243 
245 
248  vtkSetMacro(Width, float);
249  vtkGetMacro(Width, float);
251 
255  void DeepCopy(vtkPen* pen);
256 
257 protected:
259  ~vtkPen() override;
260 
262 
265  unsigned char* Color;
268 
272  float Width;
273 
277  int LineType;
278 
279 private:
280  vtkPen(const vtkPen&) = delete;
281  void operator=(const vtkPen&) = delete;
282 };
283 
284 #endif // vtkPen_h
a simple class to control print indentation
Definition: vtkIndent.h:113
abstract base class for most VTK objects
Definition: vtkObject.h:73
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Definition: vtkPen.h:136
~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:272
static vtkPen * New()
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:265
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....
@ DASH_LINE
Definition: vtkPen.h:150
@ SOLID_LINE
Definition: vtkPen.h:149
@ NO_PEN
Definition: vtkPen.h:148
@ DOT_LINE
Definition: vtkPen.h:151
@ DASH_DOT_DOT_LINE
Definition: vtkPen.h:153
@ DASH_DOT_LINE
Definition: vtkPen.h:152
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:266
void SetOpacityF(double a)
Set the opacity with a double, 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: vtkPen.h:242
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:277
void DeepCopy(vtkPen *pen)
Make a deep copy of the supplied pen.
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.
@ Color
Definition: vtkX3D.h:52
@ type
Definition: vtkX3D.h:522
@ color
Definition: vtkX3D.h:227