mirror of https://github.com/mosra/magnum.git
8 changed files with 409 additions and 0 deletions
@ -0,0 +1,46 @@ |
|||||||
|
# |
||||||
|
# This file is part of Magnum. |
||||||
|
# |
||||||
|
# Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
# |
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
# copy of this software and associated documentation files (the "Software"), |
||||||
|
# to deal in the Software without restriction, including without limitation |
||||||
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
# and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
# Software is furnished to do so, subject to the following conditions: |
||||||
|
# |
||||||
|
# The above copyright notice and this permission notice shall be included |
||||||
|
# in all copies or substantial portions of the Software. |
||||||
|
# |
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
# DEALINGS IN THE SOFTWARE. |
||||||
|
# |
||||||
|
|
||||||
|
set(TgaImageConverter_SRCS |
||||||
|
TgaImageConverter.cpp) |
||||||
|
|
||||||
|
set(TgaImageConverter_HEADERS |
||||||
|
TgaImageConverter.h) |
||||||
|
|
||||||
|
add_library(TgaImageConverterObjects OBJECT ${TgaImageConverter_SRCS}) |
||||||
|
set_target_properties(TgaImageConverterObjects PROPERTIES COMPILE_FLAGS ${CMAKE_SHARED_LIBRARY_CXX_FLAGS}) |
||||||
|
|
||||||
|
corrade_add_plugin(TgaImageConverter ${MAGNUM_PLUGINS_IMAGECONVERTER_INSTALL_DIR} |
||||||
|
TgaImageConverter.conf |
||||||
|
$<TARGET_OBJECTS:TgaImageConverterObjects> |
||||||
|
pluginRegistrationTgaImageConverter.cpp) |
||||||
|
target_link_libraries(TgaImageConverter ${MAGNUM_LIBRARIES}) |
||||||
|
|
||||||
|
install(FILES ${TgaImageConverter_HEADERS} DESTINATION ${MAGNUM_PLUGINS_INCLUDE_INSTALL_DIR}/TgaImageConverter) |
||||||
|
|
||||||
|
if(BUILD_TESTS) |
||||||
|
add_library(TgaImageConverterTestLib $<TARGET_OBJECTS:TgaImageConverterObjects>) |
||||||
|
target_link_libraries(TgaImageConverterTestLib ${MAGNUM_LIBRARIES}) |
||||||
|
add_subdirectory(Test) |
||||||
|
endif() |
||||||
@ -0,0 +1,30 @@ |
|||||||
|
# |
||||||
|
# This file is part of Magnum. |
||||||
|
# |
||||||
|
# Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
# |
||||||
|
# Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
# copy of this software and associated documentation files (the "Software"), |
||||||
|
# to deal in the Software without restriction, including without limitation |
||||||
|
# the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
# and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
# Software is furnished to do so, subject to the following conditions: |
||||||
|
# |
||||||
|
# The above copyright notice and this permission notice shall be included |
||||||
|
# in all copies or substantial portions of the Software. |
||||||
|
# |
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
# THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
# DEALINGS IN THE SOFTWARE. |
||||||
|
# |
||||||
|
|
||||||
|
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/configure.h.cmake |
||||||
|
${CMAKE_CURRENT_BINARY_DIR}/configure.h) |
||||||
|
|
||||||
|
include_directories(${CMAKE_CURRENT_BINARY_DIR}) |
||||||
|
|
||||||
|
corrade_add_test(TgaImageConverterTest TgaImageConverterTest.cpp LIBRARIES TgaImageConverterTestLib TgaImporterTestLib) |
||||||
@ -0,0 +1,129 @@ |
|||||||
|
/*
|
||||||
|
This file is part of Magnum. |
||||||
|
|
||||||
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
copy of this software and associated documentation files (the "Software"), |
||||||
|
to deal in the Software without restriction, including without limitation |
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
Software is furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included |
||||||
|
in all copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
DEALINGS IN THE SOFTWARE. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <sstream> |
||||||
|
#include <tuple> |
||||||
|
#include <TestSuite/Tester.h> |
||||||
|
#include <Utility/Directory.h> |
||||||
|
#include <Image.h> |
||||||
|
#include <Trade/ImageData.h> |
||||||
|
#include <TgaImageConverter/TgaImageConverter.h> |
||||||
|
#include <TgaImporter/TgaImporter.h> |
||||||
|
|
||||||
|
#include "configure.h" |
||||||
|
|
||||||
|
using Corrade::Utility::Directory; |
||||||
|
|
||||||
|
namespace Magnum { namespace Trade { namespace TgaImageConverter { namespace Test { |
||||||
|
|
||||||
|
class TgaImageConverterTest: public Corrade::TestSuite::Tester { |
||||||
|
public: |
||||||
|
explicit TgaImageConverterTest(); |
||||||
|
|
||||||
|
void wrongFormat(); |
||||||
|
void wrongType(); |
||||||
|
|
||||||
|
void data(); |
||||||
|
void file(); |
||||||
|
}; |
||||||
|
|
||||||
|
namespace { |
||||||
|
const Image2D original({2, 3}, Image2D::Format::BGR, Image2D::Type::UnsignedByte, new char[18] { |
||||||
|
1, 2, 3, 2, 3, 4, |
||||||
|
3, 4, 5, 4, 5, 6, |
||||||
|
5, 6, 7, 6, 7, 8 |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
TgaImageConverterTest::TgaImageConverterTest() { |
||||||
|
addTests({&TgaImageConverterTest::wrongFormat, |
||||||
|
&TgaImageConverterTest::wrongType, |
||||||
|
|
||||||
|
&TgaImageConverterTest::data, |
||||||
|
&TgaImageConverterTest::file}); |
||||||
|
} |
||||||
|
|
||||||
|
void TgaImageConverterTest::wrongFormat() { |
||||||
|
Image2D image({}, Image2D::Format::RG, Image2D::Type::UnsignedByte, nullptr); |
||||||
|
|
||||||
|
std::ostringstream out; |
||||||
|
Error::setOutput(&out); |
||||||
|
|
||||||
|
const unsigned char* data; |
||||||
|
std::tie(data, std::ignore) = TgaImageConverter().convertToData(&image); |
||||||
|
CORRADE_VERIFY(!data); |
||||||
|
CORRADE_COMPARE(out.str(), "Trade::TgaImageConverter::TgaImageConverter::convertToData(): unsupported image format AbstractImage::Format::RG\n"); |
||||||
|
} |
||||||
|
|
||||||
|
void TgaImageConverterTest::wrongType() { |
||||||
|
Image2D image({}, Image2D::Format::Red, Image2D::Type::Float, nullptr); |
||||||
|
|
||||||
|
std::ostringstream out; |
||||||
|
Error::setOutput(&out); |
||||||
|
|
||||||
|
const unsigned char* data; |
||||||
|
std::tie(data, std::ignore) = TgaImageConverter().convertToData(&image); |
||||||
|
CORRADE_VERIFY(!data); |
||||||
|
CORRADE_COMPARE(out.str(), "Trade::TgaImageConverter::TgaImageConverter::convertToData(): unsupported image type AbstractImage::Type::Float\n"); |
||||||
|
} |
||||||
|
|
||||||
|
void TgaImageConverterTest::data() { |
||||||
|
const unsigned char* data; |
||||||
|
std::size_t size; |
||||||
|
std::tie(data, size) = TgaImageConverter().convertToData(&original); |
||||||
|
|
||||||
|
TgaImporter::TgaImporter importer; |
||||||
|
CORRADE_VERIFY(importer.openData(data, size)); |
||||||
|
Trade::ImageData2D* converted = importer.image2D(0); |
||||||
|
CORRADE_VERIFY(converted); |
||||||
|
|
||||||
|
CORRADE_COMPARE(converted->size(), Vector2i(2, 3)); |
||||||
|
CORRADE_COMPARE(converted->format(), Trade::ImageData2D::Format::BGR); |
||||||
|
CORRADE_COMPARE(converted->type(), Trade::ImageData2D::Type::UnsignedByte); |
||||||
|
CORRADE_COMPARE(std::string(reinterpret_cast<const char*>(converted->data()), 2*3*3), |
||||||
|
std::string(reinterpret_cast<const char*>(original.data()), 2*3*3)); |
||||||
|
} |
||||||
|
|
||||||
|
void TgaImageConverterTest::file() { |
||||||
|
const std::string filename = Directory::join(TGAIMAGECONVERTER_TEST_DIR, "file.tga"); |
||||||
|
Directory::rm(filename); |
||||||
|
CORRADE_VERIFY(TgaImageConverter().convertToFile(&original, filename)); |
||||||
|
|
||||||
|
TgaImporter::TgaImporter importer; |
||||||
|
CORRADE_VERIFY(importer.openFile(filename)); |
||||||
|
Trade::ImageData2D* converted = importer.image2D(0); |
||||||
|
CORRADE_VERIFY(converted); |
||||||
|
|
||||||
|
CORRADE_COMPARE(converted->size(), Vector2i(2, 3)); |
||||||
|
CORRADE_COMPARE(converted->format(), Trade::ImageData2D::Format::BGR); |
||||||
|
CORRADE_COMPARE(converted->type(), Trade::ImageData2D::Type::UnsignedByte); |
||||||
|
CORRADE_COMPARE(std::string(reinterpret_cast<const char*>(converted->data()), 2*3*3), |
||||||
|
std::string(reinterpret_cast<const char*>(original.data()), 2*3*3)); |
||||||
|
|
||||||
|
Directory::rm(filename); |
||||||
|
} |
||||||
|
|
||||||
|
}}}} |
||||||
|
|
||||||
|
CORRADE_TEST_MAIN(Magnum::Trade::TgaImageConverter::Test::TgaImageConverterTest) |
||||||
@ -0,0 +1,25 @@ |
|||||||
|
/* |
||||||
|
This file is part of Magnum. |
||||||
|
|
||||||
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
copy of this software and associated documentation files (the "Software"), |
||||||
|
to deal in the Software without restriction, including without limitation |
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
Software is furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included |
||||||
|
in all copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
DEALINGS IN THE SOFTWARE. |
||||||
|
*/ |
||||||
|
|
||||||
|
#define TGAIMAGECONVERTER_TEST_DIR "${CMAKE_CURRENT_BINARY_DIR}" |
||||||
@ -0,0 +1,94 @@ |
|||||||
|
/*
|
||||||
|
This file is part of Magnum. |
||||||
|
|
||||||
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
copy of this software and associated documentation files (the "Software"), |
||||||
|
to deal in the Software without restriction, including without limitation |
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
Software is furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included |
||||||
|
in all copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
DEALINGS IN THE SOFTWARE. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include "TgaImageConverter.h" |
||||||
|
|
||||||
|
#include <fstream> |
||||||
|
#include <tuple> |
||||||
|
#include <Image.h> |
||||||
|
|
||||||
|
#include "TgaImporter/TgaHeader.h" |
||||||
|
|
||||||
|
namespace Magnum { namespace Trade { namespace TgaImageConverter { |
||||||
|
|
||||||
|
TgaImageConverter::TgaImageConverter() = default; |
||||||
|
|
||||||
|
TgaImageConverter::TgaImageConverter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin): AbstractImageConverter(manager, std::move(plugin)) {} |
||||||
|
|
||||||
|
TgaImageConverter::Features TgaImageConverter::features() const { |
||||||
|
return Feature::ConvertToData|Feature::ConvertToFile; |
||||||
|
} |
||||||
|
|
||||||
|
std::pair<const unsigned char*, std::size_t> TgaImageConverter::convertToData(const Image2D* const image) const { |
||||||
|
if(image->format() != AbstractImage::Format::BGR && |
||||||
|
image->format() != AbstractImage::Format::BGRA && |
||||||
|
image->format() != AbstractImage::Format::Red) { |
||||||
|
Error() << "Trade::TgaImageConverter::TgaImageConverter::convertToData(): unsupported image format" << image->format(); |
||||||
|
return {nullptr, 0}; |
||||||
|
} |
||||||
|
|
||||||
|
if(image->type() != AbstractImage::Type::UnsignedByte) { |
||||||
|
Error() << "Trade::TgaImageConverter::TgaImageConverter::convertToData(): unsupported image type" << image->type(); |
||||||
|
return {nullptr, 0}; |
||||||
|
} |
||||||
|
|
||||||
|
/* Initialize data buffer */ |
||||||
|
const UnsignedByte pixelSize = Image2D::pixelSize(image->format(), image->type()); |
||||||
|
const std::size_t size = sizeof(TgaImporter::TgaHeader) + pixelSize*image->size().product(); |
||||||
|
unsigned char* data = new unsigned char[size](); |
||||||
|
|
||||||
|
/* Fill header */ |
||||||
|
auto header = reinterpret_cast<TgaImporter::TgaHeader*>(data); |
||||||
|
header->imageType = image->format() == AbstractImage::Format::Red ? 3 : 2; |
||||||
|
header->bpp = pixelSize*8; |
||||||
|
header->width = image->size().x(); |
||||||
|
header->height = image->size().y(); |
||||||
|
|
||||||
|
/* Fill data */ |
||||||
|
std::copy(image->data(), image->data()+pixelSize*image->size().product(), data+sizeof(TgaImporter::TgaHeader)); |
||||||
|
|
||||||
|
return {data, size}; |
||||||
|
} |
||||||
|
|
||||||
|
bool TgaImageConverter::convertToFile(const Image2D* const image, const std::string& filename) const { |
||||||
|
/* Convert the image */ |
||||||
|
const unsigned char* data; |
||||||
|
std::size_t size; |
||||||
|
std::tie(data, size) = convertToData(image); |
||||||
|
if(!data) return false; |
||||||
|
|
||||||
|
/* Open file */ |
||||||
|
std::ofstream out(filename.c_str()); |
||||||
|
if(!out.good()) { |
||||||
|
delete[] data; |
||||||
|
return false; |
||||||
|
} |
||||||
|
|
||||||
|
/* Write contents */ |
||||||
|
out.write(reinterpret_cast<const char*>(data), size); |
||||||
|
delete[] data; |
||||||
|
return true; |
||||||
|
} |
||||||
|
|
||||||
|
}}} |
||||||
@ -0,0 +1,57 @@ |
|||||||
|
#ifndef Magnum_Trade_TgaImageConverter_TgaImageConverter_h |
||||||
|
#define Magnum_Trade_TgaImageConverter_TgaImageConverter_h |
||||||
|
/*
|
||||||
|
This file is part of Magnum. |
||||||
|
|
||||||
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
copy of this software and associated documentation files (the "Software"), |
||||||
|
to deal in the Software without restriction, including without limitation |
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
Software is furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included |
||||||
|
in all copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
DEALINGS IN THE SOFTWARE. |
||||||
|
*/ |
||||||
|
|
||||||
|
/** @file
|
||||||
|
* @brief Class Magnum::Trade::TgaImageConverter::TgaImageConverter |
||||||
|
*/ |
||||||
|
|
||||||
|
#include <Trade/AbstractImageConverter.h> |
||||||
|
|
||||||
|
namespace Magnum { namespace Trade { namespace TgaImageConverter { |
||||||
|
|
||||||
|
/**
|
||||||
|
@brief TGA image converter |
||||||
|
|
||||||
|
Supports images with format @ref AbstractImage::Format "AbstractImage::Format::BGR", |
||||||
|
@ref AbstractImage::Format "AbstractImage::Format::BGRA" or @ref AbstractImage::Format "AbstractImage::Format::Red" |
||||||
|
and type @ref AbstractImage::Type "AbstractImage::Type::UnsignedByte". |
||||||
|
*/ |
||||||
|
class TgaImageConverter: public AbstractImageConverter { |
||||||
|
public: |
||||||
|
/** @brief Default constructor */ |
||||||
|
explicit TgaImageConverter(); |
||||||
|
|
||||||
|
/** @brief Plugin manager constructor */ |
||||||
|
explicit TgaImageConverter(Corrade::PluginManager::AbstractPluginManager* manager, std::string plugin); |
||||||
|
|
||||||
|
Features features() const override; |
||||||
|
std::pair<const unsigned char*, std::size_t> convertToData(const Image2D* const image) const override; |
||||||
|
bool convertToFile(const Image2D* const image, const std::string& filename) const override; |
||||||
|
}; |
||||||
|
|
||||||
|
}}} |
||||||
|
|
||||||
|
#endif |
||||||
@ -0,0 +1,28 @@ |
|||||||
|
/*
|
||||||
|
This file is part of Magnum. |
||||||
|
|
||||||
|
Copyright © 2010, 2011, 2012, 2013 Vladimír Vondruš <mosra@centrum.cz> |
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a |
||||||
|
copy of this software and associated documentation files (the "Software"), |
||||||
|
to deal in the Software without restriction, including without limitation |
||||||
|
the rights to use, copy, modify, merge, publish, distribute, sublicense, |
||||||
|
and/or sell copies of the Software, and to permit persons to whom the |
||||||
|
Software is furnished to do so, subject to the following conditions: |
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included |
||||||
|
in all copies or substantial portions of the Software. |
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR |
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, |
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL |
||||||
|
THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER |
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING |
||||||
|
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER |
||||||
|
DEALINGS IN THE SOFTWARE. |
||||||
|
*/ |
||||||
|
|
||||||
|
#include "TgaImageConverter.h" |
||||||
|
|
||||||
|
PLUGIN_REGISTER(TgaImageConverter, Magnum::Trade::TgaImageConverter::TgaImageConverter, |
||||||
|
"cz.mosra.magnum.Trade.AbstractImageConverter/0.1") |
||||||
Loading…
Reference in new issue