Commit 90672116 authored by Rogerborg's avatar Rogerborg

http://irrlicht.sourceforge.net/phpBB2/viewtopic.php?p=183435#183435

Change IVideoDriver::writeImageToFile() to always use the IWriteFile filename rather than taking a separate extension.

Test updated.

git-svn-id: svn://svn.code.sf.net/p/irrlicht/code/trunk@2082 dfc29bdd-3216-0410-991c-e03cc46cb475
parent a603abe0
......@@ -839,14 +839,12 @@ namespace video
/** Requires that there is a suitable image writer registered
for writing the image.
\param image Image to write.
\param file An already open io::IWriteFile object
\param extension A file extension that will identify the desired image
writer, e.g. ".jpg"
\param file An already open io::IWriteFile object. The name will be used to determine
the appropriate image writer to use.
\param param Control parameter for the backend (e.g. compression
level).
\return True on successful write. */
virtual bool writeImageToFile(IImage* image, io::IWriteFile* file,
const c8* extension, u32 param = 0) = 0;
virtual bool writeImageToFile(IImage* image, io::IWriteFile* file, u32 param = 0) = 0;
//! Creates a software image from a byte array.
/** No hardware texture will be created for this image. This
......
......@@ -1248,21 +1248,21 @@ bool CNullDriver::writeImageToFile(IImage* image, const char* filename,u32 param
if(!file)
return false;
bool result = writeImageToFile(image, file, filename, param);
bool result = writeImageToFile(image, file, param);
file->drop();
return result;
}
//! Writes the provided image to a file.
bool CNullDriver::writeImageToFile(IImage* image, io::IWriteFile * file, const c8* extension, u32 param)
bool CNullDriver::writeImageToFile(IImage* image, io::IWriteFile * file, u32 param)
{
if(!file)
return false;
for (u32 i=0; i<SurfaceWriter.size(); ++i)
{
if (SurfaceWriter[i]->isAWriteableFileExtension(extension))
if (SurfaceWriter[i]->isAWriteableFileExtension(file->getFileName()))
{
bool written = SurfaceWriter[i]->writeImage(file, image, param);
if (written)
......
......@@ -489,7 +489,7 @@ namespace video
virtual bool writeImageToFile(IImage* image, const char* filename, u32 param = 0);
//! Writes the provided image to a file.
virtual bool writeImageToFile(IImage* image, io::IWriteFile * file, const c8* extension, u32 param = 0);
virtual bool writeImageToFile(IImage* image, io::IWriteFile * file, u32 param = 0);
//! Sets the name of a material renderer.
virtual void setMaterialRendererName(s32 idx, const char* name);
......
Test suite pass at GMT Fri Jan 16 14:15:51 2009
Test suite pass at GMT Fri Jan 16 15:32:37 2009
......@@ -79,16 +79,16 @@ bool writeImageToFile(void)
}
buffer = new c8[BUFFER_SIZE];
memoryFile = device->getFileSystem()->createMemoryWriteFile(buffer, BUFFER_SIZE, "foo", false);
if(!driver->writeImageToFile(screenshot, memoryFile, ".png"))
writtenFilename = "results" DIR_SEP_STRING "burnings video 0.39b-drawPixel.png";
memoryFile = device->getFileSystem()->createMemoryWriteFile(buffer, BUFFER_SIZE, writtenFilename, false);
if(!driver->writeImageToFile(screenshot, memoryFile))
{
logTestString("Failed to write png to memory file\n");
assert(false);
goto cleanup;
}
writtenFilename = "results" DIR_SEP_STRING "burnings video 0.39b-drawPixel.png";
writtenFile = device->getFileSystem()->createAndWriteFile(writtenFilename);
writtenFile = device->getFileSystem()->createAndWriteFile(memoryFile->getFileName());
if(!writtenFile)
{
logTestString("Can't open %s for writing.\n", writtenFilename);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment