00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00027 #ifndef __vtkQtLabelRenderStrategy_h
00028 #define __vtkQtLabelRenderStrategy_h
00029
00030 #include "vtkLabelRenderStrategy.h"
00031
00032 class vtkLabelSizeCalculator;
00033 class vtkLabeledDataMapper;
00034 class vtkPlaneSource;
00035 class vtkPolyDataMapper2D;
00036 class vtkQImageToImageSource;
00037 class vtkTexture;
00038 class vtkTexturedActor2D;
00039 class vtkTextureMapToPlane;
00040
00041 class VTK_RENDERING_EXPORT vtkQtLabelRenderStrategy : public vtkLabelRenderStrategy
00042 {
00043 public:
00044 void PrintSelf(ostream& os, vtkIndent indent);
00045 vtkTypeRevisionMacro(vtkQtLabelRenderStrategy, vtkLabelRenderStrategy);
00046 static vtkQtLabelRenderStrategy* New();
00047
00048
00050
00052 virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkStdString label, double bds[4])
00053 { this->Superclass::ComputeLabelBounds(tprop, label, bds); }
00054 virtual void ComputeLabelBounds(vtkTextProperty* tprop, vtkUnicodeString label, double bds[4]);
00056
00058
00060 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label)
00061 { this->Superclass::RenderLabel(x, tprop, label); }
00062 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkStdString label, int maxWidth)
00063 { this->Superclass::RenderLabel(x, tprop, label, maxWidth); }
00064 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label);
00065 virtual void RenderLabel(int x[2], vtkTextProperty* tprop, vtkUnicodeString label, int maxWidth);
00066
00068
00070 virtual void StartFrame();
00071
00073 virtual void EndFrame();
00074
00078 virtual void ReleaseGraphicsResources(vtkWindow *window);
00079
00080 protected:
00081 vtkQtLabelRenderStrategy();
00082 ~vtkQtLabelRenderStrategy();
00083
00084
00085 class Internals;
00086 Internals* Implementation;
00087
00088
00089 vtkQImageToImageSource* QImageToImage;
00090 vtkPlaneSource* PlaneSource;
00091 vtkTextureMapToPlane* TextureMapToPlane;
00092 vtkTexture* Texture;
00093 vtkPolyDataMapper2D* Mapper;
00094 vtkTexturedActor2D* Actor;
00095 bool AntialiasText;
00096
00097 private:
00098 vtkQtLabelRenderStrategy(const vtkQtLabelRenderStrategy&);
00099 void operator=(const vtkQtLabelRenderStrategy&);
00100 };
00101
00102 #endif
00103