From 8109de5461e5078e73e1b1abadbeaa274e5baf78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Branimir=20Karad=C5=BEi=C4=87?= Date: Sat, 20 Jun 2015 14:27:59 -0700 Subject: [PATCH] Cleanup. --- src/image.cpp | 15 ++++++++++----- src/image.h | 3 +++ 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/src/image.cpp b/src/image.cpp index b9fbeedd..fe1d361b 100644 --- a/src/image.cpp +++ b/src/image.cpp @@ -382,19 +382,24 @@ namespace bgfx } } - void imageCopy(uint32_t _width, uint32_t _height, uint32_t _bpp, uint32_t _srcPitch, const void* _src, void* _dst) + void imageCopy(uint32_t _height, uint32_t _srcPitch, const void* _src, uint32_t _dstPitch, void* _dst) { - const uint32_t pitch = _width*_bpp/8; - const uint8_t* src = (uint8_t*) _src; - const uint8_t* next = src + _srcPitch; + const uint32_t pitch = bx::uint32_min(_srcPitch, _dstPitch); + const uint8_t* src = (uint8_t*)_src; uint8_t* dst = (uint8_t*)_dst; - for (uint32_t yy = 0; yy < _height; ++yy, src = next, next += _srcPitch, dst += pitch) + for (uint32_t yy = 0; yy < _height; ++yy, src += _srcPitch, dst += _dstPitch) { memcpy(dst, src, pitch); } } + void imageCopy(uint32_t _width, uint32_t _height, uint32_t _bpp, uint32_t _srcPitch, const void* _src, void* _dst) + { + const uint32_t dstPitch = _width*_bpp/8; + imageCopy(_height, _srcPitch, _src, dstPitch, _dst); + } + void imageWriteTga(bx::WriterI* _writer, uint32_t _width, uint32_t _height, uint32_t _srcPitch, const void* _src, bool _grayscale, bool _yflip) { uint8_t type = _grayscale ? 3 : 2; diff --git a/src/image.h b/src/image.h index ab0efa0c..56978407 100644 --- a/src/image.h +++ b/src/image.h @@ -80,6 +80,9 @@ namespace bgfx /// void imageSwizzleBgra8(uint32_t _width, uint32_t _height, uint32_t _srcPitch, const void* _src, void* _dst); + /// + void imageCopy(uint32_t _height, uint32_t _srcPitch, const void* _src, uint32_t _dstPitch, void* _dst); + /// void imageCopy(uint32_t _width, uint32_t _height, uint32_t _bpp, uint32_t _srcPitch, const void* _src, void* _dst);