VTFLib
A C and C++ API that, with a few simple functions, can open and save .vtf and .vmt files.
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Pages
VTFLib.h
Go to the documentation of this file.
1 /*
2  * VTFLib
3  * Copyright (C) 2005-2011 Neil Jedrzejewski & Ryan Gregg
4 
5  * This library is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later
9  * version.
10  */
11 
12 // ============================================================
13 // NOTE: This file is commented for compatibility with Doxygen.
14 // ============================================================
99 #ifndef VTFLIB_VTFLIB_H
100 #define VTFLIB_VTFLIB_H
101 
102 #include "stdafx.h"
103 #include "Error.h"
104 #include "VTFFile.h"
105 #include "VMTFile.h"
106 
107 #include <vector>
108 
109 namespace VTFLib
110 {
111  typedef std::vector<VTFLib::CVTFFile *> CImageVector;
112  typedef std::vector<VTFLib::CVMTFile *> CMaterialVector;
113 
114  extern vlBool bInitialized;
115  VTFLIB_API extern Diagnostics::CError LastError;
116 
117  extern CVTFFile *Image;
118  extern CImageVector *ImageVector;
119 
120  extern CVMTFile *Material;
121  extern CMaterialVector *MaterialVector;
122 
123  extern vlUInt uiDXTQuality;
124 
125  extern vlSingle sLuminanceWeightR;
126  extern vlSingle sLuminanceWeightG;
127  extern vlSingle sLuminanceWeightB;
128 
129  extern vlUShort uiBlueScreenMaskR;
130  extern vlUShort uiBlueScreenMaskG;
131  extern vlUShort uiBlueScreenMaskB;
132 
133  extern vlUShort uiBlueScreenClearR;
134  extern vlUShort uiBlueScreenClearG;
135  extern vlUShort uiBlueScreenClearB;
136 
137  extern vlSingle sFP16HDRKey;
138  extern vlSingle sFP16HDRShift;
139  extern vlSingle sFP16HDRGamma;
140 
141  extern vlSingle sUnsharpenRadius;
142  extern vlSingle sUnsharpenAmount;
143  extern vlSingle sUnsharpenThreshold;
144 
145  extern vlSingle sXSharpenStrength;
146  extern vlSingle sXSharpenThreshold;
147 
148  extern vlUInt uiVMTParseMode;
149 }
150 
151 #ifdef __cplusplus
152 extern "C" {
153 #endif
154 
155 typedef enum tagVTFLibOption
156 {
157  VTFLIB_DXT_QUALITY,
158 
159  VTFLIB_LUMINANCE_WEIGHT_R,
160  VTFLIB_LUMINANCE_WEIGHT_G,
161  VTFLIB_LUMINANCE_WEIGHT_B,
162 
163  VTFLIB_BLUESCREEN_MASK_R,
164  VTFLIB_BLUESCREEN_MASK_G,
165  VTFLIB_BLUESCREEN_MASK_B,
166 
167  VTFLIB_BLUESCREEN_CLEAR_R,
168  VTFLIB_BLUESCREEN_CLEAR_G,
169  VTFLIB_BLUESCREEN_CLEAR_B,
170 
171  VTFLIB_FP16_HDR_KEY,
172  VTFLIB_FP16_HDR_SHIFT,
173  VTFLIB_FP16_HDR_GAMMA,
174 
175  VTFLIB_UNSHARPEN_RADIUS,
176  VTFLIB_UNSHARPEN_AMOUNT,
177  VTFLIB_UNSHARPEN_THRESHOLD,
178 
179  VTFLIB_XSHARPEN_STRENGTH,
180  VTFLIB_XSHARPEN_THRESHOLD,
181 
182  VTFLIB_VMT_PARSE_MODE
183 } VTFLibOption;
184 
186 VTFLIB_API vlUInt vlGetVersion();
187 
189 VTFLIB_API const vlChar *vlGetVersionString();
190 
192 VTFLIB_API const vlChar *vlGetLastError();
193 
195 VTFLIB_API vlBool vlInitialize();
196 
198 VTFLIB_API vlVoid vlShutdown();
199 
201 VTFLIB_API vlBool vlGetBoolean(VTFLibOption Option);
203 VTFLIB_API vlVoid vlSetBoolean(VTFLibOption Option, vlBool bValue);
204 
206 VTFLIB_API vlInt vlGetInteger(VTFLibOption Option);
208 VTFLIB_API vlVoid vlSetInteger(VTFLibOption Option, vlInt iValue);
209 
211 VTFLIB_API vlSingle vlGetFloat(VTFLibOption Option);
213 VTFLIB_API vlVoid vlSetFloat(VTFLibOption Option, vlSingle sValue);
214 
215 #ifdef __cplusplus
216 }
217 #endif
218 
219 #endif
VTFLIB_API vlUInt vlGetVersion()
Return the VTFLib version as an integer.
Definition: VTFLib.cpp:61
char vlChar
Single signed character.
Definition: stdafx.h:51
VTFLIB_API vlVoid vlSetFloat(VTFLibOption Option, vlSingle sValue)
Set the specified option.
Definition: VTFLib.cpp:274
Header file for the VTFFile class.
unsigned int vlUInt
Unsigned integer value.
Definition: stdafx.h:56
Error handling class header.
Application framework header plus VTFLib custom data types.
void vlVoid
Void value.
Definition: stdafx.h:61
VTFLIB_API vlBool vlInitialize()
Initialisation function.
Definition: VTFLib.cpp:88
VTFLIB_API vlVoid vlSetInteger(VTFLibOption Option, vlInt iValue)
Set the specified option.
Definition: VTFLib.cpp:178
VTFLIB_API vlInt vlGetInteger(VTFLibOption Option)
Return the specified option.
Definition: VTFLib.cpp:149
VTFLIB_API vlVoid vlSetBoolean(VTFLibOption Option, vlBool bValue)
Set the specified option.
Definition: VTFLib.cpp:143
VTFLIB_API vlSingle vlGetFloat(VTFLibOption Option)
Return the specified option.
Definition: VTFLib.cpp:243
VTFLIB_API const vlChar * vlGetLastError()
Return the last error message as a string.
Definition: VTFLib.cpp:79
unsigned short vlUShort
Unsigned short floating point value.
Definition: stdafx.h:54
VTFLIB_API vlVoid vlShutdown()
Shutdown function.
Definition: VTFLib.cpp:108
signed int vlInt
Signed integer value.
Definition: stdafx.h:55
unsigned char vlBool
Boolean value 0/1.
Definition: stdafx.h:50
VTFLIB_API vlBool vlGetBoolean(VTFLibOption Option)
Return the specified option.
Definition: VTFLib.cpp:137
float vlSingle
Floating point number.
Definition: stdafx.h:59
VTFLIB_API const vlChar * vlGetVersionString()
Return the VTFLib version as a string.
Definition: VTFLib.cpp:70