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
39class VTKRENDERINGCONTEXT2D_EXPORT vtkPen : public vtkObject
40{
41public:
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
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
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
161protected:
163 ~vtkPen() override;
164
166
169 unsigned char* Color;
172
176 float Width;
177
182
183private:
184 vtkPen(const vtkPen&) = delete;
185 void operator=(const vtkPen&) = delete;
186};
187
188#endif // vtkPen_h
a simple class to control print indentation
Definition vtkIndent.h:40
abstract base class for most VTK objects
Definition vtkObject.h:63
provides a pen that draws the outlines of shapes drawn by vtkContext2D.
Definition vtkPen.h:40
~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:176
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:169
unsigned char * GetColor()
Get the color of the brush - gives a pointer to the underlying data.
Definition vtkPen.h:146
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:170
@ DASH_LINE
Definition vtkPen.h:54
@ SOLID_LINE
Definition vtkPen.h:53
@ NO_PEN
Definition vtkPen.h:52
@ DOT_LINE
Definition vtkPen.h:55
@ DASH_DOT_DOT_LINE
Definition vtkPen.h:57
@ DASH_DOT_LINE
Definition vtkPen.h:56
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:181
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.