VTK  9.2.6
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 
32 #ifndef vtkPen_h
33 #define vtkPen_h
34 
35 #include "vtkColor.h" // Needed for vtkColor4ub
36 #include "vtkObject.h"
37 #include "vtkRenderingContext2DModule.h" // For export macro
38 
39 class VTKRENDERINGCONTEXT2D_EXPORT vtkPen : public vtkObject
40 {
41 public:
42  vtkTypeMacro(vtkPen, vtkObject);
43  void PrintSelf(ostream& os, vtkIndent indent) override;
44 
45  static vtkPen* New();
46 
50  enum
51  {
58  DENSE_DOT_LINE
59  };
60 
64  void SetLineType(int type);
65 
69  int GetLineType();
70 
75  void SetColorF(double color[3]);
76 
81  void SetColorF(double r, double g, double b);
82 
87  void SetColorF(double r, double g, double b, double a);
88 
93  void SetOpacityF(double a);
94 
99  void SetColor(unsigned char color[3]);
100 
105  void SetColor(unsigned char r, unsigned char g, unsigned char b);
106 
108 
112  void SetColor(unsigned char r, unsigned char g, unsigned char b, unsigned char a);
113  void SetColor(const vtkColor4ub& color);
115 
120  void SetOpacity(unsigned char a);
121 
125  void GetColorF(double color[3]);
126 
130  void GetColor(unsigned char color[3]);
131 
135  vtkColor4ub GetColorObject();
136 
141  unsigned char GetOpacity();
142 
146  unsigned char* GetColor() { return this->Color; }
147 
149 
152  vtkSetMacro(Width, float);
153  vtkGetMacro(Width, float);
155 
159  void DeepCopy(vtkPen* pen);
160 
161 protected:
162  vtkPen();
163  ~vtkPen() override;
164 
166 
169  unsigned char* Color;
172 
176  float Width;
177 
181  int LineType;
182 
183 private:
184  vtkPen(const vtkPen&) = delete;
185  void operator=(const vtkPen&) = delete;
186 };
187 
188 #endif // vtkPen_h
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.
float Width
Store the width of the pen in pixels.
Definition: vtkPen.h:176
unsigned char * GetColor()
Get the color of the brush - gives a pointer to the underlying data.
Definition: vtkPen.h:146
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkColor4ub PenColor
Storage of the color in RGBA format (0-255 per channel).
Definition: vtkPen.h:170
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Definition: vtkPen.h:39
unsigned char * Color
Storage of the color in RGBA format (0-255 per channel).
Definition: vtkPen.h:169
int LineType
The type of line to be drawn with this pen.
Definition: vtkPen.h:181
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...