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