From c279a161dbe58d66988ee47368c6f49fac685a11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Vladim=C3=ADr=20Vondru=C5=A1?= Date: Sat, 24 Aug 2013 22:27:29 +0200 Subject: [PATCH] Removed annoying Doxygen workaround for #undef. --- doc/portability.dox | 6 ++-- doc/required-extensions.dox | 12 ++++---- src/Magnum.h | 54 +++++++++++++++------------------- src/Platform/NaClApplication.h | 6 ++-- 4 files changed, 35 insertions(+), 43 deletions(-) diff --git a/doc/portability.dox b/doc/portability.dox index ac8e74a70..9c5031a6f 100644 --- a/doc/portability.dox +++ b/doc/portability.dox @@ -39,9 +39,9 @@ format is not supported. If you include Magnum.h, you get these predefined macros: -- @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES" if targeting OpenGL ES 2.0 or - 3.0 -- @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2" if targeting OpenGL ES 2.0 +- @ref MAGNUM_TARGET_GLES if targeting OpenGL ES +- @ref MAGNUM_TARGET_GLES2 if targeting OpenGL ES 2.0 +- @ref MAGNUM_TARGET_GLES3 if targeting OpenGL ES 3.0 Example usage: @code diff --git a/doc/required-extensions.dox b/doc/required-extensions.dox index e2c4d8b14..8761f2254 100644 --- a/doc/required-extensions.dox +++ b/doc/required-extensions.dox @@ -29,8 +29,8 @@ The engine is meant to be run on OpenGL 3 capable hardware, but most of the functionality is working in OpenGL 2.1 hardware too (i.e. integrated Intel GPUs), unless stated otherwise. OpenGL ES is also supported. -@see @ref building, @ref cmake, @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES", - @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2" +@see @ref building, @ref cmake, @ref MAGNUM_TARGET_GLES, + @ref MAGNUM_TARGET_GLES2 Following are lists of functionality requiring specific OpenGL version. In most cases it is also specified which extension is required for given @@ -67,15 +67,15 @@ supported on Intel GPUs even if they are capable of OpenGL 2.1 only). @page requires-extension Functionality requiring specific OpenGL extension @page requires-gl Functionality requiring desktop OpenGL (not available on OpenGL ES) -@see @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES" +@see @ref MAGNUM_TARGET_GLES @page requires-gles20 Functionality requiring OpenGL ES 2.0 (not available in ES 3.0 and desktop OpenGL) -@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2" +@see @ref MAGNUM_TARGET_GLES2 @page requires-gles30 Functionality requiring OpenGL ES 3.0 -@see @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3" +@see @ref MAGNUM_TARGET_GLES3 @page requires-es-extension Functionality requiring specific OpenGL ES extension -@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2" +@see @ref MAGNUM_TARGET_GLES2 */ diff --git a/src/Magnum.h b/src/Magnum.h index 815753ee7..7b982e0ad 100644 --- a/src/Magnum.h +++ b/src/Magnum.h @@ -65,62 +65,54 @@ using Corrade::Utility::Warning; using Corrade::Utility::Error; #ifdef DOXYGEN_GENERATING_OUTPUT - -/** @todoc remove trailing underscores when Doxygen can handle `undef` */ - /** @brief Static library build -`MAGNUM_BUILD_STATIC` is defined if build as static libraries. Default are -shared libraries. +Defined if built as static libraries. Default are shared libraries. @see @ref building-corrade */ -#define MAGNUM_BUILD_STATIC_ +#define MAGNUM_BUILD_STATIC +#undef MAGNUM_BUILD_STATIC /** @brief OpenGL ES target -`MAGNUM_TARGET_GLES` is defined if the engine is built for OpenGL ES 3.0 or -OpenGL ES 2.0. -@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", - @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3", - @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", - @ref building +Defined if the engine is built for OpenGL ES 3.0 or OpenGL ES 2.0. +@see @ref MAGNUM_TARGET_GLES2, @ref MAGNUM_TARGET_GLES3, + @ref MAGNUM_TARGET_DESKTOP_GLES, @ref building */ -#define MAGNUM_TARGET_GLES_ +#define MAGNUM_TARGET_GLES +#undef MAGNUM_TARGET_GLES /** @brief OpenGL ES 2.0 target. -`MAGNUM_TARGET_GLES2` is defined if the engine is built for OpenGL ES 2.0. -Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". -@see @ref MAGNUM_TARGET_GLES3_ "MAGNUM_TARGET_GLES3", - @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", - @ref building +Defined if the engine is built for OpenGL ES 2.0. Implies also +@ref MAGNUM_TARGET_GLES. +@see @ref MAGNUM_TARGET_GLES3, @ref MAGNUM_TARGET_DESKTOP_GLES, @ref building */ -#define MAGNUM_TARGET_GLES2_ +#define MAGNUM_TARGET_GLES2 +#undef MAGNUM_TARGET_GLES2 /** @brief OpenGL ES 3.0 target. -`MAGNUM_TARGET_GLES3` is defined if the engine is built for OpenGL ES 3.0. -Implies also @ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". -@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", - @ref MAGNUM_TARGET_DESKTOP_GLES_ "MAGNUM_TARGET_DESKTOP_GLES", - @ref building +Defined if the engine is built for OpenGL ES 3.0. Implies also +@ref MAGNUM_TARGET_GLES. +@see @ref MAGNUM_TARGET_GLES2, @ref MAGNUM_TARGET_DESKTOP_GLES, @ref building */ -#define MAGNUM_TARGET_GLES3_ +#define MAGNUM_TARGET_GLES3 +#undef MAGNUM_TARGET_GLES3 /** @brief Desktop emulation of OpenGL ES target -`MAGNUM_TARGET_DESKTOP_GLES` is defined if the engine is built for OpenGL ES -3.0 or OpenGL ES 2.0 emulated within standard desktop OpenGL. Implies also -@ref MAGNUM_TARGET_GLES_ "MAGNUM_TARGET_GLES". -@see @ref MAGNUM_TARGET_GLES2_ "MAGNUM_TARGET_GLES2", @ref building +Defined if the engine is built for OpenGL ES 3.0 or OpenGL ES 2.0 emulated +within standard desktop OpenGL. Implies also @ref MAGNUM_TARGET_GLES. +@see @ref MAGNUM_TARGET_GLES2, @ref building */ -#define MAGNUM_TARGET_DESKTOP_GLES_ - +#define MAGNUM_TARGET_DESKTOP_GLES +#undef MAGNUM_TARGET_DESKTOP_GLES #endif /** @{ @name Basic type definitions diff --git a/src/Platform/NaClApplication.h b/src/Platform/NaClApplication.h index f3f531f46..815d39601 100644 --- a/src/Platform/NaClApplication.h +++ b/src/Platform/NaClApplication.h @@ -105,8 +105,8 @@ status displayed in the remaining two `<div>`s, if they are available. The CSS file contains rudimentary style to avoid eye bleeding. The `<embed>` file references NMF file which you need to provide too. If -you target @ref CORRADE_TARGET_NACL_NEWLIB_ "newlib", the file is pretty -simple, for example: +you target @ref CORRADE_TARGET_NACL_NEWLIB "newlib", the file is pretty simple, +for example: @code { "program": { @@ -116,7 +116,7 @@ simple, for example: } @endcode -If you target @ref CORRADE_TARGET_NACL_GLIBC_ "glibc", you need to specify also +If you target @ref CORRADE_TARGET_NACL_GLIBC "glibc", you need to specify also all additional dependencies. See [Native Client](https://developers.google.com/native-client/) documentation for more information.