From ca3b0f7d63c293e70dca65ecc8907e9bb8fa2abe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Thu, 21 Mar 2013 12:20:07 +0100 Subject: [PATCH] Added debug output operator for Buffer::Target. --- src/Buffer.cpp | 36 ++++++++++++++++++++++++++++++++++++ src/Buffer.h | 3 +++ 2 files changed, 39 insertions(+) diff --git a/src/Buffer.cpp b/src/Buffer.cpp index dd108bd2e..2fa92c0b2 100644 --- a/src/Buffer.cpp +++ b/src/Buffer.cpp @@ -221,4 +221,40 @@ bool Buffer::unmapImplementationDSA() { } #endif +#ifndef DOXYGEN_GENERATING_OUTPUT +Debug operator<<(Debug debug, Buffer::Target value) { + switch(value) { + #define _c(value) case Buffer::Target::value: return debug << "Buffer::Target::" #value; + _c(Array) + #ifndef MAGNUM_TARGET_GLES + _c(AtomicCounter) + #endif + #ifndef MAGNUM_TARGET_GLES2 + _c(CopyRead) + _c(CopyWrite) + #endif + #ifndef MAGNUM_TARGET_GLES + _c(DispatchIndirect) + _c(DrawIndirect) + #endif + _c(ElementArray) + #ifndef MAGNUM_TARGET_GLES2 + _c(PixelPack) + _c(PixelUnpack) + #endif + #ifndef MAGNUM_TARGET_GLES + _c(ShaderStorage) + _c(Texture) + #endif + #ifndef MAGNUM_TARGET_GLES2 + _c(TransformFeedback) + _c(Uniform) + #endif + #undef _c + } + + return debug << "Buffer::Target::(invalid)"; +} +#endif + } diff --git a/src/Buffer.h b/src/Buffer.h index 6f28cfb23..9d3e0c7e9 100644 --- a/src/Buffer.h +++ b/src/Buffer.h @@ -781,6 +781,9 @@ class MAGNUM_EXPORT Buffer { CORRADE_ENUMSET_OPERATORS(Buffer::MapFlags) +/** @debugoperator{Magnum::Buffer} */ +Debug MAGNUM_EXPORT operator<<(Debug debug, Buffer::Target value); + } #endif