Parent Directory
|
Revision Log
Replacing 2.0.1 release tag, phase 2 of 2
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_YCOCGS, /* DXT5 */ 38 DDS_COMPRESS_MAX 39 } DDS_COMPRESSION_TYPE; 40 41 typedef enum 42 { 43 DDS_SAVE_SELECTED_LAYER = 0, 44 DDS_SAVE_CUBEMAP, 45 DDS_SAVE_VOLUMEMAP, 46 DDS_SAVE_MAX 47 } DDS_SAVE_TYPE; 48 49 typedef enum 50 { 51 DDS_FORMAT_DEFAULT = 0, 52 DDS_FORMAT_RGB8, 53 DDS_FORMAT_RGBA8, 54 DDS_FORMAT_BGR8, 55 DDS_FORMAT_ABGR8, 56 DDS_FORMAT_R5G6B5, 57 DDS_FORMAT_RGBA4, 58 DDS_FORMAT_RGB5A1, 59 DDS_FORMAT_RGB10A2, 60 DDS_FORMAT_R3G3B2, 61 DDS_FORMAT_L8, 62 DDS_FORMAT_L8A8, 63 DDS_FORMAT_AEXP, 64 DDS_FORMAT_YCOCG, 65 DDS_FORMAT_MAX 66 } DDS_FORMAT_TYPE; 67 68 typedef enum 69 { 70 DDS_COLOR_DEFAULT = 0, 71 DDS_COLOR_DISTANCE, 72 DDS_COLOR_LUMINANCE, 73 DDS_COLOR_INSET_BBOX, 74 DDS_COLOR_MAX 75 } DDS_COLOR_TYPE; 76 77 #define DDS_HEADERSIZE 128 78 79 #define DDSD_CAPS 0x00000001 80 #define DDSD_HEIGHT 0x00000002 81 #define DDSD_WIDTH 0x00000004 82 #define DDSD_PITCH 0x00000008 83 #define DDSD_PIXELFORMAT 0x00001000 84 #define DDSD_MIPMAPCOUNT 0x00020000 85 #define DDSD_LINEARSIZE 0x00080000 86 #define DDSD_DEPTH 0x00800000 87 88 #define DDPF_ALPHAPIXELS 0x00000001 89 #define DDPF_FOURCC 0x00000004 90 #define DDPF_PALETTEINDEXED8 0x00000020 91 #define DDPF_RGB 0x00000040 92 #define DDPF_LUMINANCE 0x00020000 93 94 #define DDSCAPS_COMPLEX 0x00000008 95 #define DDSCAPS_TEXTURE 0x00001000 96 #define DDSCAPS_MIPMAP 0x00400000 97 98 #define DDSCAPS2_CUBEMAP 0x00000200 99 #define DDSCAPS2_CUBEMAP_POSITIVEX 0x00000400 100 #define DDSCAPS2_CUBEMAP_NEGATIVEX 0x00000800 101 #define DDSCAPS2_CUBEMAP_POSITIVEY 0x00001000 102 #define DDSCAPS2_CUBEMAP_NEGATIVEY 0x00002000 103 #define DDSCAPS2_CUBEMAP_POSITIVEZ 0x00004000 104 #define DDSCAPS2_CUBEMAP_NEGATIVEZ 0x00008000 105 #define DDSCAPS2_VOLUME 0x00200000 106 107 typedef struct __attribute__((packed)) 108 { 109 unsigned int size; 110 unsigned int flags; 111 char fourcc[4]; 112 unsigned int bpp; 113 unsigned int rmask; 114 unsigned int gmask; 115 unsigned int bmask; 116 unsigned int amask; 117 } dds_pixel_format_t; 118 119 typedef struct __attribute__((packed)) 120 { 121 unsigned int caps1; 122 unsigned int caps2; 123 unsigned int reserved[2]; 124 } dds_caps_t; 125 126 typedef struct __attribute__((packed)) 127 { 128 char magic[4]; 129 unsigned int size; 130 unsigned int flags; 131 unsigned int height; 132 unsigned int width; 133 unsigned int pitch_or_linsize; 134 unsigned int depth; 135 unsigned int num_mipmaps; 136 unsigned char reserved[4 * 11]; 137 dds_pixel_format_t pixelfmt; 138 dds_caps_t caps; 139 unsigned int reserved2; 140 } dds_header_t; 141 142 #endif
| ViewVC Help | |
| Powered by ViewVC 1.0.4 |