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 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00037 #ifndef __vtkTextProperty_h 00038 #define __vtkTextProperty_h 00039 00040 #include "vtkObject.h" 00041 00042 class VTK_RENDERING_EXPORT vtkTextProperty : public vtkObject 00043 { 00044 public: 00045 vtkTypeRevisionMacro(vtkTextProperty,vtkObject); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00050 static vtkTextProperty *New(); 00051 00053 00054 vtkSetVector3Macro(Color,float); 00055 vtkGetVectorMacro(Color,float,3); 00057 00059 00061 vtkSetMacro(Opacity,float); 00062 vtkGetMacro(Opacity,float); 00064 00066 00068 vtkSetClampMacro(FontFamily,int,VTK_ARIAL,VTK_TIMES); 00069 vtkGetMacro(FontFamily, int); 00070 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); }; 00071 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);}; 00072 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); }; 00073 char *GetFontFamilyAsString(); 00075 00077 00078 vtkSetClampMacro(FontSize,int,0,VTK_LARGE_INTEGER); 00079 vtkGetMacro(FontSize, int); 00081 00083 00084 vtkSetMacro(Bold, int); 00085 vtkGetMacro(Bold, int); 00086 vtkBooleanMacro(Bold, int); 00088 00090 00091 vtkSetMacro(Italic, int); 00092 vtkGetMacro(Italic, int); 00093 vtkBooleanMacro(Italic, int); 00095 00097 00098 vtkSetMacro(Shadow, int); 00099 vtkGetMacro(Shadow, int); 00100 vtkBooleanMacro(Shadow, int); 00102 00104 00105 vtkSetMacro(AntiAliasing, int); 00106 vtkGetMacro(AntiAliasing, int); 00107 vtkBooleanMacro(AntiAliasing, int); 00109 00111 00115 static int GetGlobalAntiAliasing(); 00116 static void SetGlobalAntiAliasing(int val); 00117 static void SetGlobalAntiAliasingToSome() 00118 { vtkTextProperty::SetGlobalAntiAliasing(VTK_TEXT_GLOBAL_ANTIALIASING_SOME); }; 00119 static void SetGlobalAntiAliasingToNone() 00120 { vtkTextProperty::SetGlobalAntiAliasing(VTK_TEXT_GLOBAL_ANTIALIASING_NONE); }; 00121 static void SetGlobalAntiAliasingToAll() 00122 { vtkTextProperty::SetGlobalAntiAliasing(VTK_TEXT_GLOBAL_ANTIALIASING_ALL); }; 00124 00126 00128 vtkSetClampMacro(Justification,int,VTK_TEXT_LEFT,VTK_TEXT_RIGHT); 00129 vtkGetMacro(Justification,int); 00130 void SetJustificationToLeft() 00131 { this->SetJustification(VTK_TEXT_LEFT);}; 00132 void SetJustificationToCentered() 00133 { this->SetJustification(VTK_TEXT_CENTERED);}; 00134 void SetJustificationToRight() 00135 { this->SetJustification(VTK_TEXT_RIGHT);}; 00136 char *GetJustificationAsString(); 00138 00140 00142 vtkSetClampMacro(VerticalJustification,int,VTK_TEXT_BOTTOM,VTK_TEXT_TOP); 00143 vtkGetMacro(VerticalJustification,int); 00144 void SetVerticalJustificationToBottom() 00145 {this->SetVerticalJustification(VTK_TEXT_BOTTOM);}; 00146 void SetVerticalJustificationToCentered() 00147 {this->SetVerticalJustification(VTK_TEXT_CENTERED);}; 00148 void SetVerticalJustificationToTop() 00149 {this->SetVerticalJustification(VTK_TEXT_TOP);}; 00150 char *GetVerticalJustificationAsString(); 00152 00154 00158 vtkSetMacro(LineOffset, float); 00159 vtkGetMacro(LineOffset, float); 00160 vtkSetMacro(LineSpacing, float); 00161 vtkGetMacro(LineSpacing, float); 00163 00165 void ShallowCopy(vtkTextProperty *tprop); 00166 00168 00170 void SetFaceFileName(const char *); 00171 vtkGetStringMacro(FaceFileName); 00173 00174 protected: 00175 vtkTextProperty(); 00176 ~vtkTextProperty(); 00177 00178 float Color[3]; 00179 float Opacity; 00180 int FontFamily; 00181 int FontSize; 00182 int Bold; 00183 int Italic; 00184 int Shadow; 00185 int AntiAliasing; 00186 int Justification; 00187 int VerticalJustification; 00188 float LineOffset; 00189 float LineSpacing; 00190 char *FaceFileName; 00191 00192 private: 00193 vtkTextProperty(const vtkTextProperty&); // Not implemented. 00194 void operator=(const vtkTextProperty&); // Not implemented. 00195 }; 00196 00197 inline char *vtkTextProperty::GetFontFamilyAsString(void) 00198 { 00199 if (this->FontFamily == VTK_ARIAL) 00200 { 00201 return (char *)"Arial"; 00202 } 00203 else if (this->FontFamily == VTK_COURIER) 00204 { 00205 return (char *)"Courier"; 00206 } 00207 else if (this->FontFamily == VTK_TIMES) 00208 { 00209 return (char *)"Times"; 00210 } 00211 return (char *)"Unknown"; 00212 } 00213 00214 inline char *vtkTextProperty::GetJustificationAsString(void) 00215 { 00216 if (this->Justification == VTK_TEXT_LEFT) 00217 { 00218 return (char *)"Left"; 00219 } 00220 else if (this->Justification == VTK_TEXT_CENTERED) 00221 { 00222 return (char *)"Centered"; 00223 } 00224 else if (this->Justification == VTK_TEXT_RIGHT) 00225 { 00226 return (char *)"Right"; 00227 } 00228 return (char *)"Unknown"; 00229 } 00230 00231 inline char *vtkTextProperty::GetVerticalJustificationAsString(void) 00232 { 00233 if (this->VerticalJustification == VTK_TEXT_BOTTOM) 00234 { 00235 return (char *)"Bottom"; 00236 } 00237 else if (this->VerticalJustification == VTK_TEXT_CENTERED) 00238 { 00239 return (char *)"Centered"; 00240 } 00241 else if (this->VerticalJustification == VTK_TEXT_TOP) 00242 { 00243 return (char *)"Top"; 00244 } 00245 return (char *)"Unknown"; 00246 } 00247 00248 #endif