diff --git a/src/AbstractFramebuffer.cpp b/src/AbstractFramebuffer.cpp index 1097fb10a..3a4ba0bb2 100644 --- a/src/AbstractFramebuffer.cpp +++ b/src/AbstractFramebuffer.cpp @@ -150,7 +150,7 @@ void AbstractFramebuffer::read(const Vector2i& offset, const Vector2i& size, Ima const std::size_t dataSize = image.pixelSize()*size.product(); char* const data = new char[dataSize]; readImplementation(offset, size, image.format(), image.type(), dataSize, data); - image.setData(size, image.format(), image.type(), data); + image.setData(image.format(), image.type(), size, data); } #ifndef MAGNUM_TARGET_GLES2 diff --git a/src/AbstractTexture.cpp b/src/AbstractTexture.cpp index 22c898d27..fc02749d7 100644 --- a/src/AbstractTexture.cpp +++ b/src/AbstractTexture.cpp @@ -954,7 +954,7 @@ template void AbstractTexture::image(GLenum target, GLin const std::size_t dataSize = size.product()*image.pixelSize(); char* data = new char[dataSize]; (this->*getImageImplementation)(target, level, image.format(), image.type(), dataSize, data); - image.setData(size, image.format(), image.type(), data); + image.setData(image.format(), image.type(), size, data); } template void AbstractTexture::image<1>(GLenum, GLint, Image<1>&); diff --git a/src/Image.cpp b/src/Image.cpp index 71c5b1a7c..312fbfe4f 100644 --- a/src/Image.cpp +++ b/src/Image.cpp @@ -26,7 +26,7 @@ namespace Magnum { -template void Image::setData(const typename DimensionTraits::VectorType& size, ImageFormat format, ImageType type, void* data) { +template void Image::setData(ImageFormat format, ImageType type, const typename DimensionTraits::VectorType& size, void* data) { delete[] _data; _format = format; _type = type; diff --git a/src/Image.h b/src/Image.h index cc06f228e..b2da03fb2 100644 --- a/src/Image.h +++ b/src/Image.h @@ -45,15 +45,15 @@ template class Image: public AbstractImage { /** * @brief Constructor - * @param size %Image size * @param format Format of pixel data * @param type Data type of pixel data + * @param size %Image size * @param data %Image data * * Note that the image data are not copied on construction, but they * are deleted on class destruction. */ - explicit Image(const typename DimensionTraits::VectorType& size, ImageFormat format, ImageType type, void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast(data)) {} + explicit Image(ImageFormat format, ImageType type, const typename DimensionTraits::VectorType& size, void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast(data)) {} /** * @brief Constructor @@ -96,15 +96,15 @@ template class Image: public AbstractImage { /** * @brief Set image data - * @param size %Image size * @param format Format of pixel data * @param type Data type of pixel data + * @param size %Image size * @param data %Image data * * Deletes previous data and replaces them with new. Note that the * data are not copied, but they are deleted on destruction. */ - void setData(const typename DimensionTraits::VectorType& size, ImageFormat format, ImageType type, void* data); + void setData(ImageFormat format, ImageType type, const typename DimensionTraits::VectorType& size, void* data); private: Math::Vector _size; @@ -133,7 +133,7 @@ template inline Image& Image::op } template inline Image::operator ImageReference() const { - return ImageReference(_size, this->format(), this->type(), _data); + return ImageReference(this->format(), this->type(), _size, _data); } } diff --git a/src/ImageReference.h b/src/ImageReference.h index f42498793..8262a80da 100644 --- a/src/ImageReference.h +++ b/src/ImageReference.h @@ -55,26 +55,26 @@ template class ImageReference: public AbstractImage { /** * @brief Constructor - * @param size %Image size * @param format Format of pixel data * @param type Data type of pixel data + * @param size %Image size * @param data %Image data * * Note that the image data are not copied on construction, but they * are deleted on class destruction. */ - constexpr explicit ImageReference(const typename DimensionTraits::VectorType& size, ImageFormat format, ImageType type, void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast(data)) {} + constexpr explicit ImageReference(ImageFormat format, ImageType type, const typename DimensionTraits::VectorType& size, void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast(data)) {} /** * @brief Constructor - * @param size %Image size * @param format Format of pixel data * @param type Data type of pixel data + * @param size %Image size * * Data pointer is set to zero, call setData() to fill the image with * data. */ - constexpr explicit ImageReference(const typename DimensionTraits::VectorType& size, ImageFormat format, ImageType type): AbstractImage(format, type), _size(size), _data(nullptr) {} + constexpr explicit ImageReference(ImageFormat format, ImageType type, const typename DimensionTraits::VectorType& size): AbstractImage(format, type), _size(size), _data(nullptr) {} /** @brief %Image size */ constexpr typename DimensionTraits::VectorType size() const { return _size; } diff --git a/src/Test/ImageTest.cpp b/src/Test/ImageTest.cpp index fbf690f7c..d16f3a578 100644 --- a/src/Test/ImageTest.cpp +++ b/src/Test/ImageTest.cpp @@ -46,7 +46,7 @@ ImageTest::ImageTest() { void ImageTest::moveConstructor() { unsigned char* data = new unsigned char[3]; - Image2D a({1, 3}, ImageFormat::Red, ImageType::UnsignedByte, data); + Image2D a(ImageFormat::Red, ImageType::UnsignedByte, {1, 3}, data); Image2D b(std::move(a)); CORRADE_VERIFY(!a.data()); @@ -58,7 +58,7 @@ void ImageTest::moveConstructor() { void ImageTest::moveAssignment() { unsigned char* data = new unsigned char[3]; - Image2D a({1, 3}, ImageFormat::Red, ImageType::UnsignedByte, data); + Image2D a(ImageFormat::Red, ImageType::UnsignedByte, {1, 3}, data); Image2D b(ImageFormat::Red, ImageType::UnsignedByte); b = std::move(a); @@ -71,7 +71,7 @@ void ImageTest::moveAssignment() { void ImageTest::toReference() { unsigned char* data = new unsigned char[3]; - Image2D a({1, 3}, ImageFormat::Red, ImageType::UnsignedByte, data); + Image2D a(ImageFormat::Red, ImageType::UnsignedByte, {1, 3}, data); ImageReference2D b = a; CORRADE_COMPARE(b.format(), ImageFormat::Red); diff --git a/src/Trade/ImageData.h b/src/Trade/ImageData.h index dd1e2f2a3..91c4e43c6 100644 --- a/src/Trade/ImageData.h +++ b/src/Trade/ImageData.h @@ -45,15 +45,15 @@ template class ImageData: public AbstractImage { /** * @brief Constructor - * @param size %Image size * @param format Format of pixel data * @param type Data type of pixel data + * @param size %Image size * @param data %Image data * * Note that the image data are not copied on construction, but they * are deleted on class destruction. */ - explicit ImageData(const typename DimensionTraits::VectorType& size, ImageFormat format, ImageType type, void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast(data)) {} + explicit ImageData(ImageFormat format, ImageType type, const typename DimensionTraits::VectorType& size, void* data): AbstractImage(format, type), _size(size), _data(reinterpret_cast(data)) {} /** @brief Copying is not allowed */ ImageData(const ImageData&& other) = delete; @@ -111,7 +111,7 @@ template inline ImageData& ImageData inline ImageData::operator ImageReference() const { - return ImageReference(_size, this->format(), this->type(), _data); + return ImageReference(this->format(), this->type(), _size, _data); } }} diff --git a/src/Trade/Test/AbstractImageConverterTest.cpp b/src/Trade/Test/AbstractImageConverterTest.cpp index 3d209ea79..7fbfae7c3 100644 --- a/src/Trade/Test/AbstractImageConverterTest.cpp +++ b/src/Trade/Test/AbstractImageConverterTest.cpp @@ -64,7 +64,7 @@ void AbstractImageConverterTest::exportToFile() { /* doExportToFile() should call doExportToData() */ DataExporter exporter; - Image2D image({0xfe, 0xed}, ImageFormat::RGBA, ImageType::UnsignedByte, nullptr); + Image2D image(ImageFormat::RGBA, ImageType::UnsignedByte, {0xfe, 0xed}, nullptr); CORRADE_VERIFY(exporter.exportToFile(&image, Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"))); CORRADE_COMPARE_AS(Utility::Directory::join(TRADE_TEST_OUTPUT_DIR, "image.out"), "\xFE\xED", TestSuite::Compare::FileToString); diff --git a/src/Trade/Test/ImageDataTest.cpp b/src/Trade/Test/ImageDataTest.cpp index b2d428a9e..76c836b1e 100644 --- a/src/Trade/Test/ImageDataTest.cpp +++ b/src/Trade/Test/ImageDataTest.cpp @@ -46,7 +46,7 @@ ImageDataTest::ImageDataTest() { void ImageDataTest::moveConstructor() { unsigned char* data = new unsigned char[3]; - Trade::ImageData2D a({1, 3}, ImageFormat::Red, ImageType::UnsignedByte, data); + Trade::ImageData2D a(ImageFormat::Red, ImageType::UnsignedByte, {1, 3}, data); Trade::ImageData2D b(std::move(a)); CORRADE_VERIFY(!a.data()); @@ -58,9 +58,9 @@ void ImageDataTest::moveConstructor() { void ImageDataTest::moveAssignment() { unsigned char* data = new unsigned char[3]; - Trade::ImageData2D a({1, 3}, ImageFormat::Red, ImageType::UnsignedByte, data); + Trade::ImageData2D a(ImageFormat::Red, ImageType::UnsignedByte, {1, 3}, data); - Trade::ImageData2D b({}, ImageFormat::Red, ImageType::UnsignedByte, nullptr); + Trade::ImageData2D b(ImageFormat::Red, ImageType::UnsignedByte, {}, nullptr); b = std::move(a); CORRADE_VERIFY(!a.data()); CORRADE_COMPARE(b.format(), ImageFormat::Red); @@ -71,7 +71,7 @@ void ImageDataTest::moveAssignment() { void ImageDataTest::toReference() { unsigned char* data = new unsigned char[3]; - Trade::ImageData2D a({1, 3}, ImageFormat::Red, ImageType::UnsignedByte, data); + Trade::ImageData2D a(ImageFormat::Red, ImageType::UnsignedByte, {1, 3}, data); ImageReference2D b = a; CORRADE_COMPARE(b.format(), ImageFormat::Red);