MaterialX 1.38.2
StbImageLoader.h
Go to the documentation of this file.
1//
2// TM & (c) 2017 Lucasfilm Entertainment Company Ltd. and Lucasfilm Ltd.
3// All rights reserved. See LICENSE.txt for license.
4//
5
6#ifndef MATERIALX_STBIMAGELOADER_H
7#define MATERIALX_STBIMAGELOADER_H
8
11
13
14namespace MaterialX
15{
16
18using StbImageLoaderPtr = std::shared_ptr<class StbImageLoader>;
19
22class MX_RENDER_API StbImageLoader : public ImageLoader
23{
24 public:
26 {
27 // Set all extensions supported by stb image
28 _extensions.insert(BMP_EXTENSION);
29 _extensions.insert(GIF_EXTENSION);
30 _extensions.insert(HDR_EXTENSION);
31 _extensions.insert(JPG_EXTENSION);
32 _extensions.insert(JPEG_EXTENSION);
33 _extensions.insert(PIC_EXTENSION);
34 _extensions.insert(PNG_EXTENSION);
35 _extensions.insert(PSD_EXTENSION);
36 _extensions.insert(TGA_EXTENSION);
37 }
38 virtual ~StbImageLoader() { }
39
41 static StbImageLoaderPtr create() { return std::make_shared<StbImageLoader>(); }
42
44 bool saveImage(const FilePath& filePath,
45 ConstImagePtr image,
46 bool verticalFlip = false) override;
47
49 ImagePtr loadImage(const FilePath& filePath) override;
50};
51
52} // namespace MaterialX
53
54#endif
shared_ptr< const Image > ConstImagePtr
A shared pointer to a const image.
Definition: Image.h:27
shared_ptr< Image > ImagePtr
A shared pointer to an image.
Definition: Image.h:24
Image handler interfaces.
std::shared_ptr< class StbImageLoader > StbImageLoaderPtr
Shared pointer to an StbImageLoader.
Definition: StbImageLoader.h:18
A generic file path, supporting both syntactic and file system operations.
Definition: File.h:28
Abstract base class for file-system image loaders.
Definition: ImageHandler.h:93
Stb image file loader.
Definition: StbImageLoader.h:23
static StbImageLoaderPtr create()
Create a new stb image loader.
Definition: StbImageLoader.h:41