From a3244421a54660a699c669988943035b365e1bb9 Mon Sep 17 00:00:00 2001 From: "Thiago Marcos P. Santos" Date: Wed, 19 Jul 2017 13:52:21 +0300 Subject: [Qt] Rename files with same name QMake is having some issues with files with same names when building the Qt Location plugin. --- cmake/core-files.cmake | 2 +- platform/qt/qt.cmake | 2 +- platform/qt/src/image.cpp | 63 ------------------------------------------ platform/qt/src/qt_image.cpp | 63 ++++++++++++++++++++++++++++++++++++++++++ src/mbgl/util/geojson.cpp | 1 - src/mbgl/util/geojson_impl.cpp | 1 + 6 files changed, 66 insertions(+), 66 deletions(-) delete mode 100644 platform/qt/src/image.cpp create mode 100644 platform/qt/src/qt_image.cpp delete mode 100644 src/mbgl/util/geojson.cpp create mode 100644 src/mbgl/util/geojson_impl.cpp diff --git a/cmake/core-files.cmake b/cmake/core-files.cmake index d9bd3f79cb..4822c395a1 100644 --- a/cmake/core-files.cmake +++ b/cmake/core-files.cmake @@ -584,7 +584,7 @@ set(MBGL_CORE_FILES src/mbgl/util/event.cpp src/mbgl/util/font_stack.cpp src/mbgl/util/geo.cpp - src/mbgl/util/geojson.cpp + src/mbgl/util/geojson_impl.cpp src/mbgl/util/grid_index.cpp src/mbgl/util/grid_index.hpp src/mbgl/util/http_header.cpp diff --git a/platform/qt/qt.cmake b/platform/qt/qt.cmake index 0e9bbbb576..489ae5ed08 100644 --- a/platform/qt/qt.cmake +++ b/platform/qt/qt.cmake @@ -46,7 +46,7 @@ set(MBGL_QT_FILES PRIVATE platform/qt/src/http_file_source.hpp PRIVATE platform/qt/src/http_request.cpp PRIVATE platform/qt/src/http_request.hpp - PRIVATE platform/qt/src/image.cpp + PRIVATE platform/qt/src/qt_image.cpp PRIVATE platform/qt/src/run_loop.cpp PRIVATE platform/qt/src/run_loop_impl.hpp PRIVATE platform/qt/src/sqlite3.cpp diff --git a/platform/qt/src/image.cpp b/platform/qt/src/image.cpp deleted file mode 100644 index 403ca9cbd3..0000000000 --- a/platform/qt/src/image.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include - -#include -#include -#include - -namespace mbgl { - -std::string encodePNG(const PremultipliedImage& pre) { - QImage image(pre.data.get(), pre.size.width, pre.size.height, - QImage::Format_ARGB32_Premultiplied); - - QByteArray array; - QBuffer buffer(&array); - - buffer.open(QIODevice::WriteOnly); - image.rgbSwapped().save(&buffer, "PNG"); - - return std::string(array.constData(), array.size()); -} - -#if !defined(QT_IMAGE_DECODERS) -PremultipliedImage decodeJPEG(const uint8_t*, size_t); -PremultipliedImage decodeWebP(const uint8_t*, size_t); -#endif - -PremultipliedImage decodeImage(const std::string& string) { - const uint8_t* data = reinterpret_cast(string.data()); - const size_t size = string.size(); - -#if !defined(QT_IMAGE_DECODERS) - if (size >= 12) { - uint32_t riff_magic = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; - uint32_t webp_magic = (data[8] << 24) | (data[9] << 16) | (data[10] << 8) | data[11]; - if (riff_magic == 0x52494646 && webp_magic == 0x57454250) { - return decodeWebP(data, size); - } - } - - if (size >= 2) { - uint16_t magic = ((data[0] << 8) | data[1]) & 0xffff; - if (magic == 0xFFD8) { - return decodeJPEG(data, size); - } - } -#endif - - QImage image = - QImage::fromData(data, size) - .rgbSwapped() - .convertToFormat(QImage::Format_ARGB32_Premultiplied); - - if (image.isNull()) { - throw std::runtime_error("Unsupported image type"); - } - - auto img = std::make_unique(image.byteCount()); - memcpy(img.get(), image.constBits(), image.byteCount()); - - return { { static_cast(image.width()), static_cast(image.height()) }, - std::move(img) }; -} -} diff --git a/platform/qt/src/qt_image.cpp b/platform/qt/src/qt_image.cpp new file mode 100644 index 0000000000..403ca9cbd3 --- /dev/null +++ b/platform/qt/src/qt_image.cpp @@ -0,0 +1,63 @@ +#include + +#include +#include +#include + +namespace mbgl { + +std::string encodePNG(const PremultipliedImage& pre) { + QImage image(pre.data.get(), pre.size.width, pre.size.height, + QImage::Format_ARGB32_Premultiplied); + + QByteArray array; + QBuffer buffer(&array); + + buffer.open(QIODevice::WriteOnly); + image.rgbSwapped().save(&buffer, "PNG"); + + return std::string(array.constData(), array.size()); +} + +#if !defined(QT_IMAGE_DECODERS) +PremultipliedImage decodeJPEG(const uint8_t*, size_t); +PremultipliedImage decodeWebP(const uint8_t*, size_t); +#endif + +PremultipliedImage decodeImage(const std::string& string) { + const uint8_t* data = reinterpret_cast(string.data()); + const size_t size = string.size(); + +#if !defined(QT_IMAGE_DECODERS) + if (size >= 12) { + uint32_t riff_magic = (data[0] << 24) | (data[1] << 16) | (data[2] << 8) | data[3]; + uint32_t webp_magic = (data[8] << 24) | (data[9] << 16) | (data[10] << 8) | data[11]; + if (riff_magic == 0x52494646 && webp_magic == 0x57454250) { + return decodeWebP(data, size); + } + } + + if (size >= 2) { + uint16_t magic = ((data[0] << 8) | data[1]) & 0xffff; + if (magic == 0xFFD8) { + return decodeJPEG(data, size); + } + } +#endif + + QImage image = + QImage::fromData(data, size) + .rgbSwapped() + .convertToFormat(QImage::Format_ARGB32_Premultiplied); + + if (image.isNull()) { + throw std::runtime_error("Unsupported image type"); + } + + auto img = std::make_unique(image.byteCount()); + memcpy(img.get(), image.constBits(), image.byteCount()); + + return { { static_cast(image.width()), static_cast(image.height()) }, + std::move(img) }; +} +} diff --git a/src/mbgl/util/geojson.cpp b/src/mbgl/util/geojson.cpp deleted file mode 100644 index d1608e09fe..0000000000 --- a/src/mbgl/util/geojson.cpp +++ /dev/null @@ -1 +0,0 @@ -#include diff --git a/src/mbgl/util/geojson_impl.cpp b/src/mbgl/util/geojson_impl.cpp new file mode 100644 index 0000000000..d1608e09fe --- /dev/null +++ b/src/mbgl/util/geojson_impl.cpp @@ -0,0 +1 @@ +#include -- cgit v1.2.1