diff options
author | crupest <crupest@outlook.com> | 2022-01-30 20:40:59 +0800 |
---|---|---|
committer | crupest <crupest@outlook.com> | 2022-01-30 20:40:59 +0800 |
commit | c1f8ea13524f398f8d1720e5f03a17dd66352ebf (patch) | |
tree | 0e27ed132cd82d1a690aa9534df38beec0c77d45 /include/cru/platform | |
parent | a6dd823a94f0e6338545a4885e9d428e83a56593 (diff) | |
download | cru-c1f8ea13524f398f8d1720e5f03a17dd66352ebf.tar.gz cru-c1f8ea13524f398f8d1720e5f03a17dd66352ebf.tar.bz2 cru-c1f8ea13524f398f8d1720e5f03a17dd66352ebf.zip |
...
Diffstat (limited to 'include/cru/platform')
-rw-r--r-- | include/cru/platform/graphics/Factory.hpp | 4 | ||||
-rw-r--r-- | include/cru/platform/graphics/Image.hpp | 6 | ||||
-rw-r--r-- | include/cru/platform/graphics/ImageFactory.hpp | 11 |
3 files changed, 21 insertions, 0 deletions
diff --git a/include/cru/platform/graphics/Factory.hpp b/include/cru/platform/graphics/Factory.hpp index f3802651..7aa88ebd 100644 --- a/include/cru/platform/graphics/Factory.hpp +++ b/include/cru/platform/graphics/Factory.hpp @@ -4,6 +4,8 @@ #include "Brush.hpp" #include "Font.hpp" #include "Geometry.hpp" +#include "Image.hpp" +#include "ImageFactory.hpp" #include "TextLayout.hpp" namespace cru::platform::graphics { @@ -24,5 +26,7 @@ struct CRU_PLATFORM_GRAPHICS_API IGraphicsFactory : virtual IPlatformResource { brush->SetColor(color); return brush; } + + virtual IImageFactory* GetImageFactory() = 0; }; } // namespace cru::platform::graphics diff --git a/include/cru/platform/graphics/Image.hpp b/include/cru/platform/graphics/Image.hpp new file mode 100644 index 00000000..bf1e8545 --- /dev/null +++ b/include/cru/platform/graphics/Image.hpp @@ -0,0 +1,6 @@ +#pragma once +#include "Resource.hpp" + +namespace cru::platform::graphics { +struct CRU_PLATFORM_GRAPHICS_API IImage : public virtual IGraphicsResource {}; +} // namespace cru::platform::graphics diff --git a/include/cru/platform/graphics/ImageFactory.hpp b/include/cru/platform/graphics/ImageFactory.hpp new file mode 100644 index 00000000..3997f783 --- /dev/null +++ b/include/cru/platform/graphics/ImageFactory.hpp @@ -0,0 +1,11 @@ +#pragma once +#include "Image.hpp" +#include "Resource.hpp" +#include "cru/common/io/Stream.hpp" + +namespace cru::platform::graphics { +struct CRU_PLATFORM_GRAPHICS_API IImageFactory + : public virtual IGraphicsResource { + virtual std::unique_ptr<IImage> DecodeFromStream(io::Stream* stream) = 0; +}; +} // namespace cru::platform::graphics |