00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkMesaTexture.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 =========================================================================*/ 00033 #ifndef __vtkMesaTexture_h 00034 #define __vtkMesaTexture_h 00035 00036 #include "vtkTexture.h" 00037 00038 class vtkWindow; 00039 class vtkMesaRenderer; 00040 class vtkRenderWindow; 00041 00042 class VTK_RENDERING_EXPORT vtkMesaTexture : public vtkTexture 00043 { 00044 public: 00045 static vtkMesaTexture *New(); 00046 vtkTypeRevisionMacro(vtkMesaTexture,vtkTexture); 00047 virtual void PrintSelf(ostream& os, vtkIndent indent); 00048 00050 void Load(vtkRenderer *ren); 00051 00056 void ReleaseGraphicsResources(vtkWindow *); 00057 00058 protected: 00059 vtkMesaTexture(); 00060 ~vtkMesaTexture(); 00061 00062 unsigned char *ResampleToPowerOfTwo(int &xsize, int &ysize, 00063 unsigned char *dptr, int bpp); 00064 00065 vtkTimeStamp LoadTime; 00066 long Index; 00067 static long GlobalIndex; 00068 vtkRenderWindow *RenderWindow; // RenderWindow used for previous render 00069 private: 00070 vtkMesaTexture(const vtkMesaTexture&); // Not implemented. 00071 void operator=(const vtkMesaTexture&); // Not implemented. 00072 }; 00073 00074 #endif