MaterialX 1.38.10
Loading...
Searching...
No Matches
StbImageLoader.h
Go to the documentation of this file.
1//
2// Copyright Contributors to the MaterialX Project
3// SPDX-License-Identifier: Apache-2.0
4//
5
6#ifndef MATERIALX_STBIMAGELOADER_H
7#define MATERIALX_STBIMAGELOADER_H
8
11
13
14MATERIALX_NAMESPACE_BEGIN
15
17using StbImageLoaderPtr = std::shared_ptr<class StbImageLoader>;
18
21class MX_RENDER_API StbImageLoader : public ImageLoader
22{
23 public:
25 {
26 // Set all extensions supported by stb image
27 _extensions.insert(BMP_EXTENSION);
28 _extensions.insert(GIF_EXTENSION);
29 _extensions.insert(HDR_EXTENSION);
30 _extensions.insert(JPG_EXTENSION);
31 _extensions.insert(JPEG_EXTENSION);
32 _extensions.insert(PIC_EXTENSION);
33 _extensions.insert(PNG_EXTENSION);
34 _extensions.insert(PSD_EXTENSION);
35 _extensions.insert(TGA_EXTENSION);
36 }
37 virtual ~StbImageLoader() { }
38
40 static StbImageLoaderPtr create() { return std::make_shared<StbImageLoader>(); }
41
43 bool saveImage(const FilePath& filePath,
44 ConstImagePtr image,
45 bool verticalFlip = false) override;
46
48 ImagePtr loadImage(const FilePath& filePath) override;
49};
50
51MATERIALX_NAMESPACE_END
52
53#endif
shared_ptr< const Image > ConstImagePtr
A shared pointer to a const image.
Definition: Image.h:26
shared_ptr< Image > ImagePtr
A shared pointer to an image.
Definition: Image.h:23
Image handler interfaces.
std::shared_ptr< class StbImageLoader > StbImageLoaderPtr
Shared pointer to an StbImageLoader.
Definition: StbImageLoader.h:17
A generic file path, supporting both syntactic and file system operations.
Definition: File.h:27
Abstract base class for file-system image loaders.
Definition: ImageHandler.h:108
virtual ImagePtr loadImage(const FilePath &filePath)
Load an image from the file system.
Definition: ImageHandler.cpp:46
virtual bool saveImage(const FilePath &filePath, ConstImagePtr image, bool verticalFlip=false)
Save an image to the file system.
Definition: ImageHandler.cpp:41
Stb image file loader.
Definition: StbImageLoader.h:22
static StbImageLoaderPtr create()
Create a new stb image loader.
Definition: StbImageLoader.h:40