00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00034
#ifndef __vtkTextMapper_h
00035
#define __vtkTextMapper_h
00036
00037
#include "vtkMapper2D.h"
00038
00039
class vtkActor2D;
00040
class vtkTextProperty;
00041
class vtkViewport;
00042
00043 class VTK_RENDERING_EXPORT vtkTextMapper :
public vtkMapper2D
00044 {
00045
public:
00046 vtkTypeRevisionMacro(vtkTextMapper,
vtkMapper2D);
00047
void PrintSelf(ostream& os,
vtkIndent indent);
00048
00050
static vtkTextMapper *
New();
00051
00053
00055 virtual void GetSize(
vtkViewport*,
int size[2]) {size[0]=size[0];};
00056
virtual int GetWidth(
vtkViewport*v);
00057
virtual int GetHeight(
vtkViewport*v);
00059
00061
00063
virtual void SetInput(
const char *inputString);
00064 vtkGetStringMacro(Input);
00066
00068
00069
virtual void SetTextProperty(
vtkTextProperty *p);
00070 vtkGetObjectMacro(TextProperty,
vtkTextProperty);
00072
00073 vtkGetMacro(NumberOfLines,
int);
00074
00076
void ShallowCopy(vtkTextMapper *tm);
00077
00080
int GetNumberOfLines(
const char *input);
00081
00083
00085
virtual int SetConstrainedFontSize(
vtkViewport*,
00086
int targetWidth,
int targetHeight);
00088
00090
00095
static int SetMultipleConstrainedFontSize(
vtkViewport*,
00096
int targetWidth,
int targetHeight,
00097 vtkTextMapper** mappers,
00098
int nbOfMappers,
00099
int* maxResultingSize);
00101
00103
00104 virtual int GetSystemFontSize(
int size)
00105 {
return size; };
00107
00108
protected:
00109 vtkTextMapper();
00110 ~vtkTextMapper();
00111
00112 char* Input;
00113 vtkTextProperty *TextProperty;
00114
00115 int LineSize;
00116 int NumberOfLines;
00117 int NumberOfLinesAllocated;
00118
00119 vtkTextMapper **TextLines;
00120
00121
00122
00123
char *NextLine(
const char *input,
int lineNum);
00124
void GetMultiLineSize(
vtkViewport* viewport,
int size[2]);
00125
void RenderOverlayMultipleLines(
vtkViewport *viewport,
vtkActor2D *actor);
00126
00127
private:
00128 vtkTextMapper(
const vtkTextMapper&);
00129
void operator=(
const vtkTextMapper&);
00130 };
00131
00132
#endif
00133