|
txtmgr.h00001 /* 00002 Copyright (C) 1998 by Jorrit Tyberghein 00003 Written by Jorrit Tyberghein. 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00018 */ 00019 00020 #ifndef __IVIDEO_TXTMGR_H__ 00021 #define __IVIDEO_TXTMGR_H__ 00022 00023 #include "csutil/scf.h" 00024 00025 class Vector2; 00026 class csMatrix3; 00027 class csVector3; 00028 class csRect; 00029 00030 struct iImage; 00031 struct iTextureHandle; 00032 struct iMaterial; 00033 struct iMaterialHandle; 00034 00035 /* 00036 * Texture registration flags. During texture registration you should tell 00037 * the manager which way you're going to use the texture: whenever you're 00038 * going to use it for 2D (DrawPixmap ()), for 3D (DrawPolygon ()), whenever 00039 * the texture will be dynamically modified. 00040 */ 00042 #define CS_TEXTURE_2D 0x00000001 00043 00044 #define CS_TEXTURE_3D 0x00000002 00045 00053 #define CS_TEXTURE_DITHER 0x00000004 00054 00063 #define CS_TEXTURE_NOMIPMAPS 0x00000008 00064 00070 #define CS_TEXTURE_PROC 0x00000010 00071 00075 #define CS_TEXTURE_PROC_MIPMAP_ON_SYNC 0x00000020 00076 00081 #define CS_TEXTURE_PROC_PERSISTENT 0x00000040 00082 00095 #define CS_TEXTURE_PROC_ALONE_HINT 0x00000080 00096 00097 00098 SCF_VERSION (iTextureManager, 2, 0, 0); 00099 00110 struct iTextureManager : public iBase 00111 { 00137 virtual iTextureHandle *RegisterTexture (iImage *image, int flags) = 0; 00138 00145 virtual void PrepareTextures () = 0; 00146 00155 virtual void FreeImages () = 0; 00156 00166 virtual iMaterialHandle* RegisterMaterial (iMaterial* material) = 0; 00167 00175 virtual iMaterialHandle* RegisterMaterial (iTextureHandle* txthandle) = 0; 00176 00180 virtual void PrepareMaterials () = 0; 00181 00186 virtual void FreeMaterials () = 0; 00187 00193 virtual void ResetPalette () = 0; 00194 00201 virtual void ReserveColor (int r, int g, int b) = 0; 00202 00208 virtual int FindRGB (int r, int g, int b) = 0; 00209 00217 virtual void SetPalette () = 0; 00218 00224 virtual void SetVerbose (bool vb) = 0; 00225 00233 virtual int GetTextureFormat () = 0; 00234 }; 00235 00236 #endif // __IVIDEO_TXTMGR_H__ Generated for Crystal Space by doxygen 1.2.5 written by Dimitri van Heesch, ©1997-2000 |