1 /// @brief Include to save DDS textures to files or memory.
2 /// @file gli/save_dds.hpp
3 
4 #pragma once
5 
6 #include "texture.hpp"
7 
8 namespace gli
9 {
10 	/// Save a texture storage_linear to a DDS file.
11 	///
12 	/// @param Texture Source texture to save
13 	/// @param Path Path for where to save the file. It must include the filaname and filename extension.
14 	/// This function ignores the filename extension in the path and save to DDS anyway but keep the requested filename extension.
15 	/// @return Returns false if the function fails to save the file.
16 	bool save_dds(texture const & Texture, char const* Path);
17 
18 	/// Save a texture storage_linear to a DDS file.
19 	///
20 	/// @param Texture Source texture to save
21 	/// @param Path Path for where to save the file. It must include the filaname and filename extension.
22 	/// This function ignores the filename extension in the path and save to DDS anyway but keep the requested filename extension.
23 	/// @return Returns false if the function fails to save the file.
24 	bool save_dds(texture const & Texture, std::string const & Path);
25 
26 	/// Save a texture storage_linear to a DDS file.
27 	///
28 	/// @param Texture Source texture to save
29 	/// @param Memory Storage for the DDS container. The function resizes the containers to fit the necessary storage_linear.
30 	/// @return Returns false if the function fails to save the file.
31 	bool save_dds(texture const & Texture, std::vector<char> & Memory);
32 }//namespace gli
33 
34 #include "./core/save_dds.inl"
35