home *** CD-ROM | disk | FTP | other *** search
- //**********************************************************************
- // DIVE Laboratories, Inc.
- // Copyright(c) 1995
- // All rights reserved
- // FILE: TEXTURE.HPP
- //
- // DESCRIPTION
- // This file provides the function prototypes for the textureClass
- //
- // Author: M. Doucet
- //
- // Modification History:
- // 6/1/95 Created
- //
- //**********************************************************************
- #ifndef _TEXTURE_HPP
- #define _TEXTURE_HPP
-
- #include <stdio.h>
- #include "vrtypes.hpp"
-
- class texel32Class;
- class texel64Class;
- class texel128Class;
- class texel256Class;
- class texel512Class;
- class geometryClass;
-
- class textureClass {
-
- friend class geometryClass;
-
- private:
-
- void *texelStart;
- int width, height;
- int active32, active64, active128, active256, active512;
- char fileName[255];
- int displayListIndex;
- int useDisplayList;
- int components;
- int bits;
- flagType vrmlSaved;
-
- public:
-
- float xUVMult, yUVMult;
-
- int translucent;
-
- void *texels;
- void select();
- void setTransparentColor(UC4 rgba);
- void getPixel(int row, int col, UC4 rgba);
- void setPixel(int row, int col, UC4 rgba);
- void getSize(I2 size);
- void setUseDisplayList(int flag);
-
- char *getFilename();
-
- void save(char *filename,
- int numComponents,
- int colorBits,
- fileEnumType fileType=_TGA_FILE);
- void saveVrmlTo(FILE *fp, int numComponents, int tabStops=0);
-
- textureClass(char *filename, fileEnumType=_TGA_FILE);
- textureClass(int xSize, int ySize);
- ~textureClass();
-
- };
-
- #endif
-