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