• Skip to content
  • Skip to link menu
  • KDE API Reference
  • kdelibs-4.14.38 API Reference
  • KDE Home
  • Contact Us
 

KImgIO

  • kimgio
Macros | Typedefs | Enumerations | Functions | Variables
dds.cpp File Reference
#include "dds.h"
#include <QtCore/QStringList>
#include <QtGui/QImage>
#include <QtCore/QDataStream>
#include <kdebug.h>
#include <math.h>

Go to the source code of this file.

Macros

#define CUBE_LAYOUT   HORIZONTAL
 
#define HORIZONTAL   1
 
#define MAKEFOURCC(ch0, ch1, ch2, ch3)
 
#define sqrtf(x)   ((float)sqrt(x))
 
#define VERTICAL   2
 

Typedefs

typedef bool(* TextureLoader) (QDataStream &s, const DDSHeader &header, QImage &img)
 
typedef quint8 uchar
 
typedef quint32 uint
 
typedef quint16 ushort
 

Enumerations

enum  DDSType {
  DDS_A8R8G8B8 = 0 , DDS_A1R5G5B5 = 1 , DDS_A4R4G4B4 = 2 , DDS_R8G8B8 = 3 ,
  DDS_R5G6B5 = 4 , DDS_DXT1 = 5 , DDS_DXT2 = 6 , DDS_DXT3 = 7 ,
  DDS_DXT4 = 8 , DDS_DXT5 = 9 , DDS_RXGB = 10 , DDS_ATI2 = 11 ,
  DDS_UNKNOWN
}
 

Functions

static int FaceOffset (const DDSHeader &header)
 
static TextureLoader GetTextureLoader (DDSType type)
 
static DDSType GetType (const DDSHeader &header)
 
static bool HasAlpha (const DDSHeader &header)
 
static bool IsCubeMap (const DDSHeader &header)
 
static bool IsSupported (const DDSHeader &header)
 
static bool IsValid (const DDSHeader &header)
 
