00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00023 #ifndef __vtkFreeTypeLabelRenderStrategy_h
00024 #define __vtkFreeTypeLabelRenderStrategy_h
00025
00026 #include "vtkLabelRenderStrategy.h"
00027
00028 class vtkActor2D;
00029 class vtkFreeTypeUtilities;
00030 class vtkTextMapper;
00031
00032 class VTK_RENDERING_EXPORT vtkFreeTypeLabelRenderStrategy : public vtkLabelRenderStrategy
00033 {
00034 public:
00035 void PrintSelf(ostream& os, vtkIndent indent);
00036 vtkTypeMacro(vtkFreeTypeLabelRenderStrategy, vtkLabelRenderStrategy);
00037 static vtkFreeTypeLabelRenderStrategy* New();
00038
00040
00041 virtual bool SupportsRotation()
00042 { return false; }
00044
00046
00048 virtual bool SupportsBoundedSize()
00049 { return false; }
00051
00053
00055 virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label, double bds[4])
00056 { this->Superclass::ComputeLabelBounds(tprop, label, bds); }
00057 virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label, double bds[4]);
00059
00061
00063 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label)
00064 { this->Superclass::RenderLabel(x, tprop, label); }
00065 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label, int width)
00066 { this->Superclass::RenderLabel(x, tprop, label, width); }
00067 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label);
00068 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label, int width)
00069 { this->Superclass::RenderLabel(x, tprop, label, width); }
00071
00075 virtual void ReleaseGraphicsResources(vtkWindow *window);
00076
00077 protected:
00078 vtkFreeTypeLabelRenderStrategy();
00079 ~vtkFreeTypeLabelRenderStrategy();
00080
00081 vtkFreeTypeUtilities* FreeTypeUtilities;
00082 vtkTextMapper* Mapper;
00083 vtkActor2D* Actor;
00084
00085 private:
00086 vtkFreeTypeLabelRenderStrategy(const vtkFreeTypeLabelRenderStrategy&);
00087 void operator=(const vtkFreeTypeLabelRenderStrategy&);
00088 };
00089
00090 #endif
00091