22
33#include < array>
44#include < cstddef>
5+ #include < filesystem>
56#include < span>
67#include < string>
8+ #include < string_view>
79#include < tuple>
810#include < utility>
911#include < variant>
@@ -263,7 +265,7 @@ class VTF {
263265
264266 explicit VTF (std::span<const std::byte> vtfData, bool parseHeaderOnly = false );
265267
266- explicit VTF (const std::string & vtfPath, bool parseHeaderOnly = false );
268+ explicit VTF (const std::filesystem::path & vtfPath, bool parseHeaderOnly = false );
267269
268270 VTF (const VTF& other);
269271
@@ -275,17 +277,17 @@ class VTF {
275277
276278 [[nodiscard]] explicit operator bool () const ;
277279
278- static bool create (std::span<const std::byte> imageData, ImageFormat format, uint16_t width, uint16_t height, const std::string & vtfPath, const CreationOptions& options);
280+ static bool create (std::span<const std::byte> imageData, ImageFormat format, uint16_t width, uint16_t height, const std::filesystem::path & vtfPath, const CreationOptions& options);
279281
280- static bool create (ImageFormat format, uint16_t width, uint16_t height, const std::string & vtfPath, const CreationOptions& options);
282+ static bool create (ImageFormat format, uint16_t width, uint16_t height, const std::filesystem::path & vtfPath, const CreationOptions& options);
281283
282284 [[nodiscard]] static VTF create (std::span<const std::byte> imageData, ImageFormat format, uint16_t width, uint16_t height, const CreationOptions& options);
283285
284286 [[nodiscard]] static VTF create (ImageFormat format, uint16_t width, uint16_t height, const CreationOptions& options);
285287
286- static bool create (const std::string & imagePath, const std::string & vtfPath, const CreationOptions& options);
288+ static bool create (const std::filesystem::path & imagePath, const std::filesystem::path & vtfPath, const CreationOptions& options);
287289
288- [[nodiscard]] static VTF create (const std::string & imagePath, const CreationOptions& options);
290+ [[nodiscard]] static VTF create (const std::filesystem::path & imagePath, const CreationOptions& options);
289291
290292 [[nodiscard]] Platform getPlatform () const ;
291293
@@ -414,7 +416,7 @@ class VTF {
414416
415417 void removeExtendedFlagsResource ();
416418
417- void setKeyValuesDataResource (const std::string& value);
419+ void setKeyValuesDataResource (std::string_view value);
418420
419421 void removeKeyValuesDataResource ();
420422
@@ -440,11 +442,11 @@ class VTF {
440442
441443 bool setImage (std::span<const std::byte> imageData_, ImageFormat format_, uint16_t width_, uint16_t height_, ImageConversion::ResizeFilter filter = ImageConversion::ResizeFilter::DEFAULT, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , uint16_t slice = 0 , float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY);
442444
443- bool setImage (const std::string & imagePath, ImageConversion::ResizeFilter filter = ImageConversion::ResizeFilter::DEFAULT, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , uint16_t slice = 0 , float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY);
445+ bool setImage (const std::filesystem::path & imagePath, ImageConversion::ResizeFilter filter = ImageConversion::ResizeFilter::DEFAULT, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , uint16_t slice = 0 , float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY);
444446
445447 [[nodiscard]] std::vector<std::byte> saveImageToFile (uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , uint16_t slice = 0 , ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ;
446448
447- bool saveImageToFile (const std::string & imagePath, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , uint16_t slice = 0 , ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ; // NOLINT(*-use-nodiscard)
449+ bool saveImageToFile (const std::filesystem::path & imagePath, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , uint16_t slice = 0 , ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ; // NOLINT(*-use-nodiscard)
448450
449451 [[nodiscard]] bool hasThumbnailData () const ;
450452
@@ -456,15 +458,15 @@ class VTF {
456458
457459 void setThumbnail (std::span<const std::byte> imageData_, ImageFormat format_, uint16_t width_, uint16_t height_, float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY);
458460
459- bool setThumbnail (const std::string & imagePath, float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY); // NOLINT(*-use-nodiscard)
461+ bool setThumbnail (const std::filesystem::path & imagePath, float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY); // NOLINT(*-use-nodiscard)
460462
461463 void computeThumbnail (ImageConversion::ResizeFilter filter = ImageConversion::ResizeFilter::DEFAULT, float quality = ImageConversion::DEFAULT_COMPRESSED_QUALITY);
462464
463465 void removeThumbnail ();
464466
465467 [[nodiscard]] std::vector<std::byte> saveThumbnailToFile (ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ;
466468
467- bool saveThumbnailToFile (const std::string & imagePath, ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ; // NOLINT(*-use-nodiscard)
469+ bool saveThumbnailToFile (const std::filesystem::path & imagePath, ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ; // NOLINT(*-use-nodiscard)
468470
469471 [[nodiscard]] bool hasFallbackData () const ;
470472
@@ -480,7 +482,7 @@ class VTF {
480482
481483 [[nodiscard]] std::vector<std::byte> saveFallbackToFile (uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ;
482484
483- bool saveFallbackToFile (const std::string & imagePath, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ; // NOLINT(*-use-nodiscard)
485+ bool saveFallbackToFile (const std::filesystem::path & imagePath, uint8_t mip = 0 , uint16_t frame = 0 , uint8_t face = 0 , ImageConversion::FileFormat fileFormat = ImageConversion::FileFormat::DEFAULT) const ; // NOLINT(*-use-nodiscard)
484486
485487 [[nodiscard]] uint8_t getConsoleMipScale () const ;
486488
@@ -492,7 +494,7 @@ class VTF {
492494
493495 [[nodiscard]] std::vector<std::byte> bake () const ;
494496
495- bool bake (const std::string & vtfPath) const ; // NOLINT(*-use-nodiscard)
497+ bool bake (const std::filesystem::path & vtfPath) const ; // NOLINT(*-use-nodiscard)
496498
497499protected:
498500 static bool createInternal (VTF& writer, CreationOptions options);
0 commit comments