Parent Directory
|
Revision Log
I think i got it this time... Create release 2.0 tag.
1 /* 2 DDS GIMP plugin 3 4 Copyright (C) 2004 Shawn Kirst <skirst@fuse.net>, 5 with parts (C) 2003 Arne Reuter <homepage@arnereuter.de> where specified. 6 7 This program is free software; you can redistribute it and/or 8 modify it under the terms of the GNU General Public 9 License as published by the Free Software Foundation; either 10 version 2 of the License, or (at your option) any later version. 11 12 This program is distributed in the hope that it will be useful, 13 but WITHOUT ANY WARRANTY; without even the implied warranty of 14 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 15 General Public License for more details. 16 17 You should have received a copy of the GNU General Public License 18 along with this program; see the file COPYING. If not, write to 19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, 20 Boston, MA 02111-1307, USA. 21 */ 22 23 #ifndef DDS_H 24 #define DDS_H 25 26 typedef enum 27 { 28 DDS_COMPRESS_NONE = 0, 29 DDS_COMPRESS_BC1, /* DXT1 */ 30 DDS_COMPRESS_BC2, /* DXT3 */ 31 DDS_COMPRESS_BC3, /* DXT5 */ 32 DDS_COMPRESS_BC3N, /* DXT5n */ 33 DDS_COMPRESS_BC4, /* ATI1 */ 34 DDS_COMPRESS_BC5, /* ATI2 */ 35 DDS_COMPRESS_AEXP, /* DXT5 */ 36 DDS_COMPRESS_YCOCG, /* DXT5 */ 37 DDS_COMPRESS_MAX 38 } DDS_COMPRESSION_TYPE; 39 40 typedef enum 41 { 42 DDS_SAVE_SELECTED_LAYER = 0, 43 DDS_SAVE_CUBEMAP, 44 DDS_SAVE_VOLUMEMAP, 45 DDS_SAVE_MAX 46 } DDS_SAVE_TYPE; 47 48 typedef enum 49 { 50 DDS_FORMAT_DEFAULT = 0, 51 DDS_FORMAT_RGB8, 52 DDS_FORMAT_RGBA8, 53 DDS_FORMAT_BGR8, 54 DDS_FORMAT_ABGR8, 55 DDS_FORMAT_R5G6B5, 56 DDS_FORMAT_RGBA4, 57 DDS_FORMAT_RGB5A1, 58 DDS_FORMAT_RGB10A2, 59 DDS_FORMAT_R3G3B2, 60 DDS_FORMAT_L8, 61 DDS_FORMAT_L8A8, 62 DDS_FORMAT_AEXP, 63 DDS_FORMAT_YCOCG, 64 DDS_FORMAT_MAX 65 } DDS_FORMAT_TYPE; 66 67 typedef enum 68 { 69 DDS_COLOR_DEFAULT = 0, 70 DDS_COLOR_DISTANCE, 71 DDS_COLOR_LUMINANCE, 72 DDS_COLOR_INSET_BBOX, 73 DDS_COLOR_MAX 74 } DDS_COLOR_TYPE; 75 76 #define DDS_HEADERSIZE 128 77 78 #define DDSD_CAPS 0x00000001 79 #define DDSD_HEIGHT 0x00000002 80 #define DDSD_WIDTH 0x00000004 81 #define DDSD_PITCH 0x00000008 82 #define DDSD_PIXELFORMAT 0x00001000 83 #define DDSD_MIPMAPCOUNT 0x00020000 84 #define DDSD_LINEARSIZE 0x00080000 85 #define DDSD_DEPTH 0x00800000 86 87 #define DDPF_ALPHAPIXELS 0x00000001 88 #define DDPF_FOURCC 0x00000004 89 #define DDPF_PALETTEINDEXED8 0x00000020 90 #define DDPF_RGB 0x00000040 91 #define DDPF_LUMINANCE 0x00020000 92 93 #define DDSCAPS_COMPLEX 0x00000008 94 #define DDSCAPS_TEXTURE 0x00001000 95 #define DDSCAPS_MIPMAP 0x00400000 96 97 #define DDSCAPS2_CUBEMAP 0x00000200 98 #define DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400 99 #define DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800 100 #define DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000 101 #define DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000 102 #define DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000 103 #define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000 104 #define DDSCAPS2_VOLUME 0x00200000 105 106 typedef struct __attribute__((packed)) 107 { 108 unsigned int size; 109 unsigned int flags; 110 char fourcc[4]; 111 unsigned int bpp; 112 unsigned int rmask; 113 unsigned int gmask; 114 unsigned int bmask; 115 unsigned int amask; 116 } dds_pixel_format_t; 117 118 typedef struct __attribute__((packed)) 119 { 120 unsigned int caps1; 121 unsigned int caps2; 122 unsigned int reserved[2]; 123 } dds_caps_t; 124 125 typedef struct __attribute__((packed)) 126 { 127 char magic[4]; 128 unsigned int size; 129 unsigned int flags; 130 unsigned int height; 131 unsigned int width; 132 unsigned int pitch_or_linsize; 133 unsigned int depth; 134 unsigned int num_mipmaps; 135 unsigned char reserved[4 * 11]; 136 dds_pixel_format_t pixelfmt; 137 dds_caps_t caps; 138 unsigned int reserved2; 139 } dds_header_t; 140 141 #endif
| ViewVC Help | |
| Powered by ViewVC 1.0.4 |