Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Rendering/vtkTextProperty.h

Go to the documentation of this file.
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkTextProperty.h,v $ 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 =========================================================================*/ 00033 #ifndef __vtkTextProperty_h 00034 #define __vtkTextProperty_h 00035 00036 #include "vtkObject.h" 00037 00038 class VTK_RENDERING_EXPORT vtkTextProperty : public vtkObject 00039 { 00040 public: 00041 vtkTypeRevisionMacro(vtkTextProperty,vtkObject); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00046 static vtkTextProperty *New(); 00047 00049 00050 vtkSetVector3Macro(Color,double); 00051 vtkGetVectorMacro(Color,double,3); 00053 00055 00057 vtkSetMacro(Opacity,double); 00058 vtkGetMacro(Opacity,double); 00060 00062 00064 vtkSetClampMacro(FontFamily,int,VTK_ARIAL,VTK_TIMES); 00065 vtkGetMacro(FontFamily, int); 00066 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); }; 00067 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);}; 00068 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); }; 00069 char *GetFontFamilyAsString(); 00071 00073 00074 vtkSetClampMacro(FontSize,int,0,VTK_LARGE_INTEGER); 00075 vtkGetMacro(FontSize, int); 00077 00079 00080 vtkSetMacro(Bold, int); 00081 vtkGetMacro(Bold, int); 00082 vtkBooleanMacro(Bold, int); 00084 00086 00087 vtkSetMacro(Italic, int); 00088 vtkGetMacro(Italic, int); 00089 vtkBooleanMacro(Italic, int); 00091 00093 00094 vtkSetMacro(Shadow, int); 00095 vtkGetMacro(Shadow, int); 00096 vtkBooleanMacro(Shadow, int); 00098 00100 00101 vtkSetMacro(AntiAliasing, int); 00102 vtkGetMacro(AntiAliasing, int); 00103 vtkBooleanMacro(AntiAliasing, int); 00105 00107 00111 static int GetGlobalAntiAliasing(); 00112 static void SetGlobalAntiAliasing(int val); 00113 static void SetGlobalAntiAliasingToSome() 00114 { vtkTextProperty::SetGlobalAntiAliasing(VTK_TEXT_GLOBAL_ANTIALIASING_SOME); }; 00115 static void SetGlobalAntiAliasingToNone() 00116 { vtkTextProperty::SetGlobalAntiAliasing(VTK_TEXT_GLOBAL_ANTIALIASING_NONE); }; 00117 static void SetGlobalAntiAliasingToAll() 00118 { vtkTextProperty::SetGlobalAntiAliasing(VTK_TEXT_GLOBAL_ANTIALIASING_ALL); }; 00120 00122 00124 vtkSetClampMacro(Justification,int,VTK_TEXT_LEFT,VTK_TEXT_RIGHT); 00125 vtkGetMacro(Justification,int); 00126 void SetJustificationToLeft() 00127 { this->SetJustification(VTK_TEXT_LEFT);}; 00128 void SetJustificationToCentered() 00129 { this->SetJustification(VTK_TEXT_CENTERED);}; 00130 void SetJustificationToRight() 00131 { this->SetJustification(VTK_TEXT_RIGHT);}; 00132 char *GetJustificationAsString(); 00134 00136 00138 vtkSetClampMacro(VerticalJustification,int,VTK_TEXT_BOTTOM,VTK_TEXT_TOP); 00139 vtkGetMacro(VerticalJustification,int); 00140 void SetVerticalJustificationToBottom() 00141 {this->SetVerticalJustification(VTK_TEXT_BOTTOM);}; 00142 void SetVerticalJustificationToCentered() 00143 {this->SetVerticalJustification(VTK_TEXT_CENTERED);}; 00144 void SetVerticalJustificationToTop() 00145 {this->SetVerticalJustification(VTK_TEXT_TOP);}; 00146 char *GetVerticalJustificationAsString(); 00148 00150 00154 vtkSetMacro(LineOffset, double); 00155 vtkGetMacro(LineOffset, double); 00156 vtkSetMacro(LineSpacing, double); 00157 vtkGetMacro(LineSpacing, double); 00159 00161 void ShallowCopy(vtkTextProperty *tprop); 00162 00164 00166 void SetFaceFileName(const char *); 00167 vtkGetStringMacro(FaceFileName); 00169 00170 protected: 00171 vtkTextProperty(); 00172 ~vtkTextProperty(); 00173 00174 double Color[3]; 00175 double Opacity; 00176 int FontFamily; 00177 int FontSize; 00178 int Bold; 00179 int Italic; 00180 int Shadow; 00181 int AntiAliasing; 00182 int Justification; 00183 int VerticalJustification; 00184 double LineOffset; 00185 double LineSpacing; 00186 char *FaceFileName; 00187 00188 private: 00189 vtkTextProperty(const vtkTextProperty&); // Not implemented. 00190 void operator=(const vtkTextProperty&); // Not implemented. 00191 }; 00192 00193 inline char *vtkTextProperty::GetFontFamilyAsString(void) 00194 { 00195 if (this->FontFamily == VTK_ARIAL) 00196 { 00197 return (char *)"Arial"; 00198 } 00199 else if (this->FontFamily == VTK_COURIER) 00200 { 00201 return (char *)"Courier"; 00202 } 00203 else if (this->FontFamily == VTK_TIMES) 00204 { 00205 return (char *)"Times"; 00206 } 00207 return (char *)"Unknown"; 00208 } 00209 00210 inline char *vtkTextProperty::GetJustificationAsString(void) 00211 { 00212 if (this->Justification == VTK_TEXT_LEFT) 00213 { 00214 return (char *)"Left"; 00215 } 00216 else if (this->Justification == VTK_TEXT_CENTERED) 00217 { 00218 return (char *)"Centered"; 00219 } 00220 else if (this->Justification == VTK_TEXT_RIGHT) 00221 { 00222 return (char *)"Right"; 00223 } 00224 return (char *)"Unknown"; 00225 } 00226 00227 inline char *vtkTextProperty::GetVerticalJustificationAsString(void) 00228 { 00229 if (this->VerticalJustification == VTK_TEXT_BOTTOM) 00230 { 00231 return (char *)"Bottom"; 00232 } 00233 else if (this->VerticalJustification == VTK_TEXT_CENTERED) 00234 { 00235 return (char *)"Centered"; 00236 } 00237 else if (this->VerticalJustification == VTK_TEXT_TOP) 00238 { 00239 return (char *)"Top"; 00240 } 00241 return (char *)"Unknown"; 00242 } 00243 00244 #endif