dox/Rendering/vtkTextProperty.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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&);
00194 void operator=(const vtkTextProperty&);
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