Skip to content
This repository has been archived by the owner on May 13, 2024. It is now read-only.

[NOSQUASH] Remove the unnecessary sort in CNullDriver::addTexture #233

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 0 additions & 14 deletions include/IVideoDriver.h
Original file line number Diff line number Diff line change
Expand Up @@ -265,24 +265,10 @@ namespace video
IReferenceCounted::drop() for more information. */
virtual ITexture* getTexture(io::IReadFile* file) =0;

//! Returns a texture by index
/** \param index: Index of the texture, must be smaller than
getTextureCount() Please note that this index might change when
adding or removing textures
\return Pointer to the texture, or 0 if the texture was not
set or index is out of bounds. This pointer should not be
dropped. See IReferenceCounted::drop() for more information. */
virtual ITexture* getTextureByIndex(u32 index) =0;

//! Returns amount of textures currently loaded
/** \return Amount of textures currently loaded */
virtual u32 getTextureCount() const = 0;

//! Renames a texture
/** \param texture Pointer to the texture to rename.
\param newName New name for the texture. This should be a unique name. */
virtual void renameTexture(ITexture* texture, const io::path& newName) = 0;

//! Creates an empty texture of specified size.
/** \param size: Size of the texture.
\param name A name for the texture. Later calls to
Expand Down
28 changes: 1 addition & 27 deletions source/Irrlicht/CNullDriver.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -305,36 +305,13 @@ void CNullDriver::removeAllTextures()
}


//! Returns a texture by index
ITexture* CNullDriver::getTextureByIndex(u32 i)
{
if ( i < Textures.size() )
return Textures[i].Surface;

return 0;
}


//! Returns amount of textures currently loaded
u32 CNullDriver::getTextureCount() const
{
return Textures.size();
}


//! Renames a texture
void CNullDriver::renameTexture(ITexture* texture, const io::path& newName)
{
// we can do a const_cast here safely, the name of the ITexture interface
// is just readonly to prevent the user changing the texture name without invoking
// this method, because the textures will need resorting afterwards

io::SNamedPath& name = const_cast<io::SNamedPath&>(texture->getName());
name.setPath(newName);

Textures.sort();
}

ITexture* CNullDriver::addTexture(const core::dimension2d<u32>& size, const io::path& name, ECOLOR_FORMAT format)
{
if (0 == name.size())
Expand Down Expand Up @@ -580,10 +557,7 @@ void CNullDriver::addTexture(video::ITexture* texture)

// the new texture is now at the end of the texture list. when searching for
// the next new texture, the texture array will be sorted and the index of this texture
// will be changed. to let the order be more consistent to the user, sort
// the textures now already although this isn't necessary:

Textures.sort();
// will be changed.
}
}

Expand Down
6 changes: 0 additions & 6 deletions source/Irrlicht/CNullDriver.h
Original file line number Diff line number Diff line change
Expand Up @@ -79,15 +79,9 @@ namespace video
//! loads a Texture
ITexture* getTexture(io::IReadFile* file) override;

//! Returns a texture by index
ITexture* getTextureByIndex(u32 index) override;

//! Returns amount of textures currently loaded
u32 getTextureCount() const override;

//! Renames a texture
void renameTexture(ITexture* texture, const io::path& newName) override;

ITexture* addTexture(const core::dimension2d<u32>& size, const io::path& name, ECOLOR_FORMAT format = ECF_A8R8G8B8) override;

ITexture* addTexture(const io::path& name, IImage* image) override;
Expand Down