static bool LoadA1R5G5B5 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadA4R4G4B4 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadA8R8G8B8 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadATI2 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadCubeMap (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadDXT1 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadDXT2 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadDXT3 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadDXT4 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadDXT5 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadR5G6B5 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadR8G8B8 (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadRXGB (QDataStream &s, const DDSHeader &header, QImage &img)
 
static bool LoadTexture (QDataStream &s, const DDSHeader &header, QImage &img)
 
static QDataStream & operator>> (QDataStream &s, BlockDXT &c)
 
static QDataStream & operator>> (QDataStream &s, BlockDXTAlphaExplicit &c)
 
static QDataStream & operator>> (QDataStream &s, BlockDXTAlphaLinear &c)
 
static QDataStream & operator>> (QDataStream &s, Color565 &c)
 
static QDataStream & operator>> (QDataStream &s, DDSCaps &caps)
 
static QDataStream & operator>> (QDataStream &s, DDSHeader &header)
 
static QDataStream & operator>> (QDataStream &s, DDSPixelFormat &pf)
 

Variables

static const uint DDPF_ALPHAPIXELS = 0x00000001l
 
static const uint DDPF_FOURCC = 0x00000004l
 
static const uint DDPF_RGB = 0x00000040l
 
static const uint DDSCAPS2_CUBEMAP = 0x00000200l
 
static const uint DDSCAPS2_CUBEMAP_NEGATIVEX = 0x00000800l
 
static const uint DDSCAPS2_CUBEMAP_NEGATIVEY = 0x00002000l
 
static const uint DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x00008000l
 
static const uint DDSCAPS2_CUBEMAP_POSITIVEX = 0x00000400l
 
static const uint DDSCAPS2_CUBEMAP_POSITIVEY = 0x00001000l
 
static const uint DDSCAPS2_CUBEMAP_POSITIVEZ = 0x00004000l
 
static const uint DDSCAPS2_VOLUME = 0x00200000l
 
static const uint DDSCAPS_TEXTURE = 0x00001000l
 
static const uint DDSD_CAPS = 0x00000001l
 
static const uint DDSD_HEIGHT = 0x00000002l
 
static const uint DDSD_PITCH = 0x00000008l
 
static const uint DDSD_PIXELFORMAT = 0x00001000l
 
static const uint DDSD_WIDTH = 0x00000004l
 
static int face_flags [6]
 
static int face_offset [6][2] = { {2, 1}, {0, 1}, {1, 0}, {1, 2}, {1, 1}, {3, 1} }
 
static const uint FOURCC_ATI2 = MAKEFOURCC('A', 'T', 'I', '2')
 
static const uint FOURCC_DDS = MAKEFOURCC('D', 'D', 'S', ' ')
 
static const uint FOURCC_DXT1 = MAKEFOURCC('D', 'X', 'T', '1')
 
static const uint FOURCC_DXT2 = MAKEFOURCC('D', 'X', 'T', '2')
 
static const uint FOURCC_DXT3 = MAKEFOURCC('D', 'X', 'T', '3')
 
static const uint FOURCC_DXT4 = MAKEFOURCC('D', 'X', 'T', '4')
 
static const uint FOURCC_DXT5 = MAKEFOURCC('D', 'X', 'T', '5')
 
static const uint FOURCC_RXGB = MAKEFOURCC('R', 'X', 'G', 'B')
 

Macro Definition Documentation

◆ CUBE_LAYOUT

#define CUBE_LAYOUT   HORIZONTAL

Definition at line 48 of file dds.cpp.

◆ HORIZONTAL

#define HORIZONTAL   1

Definition at line 46 of file dds.cpp.

◆ MAKEFOURCC

#define MAKEFOURCC (   ch0,
  ch1,
  ch2,
  ch3 
)
Value:
(uint(uchar(ch0)) | (uint(uchar(ch1)) << 8) | \
(uint(uchar(ch2)) << 16) | (uint(uchar(ch3)) << 24 ))
uchar
quint8 uchar
Definition: dds.cpp:38
uint
quint32 uint
Definition: dds.cpp:36

Definition at line 41 of file dds.cpp.

◆ sqrtf

#define sqrtf (   x)    ((float)sqrt(x))

Definition at line 33 of file dds.cpp.

◆ VERTICAL

#define VERTICAL   2

Definition at line 47 of file dds.cpp.

Typedef Documentation

◆ TextureLoader

typedef bool(* TextureLoader) (QDataStream &s, const DDSHeader &header, QImage &img)

Definition at line 769 of file dds.cpp.

◆ uchar

typedef quint8 uchar

Definition at line 38 of file dds.cpp.

◆ uint

typedef quint32 uint

Definition at line 36 of file dds.cpp.

◆ ushort

typedef quint16 ushort

Definition at line 37 of file dds.cpp.

Enumeration Type Documentation

◆ DDSType

enum DDSType
Enumerator
DDS_A8R8G8B8 
DDS_A1R5G5B5 
DDS_A4R4G4B4 
DDS_R8G8B8 
DDS_R5G6B5 
DDS_DXT1 
DDS_DXT2 
DDS_DXT3 
DDS_DXT4 
DDS_DXT5 
DDS_RXGB 
DDS_ATI2 
DDS_UNKNOWN 

Definition at line 116 of file dds.cpp.

Function Documentation

◆ FaceOffset()

static int FaceOffset ( const DDSHeader &  header)
static

Definition at line 827 of file dds.cpp.

◆ GetTextureLoader()

static TextureLoader GetTextureLoader ( DDSType  type)
static

Definition at line 772 of file dds.cpp.

◆ GetType()

static DDSType GetType ( const DDSHeader &  header)
static

Definition at line 225 of file dds.cpp.

◆ HasAlpha()

static bool HasAlpha ( const DDSHeader &  header)
static

Definition at line 266 of file dds.cpp.

◆ IsCubeMap()

static bool IsCubeMap ( const DDSHeader &  header)
static

Definition at line 271 of file dds.cpp.

◆ IsSupported()

static bool IsSupported ( const DDSHeader &  header)
static

Definition at line 276 of file dds.cpp.

◆ IsValid()

static bool IsValid ( const DDSHeader &  header)
static

Definition at line 205 of file dds.cpp.

◆ LoadA1R5G5B5()

static bool LoadA1R5G5B5 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 321 of file dds.cpp.

◆ LoadA4R4G4B4()

static bool LoadA4R4G4B4 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 342 of file dds.cpp.

◆ LoadA8R8G8B8()

static bool LoadA8R8G8B8 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 287 of file dds.cpp.

◆ LoadATI2()

static bool LoadATI2 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 713 of file dds.cpp.

◆ LoadCubeMap()

static bool LoadCubeMap ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 873 of file dds.cpp.

◆ LoadDXT1()

static bool LoadDXT1 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 518 of file dds.cpp.

◆ LoadDXT2()

static bool LoadDXT2 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 602 of file dds.cpp.

◆ LoadDXT3()

static bool LoadDXT3 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 557 of file dds.cpp.

◆ LoadDXT4()

static bool LoadDXT4 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 657 of file dds.cpp.

◆ LoadDXT5()

static bool LoadDXT5 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 609 of file dds.cpp.

◆ LoadR5G6B5()

static bool LoadR5G6B5 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 363 of file dds.cpp.

◆ LoadR8G8B8()

static bool LoadR8G8B8 ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 304 of file dds.cpp.

◆ LoadRXGB()

static bool LoadRXGB ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 664 of file dds.cpp.

◆ LoadTexture()

static bool LoadTexture ( QDataStream &  s,
const DDSHeader &  header,
QImage &  img 
)
static

Definition at line 805 of file dds.cpp.

◆ operator>>() [1/7]

static QDataStream & operator>> ( QDataStream &  s,
BlockDXT &  c 
)
static

Definition at line 436 of file dds.cpp.

◆ operator>>() [2/7]

static QDataStream & operator>> ( QDataStream &  s,
BlockDXTAlphaExplicit &  c 
)
static

Definition at line 445 of file dds.cpp.

◆ operator>>() [3/7]

static QDataStream & operator>> ( QDataStream &  s,
BlockDXTAlphaLinear &  c 
)
static

Definition at line 512 of file dds.cpp.

◆ operator>>() [4/7]

static QDataStream & operator>> ( QDataStream &  s,
Color565 &  c 
)
static

Definition at line 383 of file dds.cpp.

◆ operator>>() [5/7]

static QDataStream & operator>> ( QDataStream &  s,
DDSCaps &  caps 
)
static

Definition at line 164 of file dds.cpp.

◆ operator>>() [6/7]

static QDataStream & operator>> ( QDataStream &  s,
DDSHeader &  header 
)
static

Definition at line 187 of file dds.cpp.

◆ operator>>() [7/7]

static QDataStream & operator>> ( QDataStream &  s,
DDSPixelFormat &  pf 
)
static

Definition at line 144 of file dds.cpp.

Variable Documentation

◆ DDPF_ALPHAPIXELS

const uint DDPF_ALPHAPIXELS = 0x00000001l
static

Definition at line 114 of file dds.cpp.

◆ DDPF_FOURCC

const uint DDPF_FOURCC = 0x00000004l
static

Definition at line 113 of file dds.cpp.

◆ DDPF_RGB

const uint DDPF_RGB = 0x00000040l
static

Definition at line 112 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP

const uint DDSCAPS2_CUBEMAP = 0x00000200l
static

Definition at line 103 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP_NEGATIVEX

const uint DDSCAPS2_CUBEMAP_NEGATIVEX = 0x00000800l
static

Definition at line 106 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP_NEGATIVEY

const uint DDSCAPS2_CUBEMAP_NEGATIVEY = 0x00002000l
static

Definition at line 108 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP_NEGATIVEZ

const uint DDSCAPS2_CUBEMAP_NEGATIVEZ = 0x00008000l
static

Definition at line 110 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP_POSITIVEX

const uint DDSCAPS2_CUBEMAP_POSITIVEX = 0x00000400l
static

Definition at line 105 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP_POSITIVEY

const uint DDSCAPS2_CUBEMAP_POSITIVEY = 0x00001000l
static

Definition at line 107 of file dds.cpp.

◆ DDSCAPS2_CUBEMAP_POSITIVEZ

const uint DDSCAPS2_CUBEMAP_POSITIVEZ = 0x00004000l
static

Definition at line 109 of file dds.cpp.

◆ DDSCAPS2_VOLUME

const uint DDSCAPS2_VOLUME = 0x00200000l
static

Definition at line 102 of file dds.cpp.

◆ DDSCAPS_TEXTURE

const uint DDSCAPS_TEXTURE = 0x00001000l
static

Definition at line 101 of file dds.cpp.

◆ DDSD_CAPS

const uint DDSD_CAPS = 0x00000001l
static

Definition at line 95 of file dds.cpp.

◆ DDSD_HEIGHT

const uint DDSD_HEIGHT = 0x00000002l
static

Definition at line 98 of file dds.cpp.

◆ DDSD_PITCH

const uint DDSD_PITCH = 0x00000008l
static

Definition at line 99 of file dds.cpp.

◆ DDSD_PIXELFORMAT

const uint DDSD_PIXELFORMAT = 0x00001000l
static

Definition at line 96 of file dds.cpp.

◆ DDSD_WIDTH

const uint DDSD_WIDTH = 0x00000004l
static

Definition at line 97 of file dds.cpp.

◆ face_flags

int face_flags[6]
static
Initial value:
= {
DDSCAPS2_CUBEMAP_POSITIVEX,
DDSCAPS2_CUBEMAP_NEGATIVEX,
DDSCAPS2_CUBEMAP_POSITIVEY,
DDSCAPS2_CUBEMAP_NEGATIVEY,
DDSCAPS2_CUBEMAP_POSITIVEZ,
DDSCAPS2_CUBEMAP_NEGATIVEZ
}
DDSCAPS2_CUBEMAP_POSITIVEX
static const uint DDSCAPS2_CUBEMAP_POSITIVEX
Definition: dds.cpp:105
DDSCAPS2_CUBEMAP_POSITIVEY
static const uint DDSCAPS2_CUBEMAP_POSITIVEY
Definition: dds.cpp:107
DDSCAPS2_CUBEMAP_NEGATIVEX
static const uint DDSCAPS2_CUBEMAP_NEGATIVEX
Definition: dds.cpp:106
DDSCAPS2_CUBEMAP_POSITIVEZ
static const uint DDSCAPS2_CUBEMAP_POSITIVEZ
Definition: dds.cpp:109
DDSCAPS2_CUBEMAP_NEGATIVEZ
static const uint DDSCAPS2_CUBEMAP_NEGATIVEZ
Definition: dds.cpp:110
DDSCAPS2_CUBEMAP_NEGATIVEY
static const uint DDSCAPS2_CUBEMAP_NEGATIVEY
Definition: dds.cpp:108

Definition at line 863 of file dds.cpp.

◆ face_offset

int face_offset[6][2] = { {2, 1}, {0, 1}, {1, 0}, {1, 2}, {1, 1}, {3, 1} }
static

Definition at line 859 of file dds.cpp.

◆ FOURCC_ATI2

const uint FOURCC_ATI2 = MAKEFOURCC('A', 'T', 'I', '2')
static

Definition at line 93 of file dds.cpp.

◆ FOURCC_DDS

const uint FOURCC_DDS = MAKEFOURCC('D', 'D', 'S', ' ')
static

Definition at line 86 of file dds.cpp.

◆ FOURCC_DXT1

const uint FOURCC_DXT1 = MAKEFOURCC('D', 'X', 'T', '1')
static

Definition at line 87 of file dds.cpp.

◆ FOURCC_DXT2

const uint FOURCC_DXT2 = MAKEFOURCC('D', 'X', 'T', '2')
static

Definition at line 88 of file dds.cpp.

◆ FOURCC_DXT3

const uint FOURCC_DXT3 = MAKEFOURCC('D', 'X', 'T', '3')
static

Definition at line 89 of file dds.cpp.

◆ FOURCC_DXT4

const uint FOURCC_DXT4 = MAKEFOURCC('D', 'X', 'T', '4')
static

Definition at line 90 of file dds.cpp.

◆ FOURCC_DXT5

const uint FOURCC_DXT5 = MAKEFOURCC('D', 'X', 'T', '5')
static

Definition at line 91 of file dds.cpp.

◆ FOURCC_RXGB

const uint FOURCC_RXGB = MAKEFOURCC('R', 'X', 'G', 'B')
static

Definition at line 92 of file dds.cpp.

This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KImgIO

Skip menu "KImgIO"
  • Main Page
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdelibs-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver
Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal