From 59d92dc4afec7568f6ed2138f28ce8405e1d54f0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 14 Dec 2013 16:23:07 +0100 Subject: [PATCH] GCC 4.4 compatibility: no lambda functions. --- .../TgaImageConverter/TgaImageConverter.cpp | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/src/Plugins/TgaImageConverter/TgaImageConverter.cpp b/src/Plugins/TgaImageConverter/TgaImageConverter.cpp index 91ed60cfe..b567c6176 100644 --- a/src/Plugins/TgaImageConverter/TgaImageConverter.cpp +++ b/src/Plugins/TgaImageConverter/TgaImageConverter.cpp @@ -43,6 +43,18 @@ namespace Magnum { namespace Trade { +#ifdef MAGNUM_TARGET_GLES +namespace { + constexpr Math::Vector3 bgr(const Math::Vector3& vec) { + return Math::swizzle<'b', 'g', 'r'>(vec); + } + + constexpr Math::Vector4 bgra(const Math::Vector4& vec) { + return Math::swizzle<'b', 'g', 'r', 'a'>(vec); + } +} +#endif + TgaImageConverter::TgaImageConverter() = default; TgaImageConverter::TgaImageConverter(PluginManager::AbstractManager* manager, std::string plugin): AbstractImageConverter(manager, std::move(plugin)) {} @@ -94,12 +106,10 @@ Containers::Array TgaImageConverter::doExportToData(const ImageRe #ifdef MAGNUM_TARGET_GLES if(image.format() == ColorFormat::RGB) { auto pixels = reinterpret_cast*>(data.begin()+sizeof(TgaHeader)); - std::transform(pixels, pixels + image.size().product(), pixels, - [](Math::Vector3 pixel) { return Math::swizzle<'b', 'g', 'r'>(pixel); }); + std::transform(pixels, pixels + image.size().product(), pixels, bgr); } else if(image.format() == ColorFormat::RGBA) { auto pixels = reinterpret_cast*>(data.begin()+sizeof(TgaHeader)); - std::transform(pixels, pixels + image.size().product(), pixels, - [](Math::Vector4 pixel) { return Math::swizzle<'b', 'g', 'r', 'a'>(pixel); }); + std::transform(pixels, pixels + image.size().product(), pixels, bgra); } #endif