00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkOpenGLFreeTypeTextMapper.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00029 #ifndef __vtkOpenGLFreeTypeTextMapper_h 00030 #define __vtkOpenGLFreeTypeTextMapper_h 00031 00032 #include "vtkTextMapper.h" 00033 00034 //BTX 00035 class FTFont; 00036 //ETX 00037 00038 class VTK_RENDERING_EXPORT vtkOpenGLFreeTypeTextMapper : public vtkTextMapper 00039 { 00040 public: 00041 vtkTypeRevisionMacro(vtkOpenGLFreeTypeTextMapper,vtkTextMapper); 00042 static vtkOpenGLFreeTypeTextMapper *New(); 00043 virtual void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 void RenderOverlay(vtkViewport* viewport, vtkActor2D* actor); 00047 00051 virtual void ReleaseGraphicsResources(vtkWindow *); 00052 00054 virtual void GetSize(vtkViewport* viewport, int size[2]); 00055 00056 protected: 00057 vtkOpenGLFreeTypeTextMapper(); 00058 ~vtkOpenGLFreeTypeTextMapper(); 00059 00060 vtkTimeStamp SizeBuildTime; 00061 int LastSize[2]; 00062 int LastLargestDescender; 00063 00064 private: 00065 vtkOpenGLFreeTypeTextMapper(const vtkOpenGLFreeTypeTextMapper&); // Not implemented. 00066 void operator=(const vtkOpenGLFreeTypeTextMapper&); // Not implemented. 00067 }; 00068 00069 00070 #endif 00071