Add GE::getResizedImage using IReadFile
This commit is contained in:
parent
2876032630
commit
059fc9ebfd
@ -5,6 +5,7 @@
|
||||
#include <string>
|
||||
#include <ITexture.h>
|
||||
#include <IImage.h>
|
||||
#include <IReadFile.h>
|
||||
|
||||
namespace GE
|
||||
{
|
||||
@ -15,6 +16,9 @@ irr::video::ITexture* createTexture(irr::video::IImage* img,
|
||||
irr::video::IImage* getResizedImage(const std::string& path,
|
||||
const irr::core::dimension2d<irr::u32>& max_size,
|
||||
irr::core::dimension2d<irr::u32>* orig_size = NULL);
|
||||
irr::video::IImage* getResizedImage(irr::io::IReadFile* file,
|
||||
const irr::core::dimension2d<irr::u32>& max_size,
|
||||
irr::core::dimension2d<irr::u32>* orig_size = NULL);
|
||||
irr::video::ITexture* createTexture(const std::string& path,
|
||||
std::function<void(irr::video::IImage*)> image_mani = nullptr);
|
||||
}; // GE
|
||||
|
@ -291,7 +291,6 @@ namespace GE
|
||||
{ return m_features; }
|
||||
const VkPhysicalDeviceProperties& getPhysicalDeviceProperties() const
|
||||
{ return m_properties; }
|
||||
io::IFileSystem* getFileSystem() const { return FileSystem; }
|
||||
VkExtent2D getSwapChainExtent() const { return m_swap_chain_extent; }
|
||||
size_t getSwapChainImagesCount() const
|
||||
{ return m_vk->swap_chain_images.size(); }
|
||||
|
@ -4,6 +4,7 @@
|
||||
#include "ge_vulkan_texture.hpp"
|
||||
#include "ge_texture.hpp"
|
||||
|
||||
#include <IFileSystem.h>
|
||||
#include <IVideoDriver.h>
|
||||
|
||||
namespace GE
|
||||
@ -13,7 +14,21 @@ video::IImage* getResizedImage(const std::string& path,
|
||||
const core::dimension2du& max_size,
|
||||
core::dimension2d<u32>* orig_size)
|
||||
{
|
||||
video::IImage* image = getDriver()->createImageFromFile(path.c_str());
|
||||
io::IReadFile* file =
|
||||
getDriver()->getFileSystem()->createAndOpenFile(path.c_str());
|
||||
if (file == NULL)
|
||||
return NULL;
|
||||
video::IImage* image = getResizedImage(file, max_size, orig_size);
|
||||
file->drop();
|
||||
return image;
|
||||
} // getResizedImage
|
||||
|
||||
// ----------------------------------------------------------------------------
|
||||
video::IImage* getResizedImage(irr::io::IReadFile* file,
|
||||
const core::dimension2du& max_size,
|
||||
core::dimension2d<u32>* orig_size)
|
||||
{
|
||||
video::IImage* image = getDriver()->createImageFromFile(file);
|
||||
if (image == NULL)
|
||||
return NULL;
|
||||
if (orig_size)
|
||||
|
@ -25,6 +25,7 @@ namespace irr
|
||||
namespace io
|
||||
{
|
||||
class IAttributes;
|
||||
class IFileSystem;
|
||||
struct SAttributeReadWriteOptions;
|
||||
class IReadFile;
|
||||
class IWriteFile;
|
||||
@ -1483,6 +1484,7 @@ namespace video
|
||||
virtual void disableScissorTest() {}
|
||||
virtual void pauseRendering() {}
|
||||
virtual void unpauseRendering() {}
|
||||
virtual io::IFileSystem* getFileSystem() const = 0;
|
||||
};
|
||||
|
||||
} // end namespace video
|
||||
|
@ -672,6 +672,7 @@ namespace video
|
||||
|
||||
virtual bool checkDriverReset() {return false;}
|
||||
virtual u32 getDefaultFramebuffer() const { return 0; }
|
||||
virtual io::IFileSystem* getFileSystem() const { return FileSystem; }
|
||||
protected:
|
||||
|
||||
//! deletes all textures
|
||||
|
Loading…
x
Reference in New Issue
Block a user