Rendering/vtkTextMapper.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00038 #ifndef __vtkTextMapper_h
00039 #define __vtkTextMapper_h
00040
00041 #include "vtkMapper2D.h"
00042
00043 class vtkActor2D;
00044 class vtkTextProperty;
00045 class vtkViewport;
00046
00047 class VTK_RENDERING_EXPORT vtkTextMapper : public vtkMapper2D
00048 {
00049 public:
00050 vtkTypeRevisionMacro(vtkTextMapper,vtkMapper2D);
00051 void PrintSelf(ostream& os, vtkIndent indent);
00052
00054 static vtkTextMapper *New();
00055
00057
00059 virtual void GetSize(vtkViewport*, int size[2]) {size[0]=size[0];};
00060 virtual int GetWidth(vtkViewport*v);
00061 virtual int GetHeight(vtkViewport*v);
00063
00065
00067 virtual void SetInput(const char *inputString);
00068 vtkGetStringMacro(Input);
00070
00072
00073 virtual void SetTextProperty(vtkTextProperty *p);
00074 vtkGetObjectMacro(TextProperty,vtkTextProperty);
00076
00077 #ifndef VTK_REMOVE_LEGACY_CODE
00078
00079
00083 virtual void SetFontFamily(int val);
00084 virtual int GetFontFamily();
00085 void SetFontFamilyToArial() { this->SetFontFamily(VTK_ARIAL); };
00086 void SetFontFamilyToCourier() { this->SetFontFamily(VTK_COURIER);};
00087 void SetFontFamilyToTimes() { this->SetFontFamily(VTK_TIMES); };
00089 #endif
00090
00091 #ifndef VTK_REMOVE_LEGACY_CODE
00092
00093
00096 virtual void SetFontSize(int size);
00097 virtual int GetFontSize();
00099 #endif
00100
00101 #ifndef VTK_REMOVE_LEGACY_CODE
00102
00103
00106 virtual void SetBold(int val);
00107 virtual int GetBold();
00108 vtkBooleanMacro(Bold, int);
00110 #endif
00111
00112 #ifndef VTK_REMOVE_LEGACY_CODE
00113
00114
00117 virtual void SetItalic(int val);
00118 virtual int GetItalic();
00119 vtkBooleanMacro(Italic, int);
00121 #endif
00122
00123 #ifndef VTK_REMOVE_LEGACY_CODE
00124
00125
00128 virtual void SetShadow(int val);
00129 virtual int GetShadow();
00130 vtkBooleanMacro(Shadow, int);
00132 #endif
00133
00134 #ifndef VTK_REMOVE_LEGACY_CODE
00135
00136
00140 virtual void SetJustification(int val);
00141 virtual int GetJustification();
00142 void SetJustificationToLeft()
00143 { this->SetJustification(VTK_TEXT_LEFT);};
00144 void SetJustificationToCentered()
00145 { this->SetJustification(VTK_TEXT_CENTERED);};
00146 void SetJustificationToRight()
00147 { this->SetJustification(VTK_TEXT_RIGHT);};
00149 #endif
00150
00151 #ifndef VTK_REMOVE_LEGACY_CODE
00152
00153
00157 virtual void SetVerticalJustification(int val);
00158 virtual int GetVerticalJustification();
00159 void SetVerticalJustificationToBottom()
00160 {this->SetVerticalJustification(VTK_TEXT_BOTTOM);};
00161 void SetVerticalJustificationToCentered()
00162 {this->SetVerticalJustification(VTK_TEXT_CENTERED);};
00163 void SetVerticalJustificationToTop()
00164 {this->SetVerticalJustification(VTK_TEXT_TOP);};
00166 #endif
00167
00168 #ifndef VTK_REMOVE_LEGACY_CODE
00169
00170
00176 virtual void SetLineOffset(float val);
00177 virtual float GetLineOffset();
00178 virtual void SetLineSpacing(float val);
00179 virtual float GetLineSpacing();
00181 #endif
00182
00183 vtkGetMacro(NumberOfLines,int);
00184
00186 void ShallowCopy(vtkTextMapper *tm);
00187
00190 int GetNumberOfLines(const char *input);
00191
00193
00195 virtual int SetConstrainedFontSize(vtkViewport*,
00196 int targetWidth, int targetHeight);
00198
00200
00205 static int SetMultipleConstrainedFontSize(vtkViewport*,
00206 int targetWidth, int targetHeight,
00207 vtkTextMapper** mappers,
00208 int nbOfMappers,
00209 int* maxResultingSize);
00211
00213
00214 virtual int GetSystemFontSize(int size)
00215 { return size; };
00217
00218 protected:
00219 vtkTextMapper();
00220 ~vtkTextMapper();
00221
00222 char* Input;
00223 vtkTextProperty *TextProperty;
00224
00225 int LineSize;
00226 int NumberOfLines;
00227 int NumberOfLinesAllocated;
00228
00229 vtkTextMapper **TextLines;
00230
00231
00232
00233 char *NextLine(const char *input, int lineNum);
00234 void GetMultiLineSize(vtkViewport* viewport, int size[2]);
00235 void RenderOverlayMultipleLines(vtkViewport *viewport, vtkActor2D *actor);
00236
00237 private:
00238 vtkTextMapper(const vtkTextMapper&);
00239 void operator=(const vtkTextMapper&);
00240 };
00241
00242 #endif
00243