VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPen.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 00031 #ifndef __vtkPen_h 00032 #define __vtkPen_h 00033 00034 #include "vtkObject.h" 00035 #include "vtkColor.h" // Needed for vtkColor4ub 00036 00037 class VTK_CHARTS_EXPORT vtkPen : public vtkObject 00038 { 00039 public: 00040 vtkTypeMacro(vtkPen, vtkObject); 00041 virtual void PrintSelf(ostream &os, vtkIndent indent); 00042 00043 static vtkPen *New(); 00044 00045 //BTX 00047 00048 enum { 00049 NO_PEN, 00050 SOLID_LINE, 00051 DASH_LINE, 00052 DOT_LINE, 00053 DASH_DOT_LINE, 00054 DASH_DOT_DOT_LINE}; 00055 //ETX 00057 00060 void SetLineType(int type); 00061 00063 int GetLineType(); 00064 00067 void SetColorF(double color[3]); 00068 00071 void SetColorF(double r, double g, double b); 00072 00075 void SetColorF(double r, double g, double b, double a); 00076 00079 void SetOpacityF(double a); 00080 00083 void SetColor(unsigned char color[3]); 00084 00087 void SetColor(unsigned char r, unsigned char g, unsigned char b); 00088 00090 00092 void SetColor(unsigned char r, unsigned char g, unsigned char b, 00093 unsigned char a); 00094 void SetColor(const vtkColor4ub &color); 00096 00099 void SetOpacity(unsigned char a); 00100 00103 void GetColorF(double color[3]); 00104 00106 void GetColor(unsigned char color[3]); 00107 00109 vtkColor4ub GetColorObject(); 00110 00113 unsigned char GetOpacity(); 00114 00116 unsigned char * GetColor() { return this->Color; } 00117 00119 00120 vtkSetMacro(Width, float); 00121 vtkGetMacro(Width, float); 00123 00125 void DeepCopy(vtkPen *pen); 00126 00127 //BTX 00128 protected: 00129 vtkPen(); 00130 ~vtkPen(); 00131 00133 00134 unsigned char* Color; 00135 vtkColor4ub PenColor; 00137 00139 float Width; 00140 00142 int LineType; 00143 00144 private: 00145 vtkPen(const vtkPen &); // Not implemented. 00146 void operator=(const vtkPen &); // Not implemented. 00147 //ETX 00148 }; 00149 00150 #endif //__vtkPen_h