///////////////////////////////////////////////////////
| 739 | |
| 740 | //////////////////////////////////////////////////////////// |
| 741 | void Image::flipVertically() |
| 742 | { |
| 743 | if (!m_pixels.empty()) |
| 744 | { |
| 745 | const auto rowSize = static_cast<std::vector<std::uint8_t>::iterator::difference_type>(m_size.x * 4); |
| 746 | |
| 747 | auto top = m_pixels.begin(); |
| 748 | auto bottom = m_pixels.end() - rowSize; |
| 749 | |
| 750 | for (std::size_t y = 0; y < m_size.y / 2; ++y) |
| 751 | { |
| 752 | std::swap_ranges(top, top + rowSize, bottom); |
| 753 | |
| 754 | top += rowSize; |
| 755 | bottom -= rowSize; |
| 756 | } |
| 757 | } |
| 758 | } |
| 759 | |
| 760 | } // namespace sf |
no test coverage detected