}
template <class DST, class SRC>
-static inline void qt_memrotate180_template(const SRC *src,
- int w, int h, int sstride,
- DST *dest, int dstride)
-{
- const char *s = (const char*)(src) + (h - 1) * sstride;
- for (int y = h - 1; y >= 0; --y) {
- DST *d = reinterpret_cast<DST*>((char *)(dest) + (h - y - 1) * dstride);
- src = reinterpret_cast<const SRC*>(s);
- for (int x = w - 1; x >= 0; --x) {
- d[w - x - 1] = src[x];
- }
- s -= sstride;
- }
-}
-
-template <class DST, class SRC>
static inline void qt_memrotate270_template(const SRC *src,
int srcWidth, int srcHeight, int srcStride,
DST *dest, int dstStride)
{ \
qt_memrotate90_template(src, w, h, sstride, dest, dstride); \
} \
-void qt_memrotate180(const srctype *src, int w, int h, int sstride, \
- desttype *dest, int dstride) \
-{ \
- qt_memrotate180_template(src, w, h, sstride, dest, dstride); \
-} \
void qt_memrotate270(const srctype *src, int w, int h, int sstride, \
desttype *dest, int dstride) \
{ \
QT_END_NAMESPACE
-
-
-
#define QT_DECL_MEMROTATE(srctype, desttype) \
void qt_memrotate90(const srctype*, int, int, int, desttype*, int); \
- void qt_memrotate180(const srctype*, int, int, int, desttype*, int); \
void qt_memrotate270(const srctype*, int, int, int, desttype*, int)
QT_DECL_MEMROTATE(quint8, quint8);