Browse Source

doc: label deprecated APIs and stuff new since 2019.10 with version info.

Should make new things more discoverable, avoid confusion when a
documented API isn't there and reduce the need for maintaining multiple
separate versions of the docs.
pull/397/head
Vladimír Vondruš 7 years ago
parent
commit
a920722839
  1. 8
      Doxyfile
  2. 10
      Doxyfile-mcss
  3. 8
      Doxyfile-public
  4. 4
      doc/namespaces.dox
  5. 9
      src/Magnum/Audio/Buffer.h
  6. 3
      src/Magnum/Audio/Source.h
  7. 6
      src/Magnum/DebugTools/ForceRenderer.h
  8. 4
      src/Magnum/DebugTools/ObjectRenderer.h
  9. 4
      src/Magnum/DebugTools/Screenshot.h
  10. 4
      src/Magnum/FileCallback.h
  11. 3
      src/Magnum/GL/AbstractFramebuffer.h
  12. 5
      src/Magnum/GL/Attribute.h
  13. 10
      src/Magnum/GL/Buffer.h
  14. 1
      src/Magnum/GL/BufferTexture.h
  15. 3
      src/Magnum/GL/Context.h
  16. 6
      src/Magnum/GL/CubeMapTexture.h
  17. 6
      src/Magnum/GL/CubeMapTextureArray.h
  18. 32
      src/Magnum/GL/PixelFormat.h
  19. 6
      src/Magnum/GL/RectangleTexture.h
  20. 3
      src/Magnum/GL/Renderer.h
  21. 6
      src/Magnum/GL/Texture.h
  22. 6
      src/Magnum/GL/TextureArray.h
  23. 17
      src/Magnum/GL/TextureFormat.h
  24. 27
      src/Magnum/Image.h
  25. 40
      src/Magnum/ImageView.h
  26. 5
      src/Magnum/Magnum.h
  27. 5
      src/Magnum/Math/BoolVector.h
  28. 17
      src/Magnum/Math/Color.h
  29. 1
      src/Magnum/Math/ConfigurationValue.h
  30. 38
      src/Magnum/Math/Frustum.h
  31. 12
      src/Magnum/Math/Functions.h
  32. 26
      src/Magnum/Math/Geometry/Distance.h
  33. 14
      src/Magnum/Math/Geometry/Intersection.h
  34. 2
      src/Magnum/Math/Intersection.h
  35. 3
      src/Magnum/Math/Matrix.h
  36. 2
      src/Magnum/Math/Matrix4.h
  37. 4
      src/Magnum/Math/Swizzle.h
  38. 10
      src/Magnum/Math/TypeTraits.h
  39. 2
      src/Magnum/Math/Vector.h
  40. 9
      src/Magnum/MeshTools/Compile.h
  41. 1
      src/Magnum/MeshTools/Duplicate.h
  42. 2
      src/Magnum/MeshTools/GenerateFlatNormals.h
  43. 6
      src/Magnum/MeshTools/GenerateNormals.h
  44. 118
      src/Magnum/PixelFormat.h
  45. 1
      src/Magnum/Platform/AbstractXApplication.h
  46. 1
      src/Magnum/Platform/AndroidApplication.h
  47. 9
      src/Magnum/Platform/EmscriptenApplication.h
  48. 58
      src/Magnum/Platform/GlfwApplication.h
  49. 13
      src/Magnum/Platform/Screen.h
  50. 33
      src/Magnum/Platform/Sdl2Application.h
  51. 1
      src/Magnum/Primitives/Circle.h
  52. 14
      src/Magnum/ResourceManager.h
  53. 11
      src/Magnum/SceneGraph/AbstractFeature.h
  54. 11
      src/Magnum/SceneGraph/AbstractObject.h
  55. 11
      src/Magnum/SceneGraph/FeatureGroup.h
  56. 6
      src/Magnum/Shaders/Flat.h
  57. 7
      src/Magnum/Shaders/Generic.h
  58. 9
      src/Magnum/Shaders/Phong.h
  59. 2
      src/Magnum/Shaders/VertexColor.h
  60. 14
      src/Magnum/Text/AbstractFont.h
  61. 4
      src/Magnum/Text/AbstractGlyphCache.h
  62. 5
      src/Magnum/TextureTools/DistanceField.h
  63. 2
      src/Magnum/Trade/AbstractImporter.h
  64. 2
      src/Magnum/Trade/AbstractMaterialData.h
  65. 2
      src/Magnum/Trade/CameraData.h
  66. 17
      src/Magnum/Trade/ImageData.h
  67. 2
      src/Magnum/Trade/PhongMaterialData.h

8
Doxyfile

@ -315,7 +315,13 @@ ALIASES = \
"fn_al_keyword{1}=@fn_al{\1}" \ "fn_al_keyword{1}=@fn_al{\1}" \
"fn_alc_keyword{1}=@fn_alc{\1}" \ "fn_alc_keyword{1}=@fn_alc{\1}" \
"def_al_keyword{1}=@def_al{\1}" \ "def_al_keyword{1}=@def_al{\1}" \
"def_alc_keyword{1}=@def_alc{\1}" "def_alc_keyword{1}=@def_alc{\1}" \
"m_since{2}=@since \1.\2" \
"m_since_{2}=@since \2.\3" \
"m_since_latest=" \
"m_since_latest_=" \
"m_deprecated_since{2}=@deprecated" \
"m_deprecated_since_latest=@deprecated"
# This tag can be used to specify a number of word-keyword mappings (TCL only). # This tag can be used to specify a number of word-keyword mappings (TCL only).
# A mapping has the form "name=value". For example adding "class=itcl::class" # A mapping has the form "name=value". For example adding "class=itcl::class"

10
Doxyfile-mcss

@ -96,7 +96,13 @@ ALIASES = \
"fn_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"al\1()\" />@endxmlonly @fn_al{\1}" \ "fn_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"al\1()\" />@endxmlonly @fn_al{\1}" \
"fn_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"alc\1()\" />@endxmlonly @fn_alc{\1}" \ "fn_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"alc\1()\" />@endxmlonly @fn_alc{\1}" \
"def_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"AL_\1\" />@endxmlonly @def_al{\1}" \ "def_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"AL_\1\" />@endxmlonly @def_al{\1}" \
"def_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"ALC_\1\" />@endxmlonly @def_alc{\1}" "def_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"ALC_\1\" />@endxmlonly @def_alc{\1}" \
"m_since{2}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-\2 \"new&nbsp;in&nbsp;\1.\2\"" \
"m_since_{3}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-\2-\3 \"new&nbsp;in&nbsp;\2.\3\"" \
"m_since_latest=@since @m_class{m-label m-success m-flat} @ref changelog-latest \"new&nbsp;in&nbsp;Git&nbsp;master\"" \
"m_since_latest_{1}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-latest \"new&nbsp;in&nbsp;Git&nbsp;master\"" \
"m_deprecated_since{2}=@since deprecated&nbsp;in&nbsp;\1.\2 @deprecated" \
"m_deprecated_since_latest=@since deprecated&nbsp;in&nbsp;Git&nbsp;master @deprecated"
HTML_EXTRA_STYLESHEET = \ HTML_EXTRA_STYLESHEET = \
https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600&subset=latin-ext \ https://fonts.googleapis.com/css?family=Source+Sans+Pro:400,400i,600,600i%7CSource+Code+Pro:400,400i,600&subset=latin-ext \
@ -118,4 +124,6 @@ HTML_EXTRA_STYLESHEET = \
##! "files" \ ##! "files" \
##! "<a href="../../../../magnum-bindings/build/doc/python/index.html">Python API</a>" ##! "<a href="../../../../magnum-bindings/build/doc/python/index.html">Python API</a>"
##! M_VERSION_LABELS = YES
# kate: hl Doxyfile # kate: hl Doxyfile

8
Doxyfile-public

@ -91,7 +91,13 @@ ALIASES = \
"fn_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"al\1()\" />@endxmlonly @fn_al{\1}" \ "fn_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"al\1()\" />@endxmlonly @fn_al{\1}" \
"fn_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"alc\1()\" />@endxmlonly @fn_alc{\1}" \ "fn_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"alc\1()\" />@endxmlonly @fn_alc{\1}" \
"def_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"AL_\1\" />@endxmlonly @def_al{\1}" \ "def_al_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"AL_\1\" />@endxmlonly @def_al{\1}" \
"def_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"ALC_\1\" />@endxmlonly @def_alc{\1}" "def_alc_keyword{1}=@xmlonly<mcss:search xmlns:mcss=\"http://mcss.mosra.cz/doxygen/\" mcss:keywords=\"ALC_\1\" />@endxmlonly @def_alc{\1}" \
"m_since{2}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-\2 \"new&nbsp;in&nbsp;\1.\2\"" \
"m_since_{3}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-\2-\3 \"new&nbsp;in&nbsp;\2.\3\"" \
"m_since_latest=@since @m_class{m-label m-success m-flat} @ref changelog-latest \"new&nbsp;in&nbsp;Git&nbsp;master\"" \
"m_since_latest_{1}=@since @m_class{m-label m-success m-flat} @ref changelog-\1-latest \"new&nbsp;in&nbsp;Git&nbsp;master\"" \
"m_deprecated_since{2}=@since deprecated&nbsp;in&nbsp;\1.\2 @deprecated" \
"m_deprecated_since_latest=@since deprecated&nbsp;in&nbsp;Git&nbsp;master @deprecated"
GENERATE_TODOLIST = NO GENERATE_TODOLIST = NO
GENERATE_BUGLIST = NO GENERATE_BUGLIST = NO

4
doc/namespaces.dox

@ -178,11 +178,11 @@ See @ref building and @ref cmake for more information.
/** @dir Magnum/Math/Geometry /** @dir Magnum/Math/Geometry
* @brief Namespace @ref Magnum::Math::Geometry * @brief Namespace @ref Magnum::Math::Geometry
* @deprecated Use @ref Magnum/Math/Distance.h and * @m_deprecated_since{2018,10} Use @ref Magnum/Math/Distance.h and
@ref Magnum/Math/Intersection.h instead. @ref Magnum/Math/Intersection.h instead.
*/ */
/** @namespace Magnum::Math::Geometry /** @namespace Magnum::Math::Geometry
* @deprecated Use @ref Magnum::Math::Distance and * @m_deprecated_since{2018,10} Use @ref Magnum::Math::Distance and
@ref Magnum::Math::Intersection namespaces instead. @ref Magnum::Math::Intersection namespaces instead.
*/ */

9
src/Magnum/Audio/Buffer.h

@ -94,6 +94,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Buffer size in bytes * @brief Buffer size in bytes
* @m_since{2019,10}
* *
* @see @ref channels(), @ref bitDepth(), @ref sampleCount() * @see @ref channels(), @ref bitDepth(), @ref sampleCount()
*/ */
@ -105,6 +106,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Buffer channel count * @brief Buffer channel count
* @m_since{2019,10}
* *
* @see @ref size(), @ref bitDepth(), @ref sampleCount() * @see @ref size(), @ref bitDepth(), @ref sampleCount()
*/ */
@ -116,6 +118,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Buffer bit depth * @brief Buffer bit depth
* @m_since{2019,10}
* *
* @see @ref size(), @ref channels(), @ref sampleCount() * @see @ref size(), @ref channels(), @ref sampleCount()
*/ */
@ -127,6 +130,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Buffer sample count * @brief Buffer sample count
* @m_since{2019,10}
* *
* Calculated from @ref size(), @ref channels() and @ref bitDepth(). * Calculated from @ref size(), @ref channels() and @ref bitDepth().
*/ */
@ -135,6 +139,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Get buffer loop points * @brief Get buffer loop points
* @return A @ref std::pair containing the start and end loop points * @return A @ref std::pair containing the start and end loop points
* @m_since{2019,10}
* *
* @requires_al_extension Extension @al_extension{SOFT,loop_points} * @requires_al_extension Extension @al_extension{SOFT,loop_points}
*/ */
@ -149,6 +154,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
* @param loopStart The loop's start point in samples * @param loopStart The loop's start point in samples
* @param loopEnd The loop's end point in samples * @param loopEnd The loop's end point in samples
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since{2019,10}
* *
* The buffer needs to not be attached to a source for this operation * The buffer needs to not be attached to a source for this operation
* to succeed. * to succeed.
@ -160,6 +166,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
* @brief Set buffer to loop from the beginning until a certain point * @brief Set buffer to loop from the beginning until a certain point
* @param loopEnd The loop's end point in samples * @param loopEnd The loop's end point in samples
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since{2019,10}
* *
* Equivalent to calling @ref setLoopPoints() with @p loopStart equal * Equivalent to calling @ref setLoopPoints() with @p loopStart equal
* to @cpp 0 @ce. * to @cpp 0 @ce.
@ -173,6 +180,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
* @brief Set buffer to loop from the a certain point until the end * @brief Set buffer to loop from the a certain point until the end
* @param loopStart The loop's start point in samples * @param loopStart The loop's start point in samples
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since{2019,10}
* *
* Equivalent to calling @ref setLoopPoints() with @p loopEnd equal to * Equivalent to calling @ref setLoopPoints() with @p loopEnd equal to
* @cpp INT_MAX @ce. * @cpp INT_MAX @ce.
@ -185,6 +193,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/** /**
* @brief Resets the loop points * @brief Resets the loop points
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since{2019,10}
* *
* Equivalent to calling @ref setLoopPoints() with @p loopStart equal * Equivalent to calling @ref setLoopPoints() with @p loopStart equal
* to @cpp 0 @ce, and @p loopEnd equal to @cpp INT_MAX @ce. * to @cpp 0 @ce, and @p loopEnd equal to @cpp INT_MAX @ce.

3
src/Magnum/Audio/Source.h

@ -491,6 +491,7 @@ class MAGNUM_AUDIO_EXPORT Source {
/** /**
* @brief Source type * @brief Source type
* @m_since{2019,10}
* *
* @see @ref setBuffer(), @fn_al_keyword{GetSourcei} with * @see @ref setBuffer(), @fn_al_keyword{GetSourcei} with
* @def_al{SOURCE_TYPE} * @def_al{SOURCE_TYPE}
@ -513,6 +514,7 @@ class MAGNUM_AUDIO_EXPORT Source {
* @brief Queue buffers * @brief Queue buffers
* @param buffers Buffers to queue * @param buffers Buffers to queue
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since{2019,10}
* *
* Changes source type to @ref Type::Streaming. The buffers must be * Changes source type to @ref Type::Streaming. The buffers must be
* already filled with data. * already filled with data.
@ -524,6 +526,7 @@ class MAGNUM_AUDIO_EXPORT Source {
* @brief Unqueue buffers * @brief Unqueue buffers
* @param buffers Buffers to unqueue * @param buffers Buffers to unqueue
* @return The number of unqueued buffers * @return The number of unqueued buffers
* @m_since{2019,10}
* *
* The unqueued buffers will be listed in the prefix of the array. Use * The unqueued buffers will be listed in the prefix of the array. Use
* @ref Corrade::Containers::ArrayView::prefix() to get it. * @ref Corrade::Containers::ArrayView::prefix() to get it.

6
src/Magnum/DebugTools/ForceRenderer.h

@ -75,7 +75,7 @@ class ForceRendererOptions {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief @copybrief size() * @brief @copybrief size()
* @deprecated Use @ref size() instead. * @m_deprecated_since{2019,10} Use @ref size() instead.
*/ */
constexpr CORRADE_DEPRECATED("use size() instead") Float scale() const { return _size; } constexpr CORRADE_DEPRECATED("use size() instead") Float scale() const { return _size; }
#endif #endif
@ -142,8 +142,8 @@ template<UnsignedInt dimensions> class ForceRenderer: public SceneGraph::Drawabl
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Constructor * @brief Constructor
* @deprecated Implicit @ref ResourceManager singleton is deprecated, * @m_deprecated_since{2019,10} Implicit @ref ResourceManager singleton
* use @ref ForceRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*) * is deprecated, use @ref ForceRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*)
* instead. * instead.
*/ */
explicit CORRADE_DEPRECATED("implicit ResourceManager singleton is deprecated, use a constructor with explicit ResourceManager reference instead") ForceRenderer(SceneGraph::AbstractObject<dimensions, Float>& object, const VectorTypeFor<dimensions, Float>& forcePosition, const VectorTypeFor<dimensions, Float>& force, ResourceKey options = ResourceKey(), SceneGraph::DrawableGroup<dimensions, Float>* drawables = nullptr); explicit CORRADE_DEPRECATED("implicit ResourceManager singleton is deprecated, use a constructor with explicit ResourceManager reference instead") ForceRenderer(SceneGraph::AbstractObject<dimensions, Float>& object, const VectorTypeFor<dimensions, Float>& forcePosition, const VectorTypeFor<dimensions, Float>& force, ResourceKey options = ResourceKey(), SceneGraph::DrawableGroup<dimensions, Float>* drawables = nullptr);

4
src/Magnum/DebugTools/ObjectRenderer.h

@ -108,8 +108,8 @@ template<UnsignedInt dimensions> class ObjectRenderer: public SceneGraph::Drawab
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Constructor * @brief Constructor
* @deprecated Implicit @ref ResourceManager singleton is deprecated, * @m_deprecated_since{2019,10} Implicit @ref ResourceManager singleton
* use @ref ObjectRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*) * is deprecated, use @ref ObjectRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*)
* instead. * instead.
*/ */
explicit CORRADE_DEPRECATED("implicit ResourceManager singleton is deprecated, use a constructor with explicit ResourceManager reference instead") ObjectRenderer(SceneGraph::AbstractObject<dimensions, Float>& object, ResourceKey options = ResourceKey(), SceneGraph::DrawableGroup<dimensions, Float>* drawables = nullptr); explicit CORRADE_DEPRECATED("implicit ResourceManager singleton is deprecated, use a constructor with explicit ResourceManager reference instead") ObjectRenderer(SceneGraph::AbstractObject<dimensions, Float>& object, ResourceKey options = ResourceKey(), SceneGraph::DrawableGroup<dimensions, Float>* drawables = nullptr);

4
src/Magnum/DebugTools/Screenshot.h

@ -43,6 +43,7 @@ namespace Magnum { namespace DebugTools {
@brief Save a screenshot to a file @brief Save a screenshot to a file
@param framebuffer Framebuffer which to read @param framebuffer Framebuffer which to read
@param filename File where to save @param filename File where to save
@m_since{2019,10}
Reads a rectangle of given @p framebuffer, defined by its Reads a rectangle of given @p framebuffer, defined by its
@ref GL::AbstractFramebuffer::viewport() "viewport()". Pixel format is queried @ref GL::AbstractFramebuffer::viewport() "viewport()". Pixel format is queried
@ -68,6 +69,7 @@ example due to unsupported pixel format). A message is printed in each case.
bool MAGNUM_DEBUGTOOLS_EXPORT screenshot(GL::AbstractFramebuffer& framebuffer, const std::string& filename); bool MAGNUM_DEBUGTOOLS_EXPORT screenshot(GL::AbstractFramebuffer& framebuffer, const std::string& filename);
/** @overload /** @overload
@m_since{2019,10}
Useful in case you already have an instance of the converter plugin manager in Useful in case you already have an instance of the converter plugin manager in
your application or if you intend to save screenshots often, as the operation your application or if you intend to save screenshots often, as the operation
@ -80,6 +82,7 @@ bool MAGNUM_DEBUGTOOLS_EXPORT screenshot(PluginManager::Manager<Trade::AbstractI
@param framebuffer Framebuffer which to read @param framebuffer Framebuffer which to read
@param format Pixel format to use @param format Pixel format to use
@param filename File where to save @param filename File where to save
@m_since{2019,10}
Similar to @ref screenshot(GL::AbstractFramebuffer&, PixelFormat, const std::string&) Similar to @ref screenshot(GL::AbstractFramebuffer&, PixelFormat, const std::string&)
but with an explicit pixel format. Useful in cases where the driver-suggested but with an explicit pixel format. Useful in cases where the driver-suggested
@ -89,6 +92,7 @@ incompatible with the framebuffer may result in GL errors.
bool MAGNUM_DEBUGTOOLS_EXPORT screenshot(GL::AbstractFramebuffer& framebuffer, PixelFormat format, const std::string& filename); bool MAGNUM_DEBUGTOOLS_EXPORT screenshot(GL::AbstractFramebuffer& framebuffer, PixelFormat format, const std::string& filename);
/** @overload /** @overload
@m_since{2019,10}
Useful in case you already have an instance of the converter plugin manager in Useful in case you already have an instance of the converter plugin manager in
your application or if you intend to save screenshots often, as the operation your application or if you intend to save screenshots often, as the operation

4
src/Magnum/FileCallback.h

@ -40,6 +40,7 @@ namespace Magnum {
/** /**
@brief Input file callback policy @brief Input file callback policy
@m_since{2019,10}
@see @ref Trade::AbstractImporter::setFileCallback(), @see @ref Trade::AbstractImporter::setFileCallback(),
@ref Trade-AbstractImporter-usage-callbacks @ref Trade-AbstractImporter-usage-callbacks
@ -75,7 +76,8 @@ enum class InputFileCallbackPolicy: UnsignedByte {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @deprecated Use @ref InputFileCallbackPolicy::LoadPermanent instead. * @m_deprecated_since{2019,10} Use @ref InputFileCallbackPolicy::LoadPermanent
* instead.
*/ */
LoadPernament CORRADE_DEPRECATED_ENUM("use LoadPermanent instead") = LoadPermanent, LoadPernament CORRADE_DEPRECATED_ENUM("use LoadPermanent instead") = LoadPermanent,
#endif #endif

3
src/Magnum/GL/AbstractFramebuffer.h

@ -278,6 +278,7 @@ class MAGNUM_GL_EXPORT AbstractFramebuffer {
/** /**
* @brief Implementation-specific color read format * @brief Implementation-specific color read format
* @m_since{2019,10}
* *
* The result is not cached in any way. If * The result is not cached in any way. If
* @gl_extension{ARB,direct_state_access} (part of OpenGL 4.5) is not * @gl_extension{ARB,direct_state_access} (part of OpenGL 4.5) is not
@ -294,6 +295,7 @@ class MAGNUM_GL_EXPORT AbstractFramebuffer {
/** /**
* @brief Implementation-specific color read type * @brief Implementation-specific color read type
* @m_since{2019,10}
* *
* The result is not cached in any way. If * The result is not cached in any way. If
* @gl_extension{ARB,direct_state_access} (part of OpenGL 4.5) is not * @gl_extension{ARB,direct_state_access} (part of OpenGL 4.5) is not
@ -409,6 +411,7 @@ class MAGNUM_GL_EXPORT AbstractFramebuffer {
/** /**
* @brief Read a block of pixels from the framebuffer to an image view * @brief Read a block of pixels from the framebuffer to an image view
* @m_since{2019,10}
* *
* Compared to @ref read(const Range2Di&, Image2D&) the function * Compared to @ref read(const Range2Di&, Image2D&) the function
* reads the pixels into the memory provided by @p image, expecting * reads the pixels into the memory provided by @p image, expecting

5
src/Magnum/GL/Attribute.h

@ -515,7 +515,10 @@ class DynamicAttribute {
*/ */
constexpr DynamicAttribute(Kind kind, UnsignedInt location, Components components, DataType dataType): _kind{kind}, _location{location}, _components{components}, _dataType{dataType} {} constexpr DynamicAttribute(Kind kind, UnsignedInt location, Components components, DataType dataType): _kind{kind}, _location{location}, _components{components}, _dataType{dataType} {}
/** @brief Construct from a compile-time attribute */ /**
* @brief Construct from a compile-time attribute
* @m_since{2019,10}
*/
template<UnsignedInt location_, class T> constexpr DynamicAttribute(const Attribute<location_, T>& attribute); template<UnsignedInt location_, class T> constexpr DynamicAttribute(const Attribute<location_, T>& attribute);
/** @brief Attribute kind */ /** @brief Attribute kind */

10
src/Magnum/GL/Buffer.h

@ -993,7 +993,10 @@ class MAGNUM_GL_EXPORT Buffer: public AbstractObject {
*/ */
Buffer& setData(Containers::ArrayView<const void> data, BufferUsage usage = BufferUsage::StaticDraw); Buffer& setData(Containers::ArrayView<const void> data, BufferUsage usage = BufferUsage::StaticDraw);
/** @overload */ /**
* @overload
* @m_since{2019,10}
*/
template<class T> Buffer& setData(std::initializer_list<T> data, BufferUsage usage = BufferUsage::StaticDraw) { template<class T> Buffer& setData(std::initializer_list<T> data, BufferUsage usage = BufferUsage::StaticDraw) {
return setData({data.begin(), data.size()}, usage); return setData({data.begin(), data.size()}, usage);
} }
@ -1012,7 +1015,10 @@ class MAGNUM_GL_EXPORT Buffer: public AbstractObject {
*/ */
Buffer& setSubData(GLintptr offset, Containers::ArrayView<const void> data); Buffer& setSubData(GLintptr offset, Containers::ArrayView<const void> data);
/** @overload */ /**
* @overload
* @m_since{2019,10}
*/
template<class T> Buffer& setSubData(GLintptr offset, std::initializer_list<T> data) { template<class T> Buffer& setSubData(GLintptr offset, std::initializer_list<T> data) {
return setSubData(offset, {data.begin(), data.size()}); return setSubData(offset, {data.begin(), data.size()});
} }

1
src/Magnum/GL/BufferTexture.h

@ -160,6 +160,7 @@ class MAGNUM_GL_EXPORT BufferTexture: public AbstractTexture {
/** /**
* @brief Texture size * @brief Texture size
* @m_since{2019,10}
* *
* Equivalent to size of the buffer attached to @ref setBuffer() * Equivalent to size of the buffer attached to @ref setBuffer()
* divided by size of a particular @ref BufferTextureFormat. The result * divided by size of a particular @ref BufferTextureFormat. The result

3
src/Magnum/GL/Context.h

@ -417,6 +417,7 @@ class MAGNUM_GL_EXPORT Context {
* @requires_gles SwiftShader doesn't support desktop OpenGL * @requires_gles SwiftShader doesn't support desktop OpenGL
* contexts. Not detectable on WebGL, as browsers * contexts. Not detectable on WebGL, as browsers
* intentionally hide most of the driver information. * intentionally hide most of the driver information.
* @m_since{2019,10}
*/ */
SwiftShader = 1 << 6, SwiftShader = 1 << 6,
#endif #endif
@ -427,6 +428,7 @@ class MAGNUM_GL_EXPORT Context {
* ARM Mali drivers on OpenGL ES. * ARM Mali drivers on OpenGL ES.
* @partialsupport Available only on * @partialsupport Available only on
* @ref CORRADE_TARGET_ANDROID "Android". * @ref CORRADE_TARGET_ANDROID "Android".
* @m_since{2019,10}
*/ */
ArmMali = 1 << 7 ArmMali = 1 << 7
#endif #endif
@ -460,6 +462,7 @@ class MAGNUM_GL_EXPORT Context {
/** /**
* @brief Make a context current * @brief Make a context current
* @m_since{2019,10}
* *
* To be used when you need to manage multiple OpenGL contexts. See * To be used when you need to manage multiple OpenGL contexts. See
* @ref GL-Context-multiple for more information. * @ref GL-Context-multiple for more information.

6
src/Magnum/GL/CubeMapTexture.h

@ -438,7 +438,7 @@ class MAGNUM_GL_EXPORT CubeMapTexture: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief setSrgbDecode() /** @brief @copybrief setSrgbDecode()
* @deprecated Use @ref setSrgbDecode() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbDecode() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbDecode() instead") CubeMapTexture& setSRGBDecode(bool decode) { CORRADE_DEPRECATED("use setSrgbDecode() instead") CubeMapTexture& setSRGBDecode(bool decode) {
return setSrgbDecode(decode); return setSrgbDecode(decode);
@ -694,6 +694,7 @@ class MAGNUM_GL_EXPORT CubeMapTexture: public AbstractTexture {
/** /**
* @brief Read given texture mip level and coordinate to an image view * @brief Read given texture mip level and coordinate to an image view
* @m_since{2019,10}
* *
* Compared to @ref image(CubeMapCoordinate, Int, Image2D&) the * Compared to @ref image(CubeMapCoordinate, Int, Image2D&) the
* function reads the pixels into the memory provided by @p image, * function reads the pixels into the memory provided by @p image,
@ -760,6 +761,7 @@ class MAGNUM_GL_EXPORT CubeMapTexture: public AbstractTexture {
/** /**
* @brief Read given compressed texture mip level to an image view * @brief Read given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedImage(CubeMapCoordinate, Int, CompressedImage2D&) * Compared to @ref compressedImage(CubeMapCoordinate, Int, CompressedImage2D&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,
@ -815,6 +817,7 @@ class MAGNUM_GL_EXPORT CubeMapTexture: public AbstractTexture {
/** /**
* @brief Read a range of given texture mip level to an image view * @brief Read a range of given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref subImage(Int, const Range3Di&, Image3D&) the * Compared to @ref subImage(Int, const Range3Di&, Image3D&) the
* function reads the pixels into the memory provided by @p image, * function reads the pixels into the memory provided by @p image,
@ -875,6 +878,7 @@ class MAGNUM_GL_EXPORT CubeMapTexture: public AbstractTexture {
/** /**
* @brief Read a range of given compressed texture mip level to an image view * @brief Read a range of given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedSubImage(Int, const Range3Di&, CompressedImage3D&) * Compared to @ref compressedSubImage(Int, const Range3Di&, CompressedImage3D&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,

6
src/Magnum/GL/CubeMapTextureArray.h

@ -390,7 +390,7 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief setSrgbDecode() /** @brief @copybrief setSrgbDecode()
* @deprecated Use @ref setSrgbDecode() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbDecode() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbDecode() instead") CubeMapTextureArray& setSRGBDecode(bool decode) { CORRADE_DEPRECATED("use setSrgbDecode() instead") CubeMapTextureArray& setSRGBDecode(bool decode) {
return setSrgbDecode(decode); return setSrgbDecode(decode);
@ -489,6 +489,7 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture {
/** /**
* @brief Read given texture mip level to an image view * @brief Read given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref image(Int, Image3D&) the function reads the pixels * Compared to @ref image(Int, Image3D&) the function reads the pixels
* into the memory provided by @p image, expecting it's not * into the memory provided by @p image, expecting it's not
@ -544,6 +545,7 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture {
/** /**
* @brief Read given compressed texture mip level to an image view * @brief Read given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedImage(Int, CompressedImage3D&) the * Compared to @ref compressedImage(Int, CompressedImage3D&) the
* function reads the pixels into the memory provided by @p image, * function reads the pixels into the memory provided by @p image,
@ -601,6 +603,7 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture {
/** /**
* @brief Read a range of given texture mip level to an image view * @brief Read a range of given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref subImage(Int, const Range3Di&, Image3D&) the * Compared to @ref subImage(Int, const Range3Di&, Image3D&) the
* function reads the pixels into the memory provided by @p image, * function reads the pixels into the memory provided by @p image,
@ -663,6 +666,7 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture {
/** /**
* @brief Read a range of given compressed texture mip level to an image view * @brief Read a range of given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedSubImage(Int, const Range3Di&, CompressedImage3D&) * Compared to @ref compressedSubImage(Int, const Range3Di&, CompressedImage3D&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,

32
src/Magnum/GL/PixelFormat.h

@ -972,6 +972,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc} * @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb} * @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb}
* @m_since{2019,10}
*/ */
SRGBS3tcDxt1 = GL_COMPRESSED_SRGB_S3TC_DXT1_EXT, SRGBS3tcDxt1 = GL_COMPRESSED_SRGB_S3TC_DXT1_EXT,
@ -993,6 +994,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc} * @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb} * @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb}
* @m_since{2019,10}
*/ */
SRGBAlphaS3tcDxt1 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT, SRGBAlphaS3tcDxt1 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT1_EXT,
@ -1012,6 +1014,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc} * @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb} * @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb}
* @m_since{2019,10}
*/ */
SRGBAlphaS3tcDxt3 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT, SRGBAlphaS3tcDxt3 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT3_EXT,
@ -1031,6 +1034,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc} * @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb} * @requires_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb}
* @m_since{2019,10}
*/ */
SRGBAlphaS3tcDxt5 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT, SRGBAlphaS3tcDxt5 = GL_COMPRESSED_SRGB_ALPHA_S3TC_DXT5_EXT,
@ -1685,6 +1689,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc3x3x3 = GL_COMPRESSED_RGBA_ASTC_3x3x3_OES, RGBAAstc3x3x3 = GL_COMPRESSED_RGBA_ASTC_3x3x3_OES,
@ -1694,6 +1699,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc3x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES, SRGB8Alpha8Astc3x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_3x3x3_OES,
@ -1703,6 +1709,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc4x3x3 = GL_COMPRESSED_RGBA_ASTC_4x3x3_OES, RGBAAstc4x3x3 = GL_COMPRESSED_RGBA_ASTC_4x3x3_OES,
@ -1712,6 +1719,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc4x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES, SRGB8Alpha8Astc4x3x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x3x3_OES,
@ -1721,6 +1729,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc4x4x3 = GL_COMPRESSED_RGBA_ASTC_4x4x3_OES, RGBAAstc4x4x3 = GL_COMPRESSED_RGBA_ASTC_4x4x3_OES,
@ -1730,6 +1739,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc4x4x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES, SRGB8Alpha8Astc4x4x3 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x3_OES,
@ -1739,6 +1749,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc4x4x4 = GL_COMPRESSED_RGBA_ASTC_4x4x4_OES, RGBAAstc4x4x4 = GL_COMPRESSED_RGBA_ASTC_4x4x4_OES,
@ -1748,6 +1759,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc4x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES, SRGB8Alpha8Astc4x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_4x4x4_OES,
@ -1757,6 +1769,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc5x4x4 = GL_COMPRESSED_RGBA_ASTC_5x4x4_OES, RGBAAstc5x4x4 = GL_COMPRESSED_RGBA_ASTC_5x4x4_OES,
@ -1766,6 +1779,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc5x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES, SRGB8Alpha8Astc5x4x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x4x4_OES,
@ -1775,6 +1789,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc5x5x4 = GL_COMPRESSED_RGBA_ASTC_5x5x4_OES, RGBAAstc5x5x4 = GL_COMPRESSED_RGBA_ASTC_5x5x4_OES,
@ -1784,6 +1799,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc5x5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES, SRGB8Alpha8Astc5x5x4 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x4_OES,
@ -1793,6 +1809,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc5x5x5 = GL_COMPRESSED_RGBA_ASTC_5x5x5_OES, RGBAAstc5x5x5 = GL_COMPRESSED_RGBA_ASTC_5x5x5_OES,
@ -1802,6 +1819,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc5x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES, SRGB8Alpha8Astc5x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_5x5x5_OES,
@ -1811,6 +1829,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc6x5x5 = GL_COMPRESSED_RGBA_ASTC_6x5x5_OES, RGBAAstc6x5x5 = GL_COMPRESSED_RGBA_ASTC_6x5x5_OES,
@ -1820,6 +1839,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc6x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES, SRGB8Alpha8Astc6x5x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x5x5_OES,
@ -1829,6 +1849,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc6x6x5 = GL_COMPRESSED_RGBA_ASTC_6x6x5_OES, RGBAAstc6x6x5 = GL_COMPRESSED_RGBA_ASTC_6x6x5_OES,
@ -1838,6 +1859,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc6x6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES, SRGB8Alpha8Astc6x6x5 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x5_OES,
@ -1847,6 +1869,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
RGBAAstc6x6x6 = GL_COMPRESSED_RGBA_ASTC_6x6x6_OES, RGBAAstc6x6x6 = GL_COMPRESSED_RGBA_ASTC_6x6x6_OES,
@ -1856,6 +1879,7 @@ enum class CompressedPixelFormat: GLenum {
* *
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0. * @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc} * @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/ */
SRGB8Alpha8Astc6x6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES, SRGB8Alpha8Astc6x6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES,
#endif #endif
@ -1868,6 +1892,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL. * @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc} * @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/ */
RGBPvrtc2bppV1 = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG, RGBPvrtc2bppV1 = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG,
@ -1878,6 +1903,7 @@ enum class CompressedPixelFormat: GLenum {
* textures.** * textures.**
* @requires_gles Not available on desktop OpenGL or WebGL. * @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB} * @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/ */
SRGBPvrtc2bppV1 = GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT, SRGBPvrtc2bppV1 = GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT,
#endif #endif
@ -1889,6 +1915,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL. * @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc} * @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/ */
RGBAPvrtc2bppV1 = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG, RGBAPvrtc2bppV1 = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
@ -1899,6 +1926,7 @@ enum class CompressedPixelFormat: GLenum {
* map array textures.** * map array textures.**
* @requires_gles Not available on desktop OpenGL or WebGL. * @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB} * @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/ */
SRGBAlphaPvrtc2bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT, SRGBAlphaPvrtc2bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT,
#endif #endif
@ -1910,6 +1938,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL. * @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc} * @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/ */
RGBPvrtc4bppV1 = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG, RGBPvrtc4bppV1 = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
@ -1920,6 +1949,7 @@ enum class CompressedPixelFormat: GLenum {
* textures.** * textures.**
* @requires_gles Not available on desktop OpenGL or WebGL. * @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB} * @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/ */
SRGBPvrtc4bppV1 = GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT, SRGBPvrtc4bppV1 = GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT,
#endif #endif
@ -1931,6 +1961,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL. * @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc} * @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc} * @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/ */
RGBAPvrtc4bppV1 = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG, RGBAPvrtc4bppV1 = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
@ -1941,6 +1972,7 @@ enum class CompressedPixelFormat: GLenum {
* map array textures.** * map array textures.**
* @requires_gles Not available on desktop OpenGL or WebGL. * @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB} * @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/ */
SRGBAlphaPvrtc4bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT SRGBAlphaPvrtc4bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT
#endif #endif

6
src/Magnum/GL/RectangleTexture.h

@ -282,7 +282,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief setSrgbDecode() /** @brief @copybrief setSrgbDecode()
* @deprecated Use @ref setSrgbDecode() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbDecode() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbDecode() instead") RectangleTexture& setSRGBDecode(bool decode) { CORRADE_DEPRECATED("use setSrgbDecode() instead") RectangleTexture& setSRGBDecode(bool decode) {
return setSrgbDecode(decode); return setSrgbDecode(decode);
@ -373,6 +373,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
/** /**
* @brief Read texture to an image view * @brief Read texture to an image view
* @m_since{2019,10}
* *
* Compared to @ref image(Image2D&) the function reads the pixels into * Compared to @ref image(Image2D&) the function reads the pixels into
* the memory provided by @p image, expecting it's not @cpp nullptr @ce * the memory provided by @p image, expecting it's not @cpp nullptr @ce
@ -422,6 +423,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
/** /**
* @brief Read compressed texture to an image view * @brief Read compressed texture to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedImage(CompressedImage2D&) the function * Compared to @ref compressedImage(CompressedImage2D&) the function
* reads the pixels into the memory provided by @p image, expecting * reads the pixels into the memory provided by @p image, expecting
@ -473,6 +475,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
/** /**
* @brief Read a range of given texture mip level to an image view * @brief Read a range of given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref subImage(const Range2Di&, Image2D&) the function * Compared to @ref subImage(const Range2Di&, Image2D&) the function
* reads the pixels into the memory provided by @p image, expecting * reads the pixels into the memory provided by @p image, expecting
@ -528,6 +531,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
/** /**
* @brief Read a compressed texture range to an image view * @brief Read a compressed texture range to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedSubImage(const Range2Di&, CompressedImage2D&) * Compared to @ref compressedSubImage(const Range2Di&, CompressedImage2D&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,

3
src/Magnum/GL/Renderer.h

@ -183,7 +183,8 @@ class MAGNUM_GL_EXPORT Renderer {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* Perform sRGB conversion of values written to sRGB framebuffers. * Perform sRGB conversion of values written to sRGB framebuffers.
* @deprecated Use @ref Feature::FramebufferSrgb instead. * @m_deprecated_since{2018,10} Use @ref Feature::FramebufferSrgb
* instead.
*/ */
FramebufferSRGB CORRADE_DEPRECATED_ENUM("use GL::Renderer::Feature::FramebufferSrgb instead") = FramebufferSrgb, FramebufferSRGB CORRADE_DEPRECATED_ENUM("use GL::Renderer::Feature::FramebufferSrgb instead") = FramebufferSrgb,
#endif #endif

6
src/Magnum/GL/Texture.h

@ -585,7 +585,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief setSrgbDecode() /** @brief @copybrief setSrgbDecode()
* @deprecated Use @ref setSrgbDecode() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbDecode() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbDecode() instead") Texture<dimensions>& setSRGBDecode(bool decode) { CORRADE_DEPRECATED("use setSrgbDecode() instead") Texture<dimensions>& setSRGBDecode(bool decode) {
return setSrgbDecode(decode); return setSrgbDecode(decode);
@ -791,6 +791,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/** /**
* @brief Read given texture mip level to an image view * @brief Read given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref image(Int, Image<dimensions>&) the function reads * Compared to @ref image(Int, Image<dimensions>&) the function reads
* the pixels into the memory provided by @p image, expecting it's not * the pixels into the memory provided by @p image, expecting it's not
@ -873,6 +874,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/** /**
* @brief Read given compressed texture mip level to an image view * @brief Read given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedImage(Int, CompressedImage<dimensions>&) * Compared to @ref compressedImage(Int, CompressedImage<dimensions>&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,
@ -945,6 +947,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/** /**
* @brief Read a range of given texture mip level to an image view * @brief Read a range of given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref subImage(Int, const RangeTypeFor<dimensions, Int>&, Image<dimensions>&) * Compared to @ref subImage(Int, const RangeTypeFor<dimensions, Int>&, Image<dimensions>&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,
@ -1026,6 +1029,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/** /**
* @brief Read a range of given compressed texture mip level to an image view * @brief Read a range of given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedSubImage(Int, const RangeTypeFor<dimensions, Int>&, CompressedImage<dimensions>&) * Compared to @ref compressedSubImage(Int, const RangeTypeFor<dimensions, Int>&, CompressedImage<dimensions>&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,

6
src/Magnum/GL/TextureArray.h

@ -417,7 +417,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief setSrgbDecode() /** @brief @copybrief setSrgbDecode()
* @deprecated Use @ref setSrgbDecode() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbDecode() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbDecode() instead") TextureArray<dimensions>& setSRGBDecode(bool decode) { CORRADE_DEPRECATED("use setSrgbDecode() instead") TextureArray<dimensions>& setSRGBDecode(bool decode) {
return setSrgbDecode(decode); return setSrgbDecode(decode);
@ -526,6 +526,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/** /**
* @brief Read given texture mip level to an image view * @brief Read given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref image(Int, Image<dimensions+1>&) the function reads * Compared to @ref image(Int, Image<dimensions+1>&) the function reads
* the pixels into the memory provided by @p image, expecting it's not * the pixels into the memory provided by @p image, expecting it's not
@ -581,6 +582,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/** /**
* @brief Read given compressed texture mip level to an image view * @brief Read given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedImage(Int, CompressedImage<dimensions+1>&) * Compared to @ref compressedImage(Int, CompressedImage<dimensions+1>&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,
@ -638,6 +640,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/** /**
* @brief Read a range of given texture mip level to an image view * @brief Read a range of given texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref subImage(Int, const RangeTypeFor<dimensions+1, Int>&, Image<dimensions+1>&) * Compared to @ref subImage(Int, const RangeTypeFor<dimensions+1, Int>&, Image<dimensions+1>&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,
@ -700,6 +703,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/** /**
* @brief Read a range of given compressed texture mip level to an image view * @brief Read a range of given compressed texture mip level to an image view
* @m_since{2019,10}
* *
* Compared to @ref compressedSubImage(Int, const RangeTypeFor<dimensions+1, Int>&, CompressedImage<dimensions+1>&) * Compared to @ref compressedSubImage(Int, const RangeTypeFor<dimensions+1, Int>&, CompressedImage<dimensions+1>&)
* the function reads the pixels into the memory provided by @p image, * the function reads the pixels into the memory provided by @p image,

17
src/Magnum/GL/TextureFormat.h

@ -203,6 +203,7 @@ enum class TextureFormat: GLenum {
* @requires_gles One- and two-component sRGB texture formats are not * @requires_gles One- and two-component sRGB texture formats are not
* available in WebGL, use @ref TextureFormat::SRGB8 or * available in WebGL, use @ref TextureFormat::SRGB8 or
* @ref TextureFormat::SRGB8Alpha8 * @ref TextureFormat::SRGB8Alpha8
* @m_since{2019,10}
*/ */
SR8 = GL_SR8_EXT, SR8 = GL_SR8_EXT,
@ -215,6 +216,7 @@ enum class TextureFormat: GLenum {
* @ref TextureFormat::SRGB8Alpha8 instead. Only * @ref TextureFormat::SRGB8Alpha8 instead. Only
* @ref TextureFormat::SR8, @ref TextureFormat::SRGB8 or * @ref TextureFormat::SR8, @ref TextureFormat::SRGB8 or
* @ref TextureFormat::SRGB8Alpha8 is available in desktop OpenGL. * @ref TextureFormat::SRGB8Alpha8 is available in desktop OpenGL.
* @m_since{2019,10}
*/ */
SRG8 = GL_SRG8_EXT, SRG8 = GL_SRG8_EXT,
#endif #endif
@ -884,8 +886,8 @@ enum class TextureFormat: GLenum {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** RGB, normalized unsigned, red and green component 3bit, blue 2bit. /** RGB, normalized unsigned, red and green component 3bit, blue 2bit.
* @deprecated This one had a misleading typo in the name, use * @m_deprecated_since{2019,10} This one had a misleading typo in the name,
* @ref TextureFormat::R3G3B2 instead. * use @ref TextureFormat::R3G3B2 instead.
*/ */
R3B3G2 CORRADE_DEPRECATED_ENUM("use R3G3B2 instead") = R3G3B2, R3B3G2 CORRADE_DEPRECATED_ENUM("use R3G3B2 instead") = R3G3B2,
#endif #endif
@ -1040,6 +1042,7 @@ enum class TextureFormat: GLenum {
* @requires_es_extension Extension @gl_extension{APPLE,texture_format_BGRA8888} * @requires_es_extension Extension @gl_extension{APPLE,texture_format_BGRA8888}
* or @gl_extension{EXT,texture_format_BGRA8888} * or @gl_extension{EXT,texture_format_BGRA8888}
* @requires_gles Only RGBA component ordering is available in WebGL. * @requires_gles Only RGBA component ordering is available in WebGL.
* @m_since{2019,10}
*/ */
BGRA = GL_BGRA_EXT, BGRA = GL_BGRA_EXT,
@ -1051,6 +1054,7 @@ enum class TextureFormat: GLenum {
* @requires_es_extension Extension @gl_extension{APPLE,texture_format_BGRA8888}. There are no signed * @requires_es_extension Extension @gl_extension{APPLE,texture_format_BGRA8888}. There are no signed
* normalized, integral or floating-point types with BGRA ordering. * normalized, integral or floating-point types with BGRA ordering.
* @requires_gles Only RGBA component ordering is available in WebGL. * @requires_gles Only RGBA component ordering is available in WebGL.
* @m_since{2019,10}
*/ */
BGRA8 = GL_BGRA8_EXT, BGRA8 = GL_BGRA8_EXT,
#endif #endif
@ -2464,6 +2468,7 @@ enum class TextureFormat: GLenum {
/** /**
@brief Check availability of a sized generic texture format @brief Check availability of a sized generic texture format
@m_since{2019,10}
Some OpenGL targets don't support sized texture formats at all (OpenGL ES 2.0 Some OpenGL targets don't support sized texture formats at all (OpenGL ES 2.0
and WebGL 1.0), some targets miss some variants (for example OpenGL ES doesn't and WebGL 1.0), some targets miss some variants (for example OpenGL ES doesn't
@ -2490,6 +2495,7 @@ MAGNUM_GL_EXPORT bool hasTextureFormat(Magnum::PixelFormat format);
/** /**
@brief Convert a generic pixel format to sized OpenGL texture format @brief Convert a generic pixel format to sized OpenGL texture format
@m_since{2019,10}
Not all sized texture formats may be available on all targets and this function Not all sized texture formats may be available on all targets and this function
expects that given format is available on the target. See @ref hasTextureFormat() expects that given format is available on the target. See @ref hasTextureFormat()
@ -2510,6 +2516,7 @@ MAGNUM_GL_EXPORT TextureFormat textureFormat(Magnum::PixelFormat format);
/** /**
@brief Check availability of a generic compressed texture format @brief Check availability of a generic compressed texture format
@m_since{2019,10}
Some OpenGL targets don't support all generic pixel formats (for example PVRTC Some OpenGL targets don't support all generic pixel formats (for example PVRTC
compression might not be available on desktop OpenGL). Returns @cpp false @ce compression might not be available on desktop OpenGL). Returns @cpp false @ce
@ -2532,6 +2539,7 @@ MAGNUM_GL_EXPORT bool hasTextureFormat(Magnum::CompressedPixelFormat format);
/** /**
@brief Convert generic compressed pixel format to OpenGL texture format @brief Convert generic compressed pixel format to OpenGL texture format
@m_since{2019,10}
In case @ref isCompressedPixelFormatImplementationSpecific() returns In case @ref isCompressedPixelFormatImplementationSpecific() returns
@cpp false @ce for @p format, maps it to a corresponding OpenGL pixel format. @cpp false @ce for @p format, maps it to a corresponding OpenGL pixel format.
@ -2549,7 +2557,10 @@ to query availability of given format.
*/ */
MAGNUM_GL_EXPORT TextureFormat textureFormat(Magnum::CompressedPixelFormat format); MAGNUM_GL_EXPORT TextureFormat textureFormat(Magnum::CompressedPixelFormat format);
/** @debugoperatorenum{TextureFormat} */ /**
@debugoperatorenum{TextureFormat}
@m_since{2019,10}
*/
MAGNUM_GL_EXPORT Debug& operator<<(Debug& debug, TextureFormat value); MAGNUM_GL_EXPORT Debug& operator<<(Debug& debug, TextureFormat value);
}} }}

27
src/Magnum/Image.h

@ -375,6 +375,7 @@ template<UnsignedInt dimensions> class Image {
/** /**
* @brief Image data from a r-value * @brief Image data from a r-value
* @m_since{2019,10}
* *
* Unlike @ref data(), which returns a view, this is equivalent to * Unlike @ref data(), which returns a view, this is equivalent to
* @ref release() to avoid a dangling view when the temporary instance * @ref release() to avoid a dangling view when the temporary instance
@ -384,6 +385,7 @@ template<UnsignedInt dimensions> class Image {
Containers::Array<char> data() && { return release(); } Containers::Array<char> data() && { return release(); }
/** @overload /** @overload
* @m_since{2019,10}
* @todo what to do here?! * @todo what to do here?!
*/ */
Containers::Array<char> data() const && = delete; Containers::Array<char> data() const && = delete;
@ -391,8 +393,8 @@ template<UnsignedInt dimensions> class Image {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") T* data() { template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") T* data() {
@ -401,8 +403,8 @@ template<UnsignedInt dimensions> class Image {
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const T* data() const { template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const T* data() const {
@ -412,6 +414,7 @@ template<UnsignedInt dimensions> class Image {
/** /**
* @brief View on pixel data * @brief View on pixel data
* @m_since{2019,10}
* *
* Provides direct and easy-to-use access to image pixels. See * Provides direct and easy-to-use access to image pixels. See
* @ref Image-pixel-views for more information. * @ref Image-pixel-views for more information.
@ -421,6 +424,7 @@ template<UnsignedInt dimensions> class Image {
/** /**
* @brief View on pixel data with a concrete pixel type * @brief View on pixel data with a concrete pixel type
* @m_since{2019,10}
* *
* Compared to non-templated @ref pixels() in addition casts the pixel * Compared to non-templated @ref pixels() in addition casts the pixel
* data to a specified type. The user is responsible for choosing * data to a specified type. The user is responsible for choosing
@ -433,7 +437,10 @@ template<UnsignedInt dimensions> class Image {
return Containers::arrayCast<dimensions, T>(pixels()); return Containers::arrayCast<dimensions, T>(pixels());
} }
/** @overload */ /**
* @overload
* @m_since{2019,10}
*/
template<class T> Containers::StridedArrayView<dimensions, const T> pixels() const { template<class T> Containers::StridedArrayView<dimensions, const T> pixels() const {
return Containers::arrayCast<dimensions, const T>(pixels()); return Containers::arrayCast<dimensions, const T>(pixels());
} }
@ -628,6 +635,7 @@ template<UnsignedInt dimensions> class CompressedImage {
/** /**
* @brief Raw data from a r-value * @brief Raw data from a r-value
* @m_since{2019,10}
* *
* Unlike @ref data(), which returns a view, this is equivalent to * Unlike @ref data(), which returns a view, this is equivalent to
* @ref release() to avoid a dangling view when the temporary instance * @ref release() to avoid a dangling view when the temporary instance
@ -637,6 +645,7 @@ template<UnsignedInt dimensions> class CompressedImage {
Containers::Array<char> data() && { return release(); } Containers::Array<char> data() && { return release(); }
/** @overload /** @overload
* @m_since{2019,10}
* @todo what to do here?! * @todo what to do here?!
*/ */
Containers::Array<char> data() const && = delete; Containers::Array<char> data() const && = delete;
@ -644,8 +653,8 @@ template<UnsignedInt dimensions> class CompressedImage {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") T* data() { template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") T* data() {
@ -654,8 +663,8 @@ template<UnsignedInt dimensions> class CompressedImage {
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const T* data() const { template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const T* data() const {

40
src/Magnum/ImageView.h

@ -355,10 +355,16 @@ template<UnsignedInt dimensions, class T> class ImageView {
*/ */
template<class U> explicit ImageView(U format, const VectorTypeFor<dimensions, Int>& size) noexcept: ImageView{{}, format, size} {} template<class U> explicit ImageView(U format, const VectorTypeFor<dimensions, Int>& size) noexcept: ImageView{{}, format, size} {}
/** @brief Construct from a view of lower dimension count */ /**
* @brief Construct from a view of lower dimension count
* @m_since{2019,10}
*/
template<UnsignedInt otherDimensions, class = typename std::enable_if<(otherDimensions < dimensions)>::type> /*implicit*/ ImageView(const ImageView<otherDimensions, T>& other) noexcept; template<UnsignedInt otherDimensions, class = typename std::enable_if<(otherDimensions < dimensions)>::type> /*implicit*/ ImageView(const ImageView<otherDimensions, T>& other) noexcept;
/** @brief Convert a mutable view to a const one */ /**
* @brief Convert a mutable view to a const one
* @m_since{2019,10}
*/
template<class U, class = typename std::enable_if<std::is_const<T>::value && !std::is_const<U>::value>::type> /*implicit*/ ImageView(const ImageView<dimensions, U>& other) noexcept; template<class U, class = typename std::enable_if<std::is_const<T>::value && !std::is_const<U>::value>::type> /*implicit*/ ImageView(const ImageView<dimensions, U>& other) noexcept;
/** @brief Storage of pixel data */ /** @brief Storage of pixel data */
@ -412,8 +418,8 @@ template<UnsignedInt dimensions, class T> class ImageView {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class U> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const U* data() const { template<class U> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const U* data() const {
@ -431,6 +437,7 @@ template<UnsignedInt dimensions, class T> class ImageView {
/** /**
* @brief View on pixel data * @brief View on pixel data
* @m_since{2019,10}
* *
* Provides direct and easy-to-use access to image pixels. See * Provides direct and easy-to-use access to image pixels. See
* @ref Image-pixel-views for more information. If the view is empty * @ref Image-pixel-views for more information. If the view is empty
@ -441,6 +448,7 @@ template<UnsignedInt dimensions, class T> class ImageView {
/** /**
* @brief View on pixel data with a concrete pixel type * @brief View on pixel data with a concrete pixel type
* @m_since{2019,10}
* *
* Compared to non-templated @ref pixels() in addition casts the pixel * Compared to non-templated @ref pixels() in addition casts the pixel
* data to a specified type. The user is responsible for choosing * data to a specified type. The user is responsible for choosing
@ -470,6 +478,7 @@ template<UnsignedInt dimensions, class T> class ImageView {
/** /**
@brief Const image view @brief Const image view
@m_since{2019,10}
@see @ref ImageView1D, @ref ImageView2D, @ref ImageView3D, @see @ref ImageView1D, @ref ImageView2D, @ref ImageView3D,
@ref BasicMutableImageView @ref BasicMutableImageView
@ -501,6 +510,7 @@ typedef BasicImageView<3> ImageView3D;
/** /**
@brief Mutable image view @brief Mutable image view
@m_since{2019,10}
@see @ref MutableImageView1D, @ref MutableImageView2D, @ref MutableImageView3D, @see @ref MutableImageView1D, @ref MutableImageView2D, @ref MutableImageView3D,
@ref BasicImageView @ref BasicImageView
@ -511,6 +521,7 @@ template<UnsignedInt dimensions> using BasicMutableImageView = ImageView<dimensi
/** /**
@brief One-dimensional mutable image view @brief One-dimensional mutable image view
@m_since{2019,10}
@see @ref ImageView1D, @ref MutableCompressedImageView1D, @ref ImageView @see @ref ImageView1D, @ref MutableCompressedImageView1D, @ref ImageView
*/ */
@ -518,6 +529,7 @@ typedef BasicMutableImageView<1> MutableImageView1D;
/** /**
@brief Two-dimensional mutable image view @brief Two-dimensional mutable image view
@m_since{2019,10}
@see @ref ImageView2D, @ref MutableCompressedImageView2D, @ref ImageView @see @ref ImageView2D, @ref MutableCompressedImageView2D, @ref ImageView
*/ */
@ -525,6 +537,7 @@ typedef BasicMutableImageView<2> MutableImageView2D;
/** /**
@brief Three-dimensional mutable image view @brief Three-dimensional mutable image view
@m_since{2019,10}
@see @ref ImageView3D, @ref MutableCompressedImageView3D, @ref ImageView @see @ref ImageView3D, @ref MutableCompressedImageView3D, @ref ImageView
*/ */
@ -724,10 +737,16 @@ template<UnsignedInt dimensions, class T> class CompressedImageView {
*/ */
template<class U> explicit CompressedImageView(U format, const VectorTypeFor<dimensions, Int>& size) noexcept: CompressedImageView{{}, format, size} {} template<class U> explicit CompressedImageView(U format, const VectorTypeFor<dimensions, Int>& size) noexcept: CompressedImageView{{}, format, size} {}
/** @brief Construct from a view of lower dimension count */ /**
* @brief Construct from a view of lower dimension count
* @m_since{2019,10}
*/
template<UnsignedInt otherDimensions, class = typename std::enable_if<(otherDimensions < dimensions)>::type> /*implicit*/ CompressedImageView(const CompressedImageView<otherDimensions, T>& other) noexcept; template<UnsignedInt otherDimensions, class = typename std::enable_if<(otherDimensions < dimensions)>::type> /*implicit*/ CompressedImageView(const CompressedImageView<otherDimensions, T>& other) noexcept;
/** @brief Convert a mutable view to a const one */ /**
* @brief Convert a mutable view to a const one
* @m_since{2019,10}
*/
template<class U, class = typename std::enable_if<std::is_const<T>::value && !std::is_const<U>::value>::type> /*implicit*/ CompressedImageView(const CompressedImageView<dimensions, U>& other) noexcept; template<class U, class = typename std::enable_if<std::is_const<T>::value && !std::is_const<U>::value>::type> /*implicit*/ CompressedImageView(const CompressedImageView<dimensions, U>& other) noexcept;
/** @brief Storage of compressed pixel data */ /** @brief Storage of compressed pixel data */
@ -761,8 +780,8 @@ template<UnsignedInt dimensions, class T> class CompressedImageView {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class U> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const U* data() const { template<class U> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const U* data() const {
@ -797,6 +816,7 @@ template<UnsignedInt dimensions, class T> class CompressedImageView {
/** /**
@brief Const compressed image view @brief Const compressed image view
@m_since{2019,10}
@see @ref CompressedImageView1D, @ref CompressedImageView2D, @see @ref CompressedImageView1D, @ref CompressedImageView2D,
@ref CompressedImageView3D, @ref BasicMutableImageView @ref CompressedImageView3D, @ref BasicMutableImageView
@ -831,6 +851,7 @@ typedef BasicCompressedImageView<3> CompressedImageView3D;
/** /**
@brief Mutable compressed image view @brief Mutable compressed image view
@m_since{2019,10}
@see @ref MutableCompressedImageView1D, @ref MutableCompressedImageView2D, @see @ref MutableCompressedImageView1D, @ref MutableCompressedImageView2D,
@ref MutableCompressedImageView3D, @ref BasicCompressedImageView @ref MutableCompressedImageView3D, @ref BasicCompressedImageView
@ -841,6 +862,7 @@ template<UnsignedInt dimensions> using BasicMutableCompressedImageView = Compres
/** /**
@brief One-dimensional mutable compressed image view @brief One-dimensional mutable compressed image view
@m_since{2019,10}
@see @ref CompressedImageView1D, @ref MutableImageView1D, @see @ref CompressedImageView1D, @ref MutableImageView1D,
@ref CompressedImageView @ref CompressedImageView
@ -849,6 +871,7 @@ typedef BasicMutableCompressedImageView<1> MutableCompressedImageView1D;
/** /**
@brief Two-dimensional mutable compressed image view @brief Two-dimensional mutable compressed image view
@m_since{2019,10}
@see @ref CompressedImageView2D, @ref MutableImageView2D, @see @ref CompressedImageView2D, @ref MutableImageView2D,
@ref CompressedImageView @ref CompressedImageView
@ -857,6 +880,7 @@ typedef BasicMutableCompressedImageView<2> MutableCompressedImageView2D;
/** /**
@brief Three-dimensional mutable compressed image view @brief Three-dimensional mutable compressed image view
@m_since{2019,10}
@see @ref CompressedImageView3D, @ref MutableImageView3D, @see @ref CompressedImageView3D, @ref MutableImageView3D,
@ref CompressedImageView @ref CompressedImageView

5
src/Magnum/Magnum.h

@ -68,7 +68,7 @@ Defined if built as static libraries. Default are shared libraries.
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief Multi-threaded build /** @brief Multi-threaded build
* @deprecated Use @ref CORRADE_BUILD_MULTITHREADED instead. * @m_deprecated_since{2019,10} Use @ref CORRADE_BUILD_MULTITHREADED instead.
*/ */
#define MAGNUM_BUILD_MULTITHREADED #define MAGNUM_BUILD_MULTITHREADED
#undef MAGNUM_BUILD_MULTITHREADED #undef MAGNUM_BUILD_MULTITHREADED
@ -220,6 +220,7 @@ typedef Math::Half Half;
/** /**
@brief Two-component bool vector @brief Two-component bool vector
@m_since{2019,10}
Equivalent to GLSL @glsl bvec2 @ce. Equivalent to GLSL @glsl bvec2 @ce.
@m_keyword{bvec2,GLSL bvec2,} @m_keyword{bvec2,GLSL bvec2,}
@ -228,6 +229,7 @@ typedef Math::BoolVector<2> BoolVector2;
/** /**
@brief Three-component bool vector @brief Three-component bool vector
@m_since{2019,10}
Equivalent to GLSL @glsl bvec3 @ce. Equivalent to GLSL @glsl bvec3 @ce.
@m_keyword{bvec3,GLSL bvec3,} @m_keyword{bvec3,GLSL bvec3,}
@ -236,6 +238,7 @@ typedef Math::BoolVector<3> BoolVector3;
/** /**
@brief Four-component bool vector @brief Four-component bool vector
@m_since{2019,10}
Equivalent to GLSL @glsl bvec4 @ce. Equivalent to GLSL @glsl bvec4 @ce.
@m_keyword{bvec4,GLSL bvec4,} @m_keyword{bvec4,GLSL bvec4,}

5
src/Magnum/Math/BoolVector.h

@ -206,6 +206,7 @@ template<std::size_t size> class BoolVector {
/** /**
* @brief Component-wise boolean negation * @brief Component-wise boolean negation
* @m_since{2019,10}
* *
* Equivalent to @ref operator~(). See @ref Math-BoolVector-boolean for * Equivalent to @ref operator~(). See @ref Math-BoolVector-boolean for
* more information. * more information.
@ -235,6 +236,7 @@ template<std::size_t size> class BoolVector {
/** /**
* @brief Component-wise boolean AND * @brief Component-wise boolean AND
* @m_since{2019,10}
* *
* Equivalent to @ref operator&(). See @ref Math-BoolVector-boolean for * Equivalent to @ref operator&(). See @ref Math-BoolVector-boolean for
* more information. * more information.
@ -266,8 +268,9 @@ template<std::size_t size> class BoolVector {
/** /**
* @brief Component-wise boolean OR * @brief Component-wise boolean OR
* @m_since{2019,10}
* *
* Equivalent to @ref operator&(). See @ref Math-BoolVector-boolean for * Equivalent to @ref operator|(). See @ref Math-BoolVector-boolean for
* more information. * more information.
*/ */
BoolVector<size> operator||(const BoolVector<size>& other) const { BoolVector<size> operator||(const BoolVector<size>& other) const {

17
src/Magnum/Math/Color.h

@ -254,7 +254,7 @@ template<class T> class Color3: public Vector3<T> {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief ColorHsv /** @brief @copybrief ColorHsv
* @deprecated Use @ref ColorHsv instead. * @m_deprecated_since{2019,10} Use @ref ColorHsv instead.
*/ */
typedef CORRADE_DEPRECATED("use ColorHsv instead") std::tuple<Deg<FloatingPointType>, FloatingPointType, FloatingPointType> Hsv; typedef CORRADE_DEPRECATED("use ColorHsv instead") std::tuple<Deg<FloatingPointType>, FloatingPointType, FloatingPointType> Hsv;
#endif #endif
@ -338,7 +338,8 @@ template<class T> class Color3: public Vector3<T> {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief fromHsv(const ColorHsv<FloatingPointType>&) /** @brief @copybrief fromHsv(const ColorHsv<FloatingPointType>&)
* @deprecated Use @ref fromHsv(const ColorHsv<FloatingPointType>&) instead. * @m_deprecated_since{2019,10} Use @ref fromHsv(const ColorHsv<FloatingPointType>&)
* instead.
*/ */
static CORRADE_DEPRECATED("use fromHsv(const ColorHsv<FloatingPointType>&) instead") Color3<T> fromHsv(Deg<FloatingPointType> hue, FloatingPointType saturation, FloatingPointType value) { static CORRADE_DEPRECATED("use fromHsv(const ColorHsv<FloatingPointType>&) instead") Color3<T> fromHsv(Deg<FloatingPointType> hue, FloatingPointType saturation, FloatingPointType value) {
return fromHsv({hue, saturation, value}); return fromHsv({hue, saturation, value});
@ -613,7 +614,7 @@ class Color4: public Vector4<T> {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief ColorHsv /** @brief @copybrief ColorHsv
* @deprecated Use @ref ColorHsv instead. * @m_deprecated_since{2019,10} Use @ref ColorHsv instead.
*/ */
typedef CORRADE_DEPRECATED("use ColorHsv instead") std::tuple<Deg<FloatingPointType>, FloatingPointType, FloatingPointType> Hsv; typedef CORRADE_DEPRECATED("use ColorHsv instead") std::tuple<Deg<FloatingPointType>, FloatingPointType, FloatingPointType> Hsv;
#endif #endif
@ -694,7 +695,8 @@ class Color4: public Vector4<T> {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief fromHsv(const ColorHsv<FloatingPointType>&, T) /** @brief @copybrief fromHsv(const ColorHsv<FloatingPointType>&, T)
* @deprecated Use @ref fromHsv(const ColorHsv<FloatingPointType>&, T) instead. * @m_deprecated_since{2019,10} Use @ref fromHsv(const ColorHsv<FloatingPointType>&, T)
* instead.
*/ */
static CORRADE_DEPRECATED("use fromHsv(const ColorHsv<FloatingPointType>&, T) instead") Color4<T> fromHsv(Deg<FloatingPointType> hue, FloatingPointType saturation, FloatingPointType value, T alpha = Implementation::fullChannel<T>()) { static CORRADE_DEPRECATED("use fromHsv(const ColorHsv<FloatingPointType>&, T) instead") Color4<T> fromHsv(Deg<FloatingPointType> hue, FloatingPointType saturation, FloatingPointType value, T alpha = Implementation::fullChannel<T>()) {
return fromHsv({hue, saturation, value}, alpha); return fromHsv({hue, saturation, value}, alpha);
@ -1023,6 +1025,7 @@ template<class T> inline Vector3<T> xyzToXyY(const Vector3<T>& xyz) {
/** /**
@brief HSV color @brief HSV color
@m_since{2019,10}
Storage-only type with just the usual constructors and (non-)equality Storage-only type with just the usual constructors and (non-)equality
comparison. comparison.
@ -1061,14 +1064,16 @@ template<class T> struct ColorHsv {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Construct from @ref Color3::Hsv * @brief Construct from @ref Color3::Hsv
* @deprecated Use @ref ColorHsv instead of @ref Color3::Hsv * @m_deprecated_since{2019,10} Use @ref ColorHsv instead of
* @ref Color3::Hsv
*/ */
constexpr CORRADE_DEPRECATED("use ColorHsv instead of Color3::Hsv") /*implicit*/ ColorHsv(std::tuple<Deg<T>, T, T> hsv) noexcept: constexpr CORRADE_DEPRECATED("use ColorHsv instead of Color3::Hsv") /*implicit*/ ColorHsv(std::tuple<Deg<T>, T, T> hsv) noexcept:
hue{std::get<0>(hsv)}, saturation{std::get<1>(hsv)}, value{std::get<2>(hsv)} {} hue{std::get<0>(hsv)}, saturation{std::get<1>(hsv)}, value{std::get<2>(hsv)} {}
/** /**
* @brief Convert to @ref Color3::Hsv * @brief Convert to @ref Color3::Hsv
* @deprecated Use @ref ColorHsv instead of @ref Color3::Hsv * @m_deprecated_since{2019,10} Use @ref ColorHsv instead of
* @ref Color3::Hsv
*/ */
constexpr CORRADE_DEPRECATED("use ColorHsv instead of Color3::Hsv") /*implicit*/ operator std::tuple<Deg<T>, T, T>() const { constexpr CORRADE_DEPRECATED("use ColorHsv instead of Color3::Hsv") /*implicit*/ operator std::tuple<Deg<T>, T, T>() const {
return std::make_tuple(hue, saturation, value); return std::make_tuple(hue, saturation, value);

1
src/Magnum/Math/ConfigurationValue.h

@ -27,6 +27,7 @@
/** @file /** @file
* @brief Configuration value parsers and writers for @ref Magnum::Math types * @brief Configuration value parsers and writers for @ref Magnum::Math types
* @m_since{2019,10}
*/ */
#include <string> #include <string>

38
src/Magnum/Math/Frustum.h

@ -135,8 +135,8 @@ template<class T> class Frustum {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Frustum planes * @brief Frustum planes
* @deprecated Use @ref operator[](std::size_t) const, @ref data() or * @m_deprecated_since{2019,10} Use @ref operator[](std::size_t) const,
* @ref begin() / @ref end() instead. * @ref data() or @ref begin() / @ref end() instead.
*/ */
constexpr CORRADE_DEPRECATED("use operator[](), data() or begin() / end() instead") Corrade::Containers::StaticArrayView<6, const Vector4<T>> planes() const { constexpr CORRADE_DEPRECATED("use operator[](), data() or begin() / end() instead") Corrade::Containers::StaticArrayView<6, const Vector4<T>> planes() const {
/* GCC 4.8 needs explicit construction */ /* GCC 4.8 needs explicit construction */
@ -156,6 +156,7 @@ template<class T> class Frustum {
/** /**
* @brief First plane * @brief First plane
* @m_since{2019,10}
* *
* Together with @ref end() useful for range access, for example here * Together with @ref end() useful for range access, for example here
* to check for a point/frustum intersection, similarly to * to check for a point/frustum intersection, similarly to
@ -164,13 +165,36 @@ template<class T> class Frustum {
* @snippet MagnumMath.cpp Frustum-range * @snippet MagnumMath.cpp Frustum-range
*/ */
Vector4<T>* begin() { return _data; } Vector4<T>* begin() { return _data; }
constexpr const Vector4<T>* begin() const { return _data; } /**< @overload */
constexpr const Vector4<T>* cbegin() const { return _data; } /**< @overload */
/** @brief (One after) last plane */ /**
* @overload
* @m_since{2019,10}
*/
constexpr const Vector4<T>* begin() const { return _data; }
/**
* @overload
* @m_since{2019,10}
*/
constexpr const Vector4<T>* cbegin() const { return _data; }
/**
* @brief (One after) last plane
* @m_since{2019,10}
*/
Vector4<T>* end() { return _data + 6; } Vector4<T>* end() { return _data + 6; }
constexpr const Vector4<T>* end() const { return _data + 6; } /**< @overload */
constexpr const Vector4<T>* cend() const { return _data + 6; } /**< @overload */ /**
* @overload
* @m_since{2019,10}
*/
constexpr const Vector4<T>* end() const { return _data + 6; }
/**
* @overload
* @m_since{2019,10}
*/
constexpr const Vector4<T>* cend() const { return _data + 6; }
/** @brief Left plane */ /** @brief Left plane */
constexpr Vector4<T> left() const { return _data[0]; } constexpr Vector4<T> left() const { return _data[0]; }

12
src/Magnum/Math/Functions.h

@ -186,6 +186,7 @@ the operations component-wise.
/** /**
@brief If given number is a positive or negative infinity @brief If given number is a positive or negative infinity
@m_since{2019,10}
@see @ref isNan(), @ref Constants::inf(), @see @ref isNan(), @ref Constants::inf(),
@ref isInf(Corrade::Containers::StridedArrayView1D<const T>) @ref isInf(Corrade::Containers::StridedArrayView1D<const T>)
@ -194,7 +195,10 @@ template<class T> inline typename std::enable_if<IsScalar<T>::value, bool>::type
return std::isinf(UnderlyingTypeOf<T>(value)); return std::isinf(UnderlyingTypeOf<T>(value));
} }
/** @overload */ /**
@overload
@m_since{2019,10}
*/
template<std::size_t size, class T> inline BoolVector<size> isInf(const Vector<size, T>& value) { template<std::size_t size, class T> inline BoolVector<size> isInf(const Vector<size, T>& value) {
BoolVector<size> out; BoolVector<size> out;
for(std::size_t i = 0; i != size; ++i) for(std::size_t i = 0; i != size; ++i)
@ -204,6 +208,7 @@ template<std::size_t size, class T> inline BoolVector<size> isInf(const Vector<s
/** /**
@brief If given number is a NaN @brief If given number is a NaN
@m_since{2019,10}
Equivalent to @cpp value != value @ce. Equivalent to @cpp value != value @ce.
@see @ref isInf(), @ref Constants::nan(), @see @ref isInf(), @ref Constants::nan(),
@ -212,7 +217,10 @@ Equivalent to @cpp value != value @ce.
/* defined in Vector.h */ /* defined in Vector.h */
template<class T> typename std::enable_if<IsScalar<T>::value, bool>::type isNan(T value); template<class T> typename std::enable_if<IsScalar<T>::value, bool>::type isNan(T value);
/** @overload */ /**
@overload
@m_since{2019,10}
*/
template<std::size_t size, class T> inline BoolVector<size> isNan(const Vector<size, T>& value) { template<std::size_t size, class T> inline BoolVector<size> isNan(const Vector<size, T>& value) {
BoolVector<size> out; BoolVector<size> out;
for(std::size_t i = 0; i != size; ++i) for(std::size_t i = 0; i != size; ++i)

26
src/Magnum/Math/Geometry/Distance.h

@ -27,7 +27,7 @@
*/ */
/** @file /** @file
* @deprecated Use @ref Magnum/Math/Distance.h instead. * @m_deprecated_since{2018,10} Use @ref Magnum/Math/Distance.h instead.
*/ */
#include "Magnum/configure.h" #include "Magnum/configure.h"
@ -38,13 +38,13 @@
CORRADE_DEPRECATED_FILE("use Magnum/Math/Distance.h instead") CORRADE_DEPRECATED_FILE("use Magnum/Math/Distance.h instead")
/** @namespace Magnum::Math::Geometry::Distance /** @namespace Magnum::Math::Geometry::Distance
* @deprecated Use @ref Magnum::Math::Distance instead. * @m_deprecated_since{2018,10} Use @ref Magnum::Math::Distance instead.
*/ */
namespace Magnum { namespace Math { namespace Geometry { namespace Distance { namespace Magnum { namespace Math { namespace Geometry { namespace Distance {
/** @brief @copybrief Math::Distance::linePointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) /** @brief @copybrief Math::Distance::linePointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* @deprecated Use @ref Math::Distance::linePointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::linePointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePointSquared() instead") T linePointSquared(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePointSquared() instead") T linePointSquared(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) {
@ -52,7 +52,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePointSquare
} }
/** @brief @copybrief Math::Distance::linePoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) /** @brief @copybrief Math::Distance::linePoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* @deprecated Use @ref Math::Distance::linePoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::linePoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePoint() instead") T linePoint(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePoint() instead") T linePoint(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) {
@ -60,7 +60,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePoint() ins
} }
/** @brief @copybrief Math::Distance::linePointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) /** @brief @copybrief Math::Distance::linePointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* @deprecated Use @ref Math::Distance::linePointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::linePointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePointSquared() instead") T linePointSquared(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePointSquared() instead") T linePointSquared(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) {
@ -68,7 +68,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePointSquare
} }
/** @brief @copybrief Math::Distance::linePoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) /** @brief @copybrief Math::Distance::linePoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* @deprecated Use @ref Math::Distance::linePoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::linePoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePoint() instead") T linePoint(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePoint() instead") T linePoint(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) {
@ -76,7 +76,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::linePoint() ins
} }
/** @brief @copybrief Math::Distance::lineSegmentPointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) /** @brief @copybrief Math::Distance::lineSegmentPointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* @deprecated Use @ref Math::Distance::lineSegmentPointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::lineSegmentPointSquared(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPointSquared() instead") T lineSegmentPointSquared(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPointSquared() instead") T lineSegmentPointSquared(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) {
@ -84,7 +84,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPoin
} }
/** @brief @copybrief Math::Distance::lineSegmentPoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) /** @brief @copybrief Math::Distance::lineSegmentPoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* @deprecated Use @ref Math::Distance::lineSegmentPoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::lineSegmentPoint(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPoint() instead") T lineSegmentPoint(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPoint() instead") T lineSegmentPoint(const Vector2<T>& a, const Vector2<T>& b, const Vector2<T>& point) {
@ -92,7 +92,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPoin
} }
/** @brief @copybrief Math::Distance::lineSegmentPointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) /** @brief @copybrief Math::Distance::lineSegmentPointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* @deprecated Use @ref Math::Distance::lineSegmentPointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::lineSegmentPointSquared(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPointSquared() instead") T lineSegmentPointSquared(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPointSquared() instead") T lineSegmentPointSquared(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) {
@ -100,7 +100,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPoin
} }
/** @brief @copybrief Math::Distance::lineSegmentPoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) /** @brief @copybrief Math::Distance::lineSegmentPoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* @deprecated Use @ref Math::Distance::lineSegmentPoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::lineSegmentPoint(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPointSquared() instead") T lineSegmentPoint(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPointSquared() instead") T lineSegmentPoint(const Vector3<T>& a, const Vector3<T>& b, const Vector3<T>& point) {
@ -108,7 +108,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::lineSegmentPoin
} }
/** @brief @copybrief Math::Distance::pointPlaneScaled(const Vector3<T>&, const Vector4<T>&) /** @brief @copybrief Math::Distance::pointPlaneScaled(const Vector3<T>&, const Vector4<T>&)
* @deprecated Use @ref Math::Distance::pointPlaneScaled(const Vector3<T>&, const Vector4<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::pointPlaneScaled(const Vector3<T>&, const Vector4<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlaneScaled() instead") T pointPlaneScaled(const Vector3<T>& point, const Vector4<T>& plane) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlaneScaled() instead") T pointPlaneScaled(const Vector3<T>& point, const Vector4<T>& plane) {
@ -116,7 +116,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlaneScale
} }
/** @brief @copybrief Math::Distance::pointPlane(const Vector3<T>&, const Vector4<T>&) /** @brief @copybrief Math::Distance::pointPlane(const Vector3<T>&, const Vector4<T>&)
* @deprecated Use @ref Math::Distance::pointPlane(const Vector3<T>&, const Vector4<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::pointPlane(const Vector3<T>&, const Vector4<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlane() instead") T pointPlane(const Vector3<T>& point, const Vector4<T>& plane) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlane() instead") T pointPlane(const Vector3<T>& point, const Vector4<T>& plane) {
@ -124,7 +124,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlane() in
} }
/** @brief @copybrief Math::Distance::pointPlaneNormalized(const Vector3<T>&, const Vector4<T>&) /** @brief @copybrief Math::Distance::pointPlaneNormalized(const Vector3<T>&, const Vector4<T>&)
* @deprecated Use @ref Math::Distance::pointPlaneNormalized(const Vector3<T>&, const Vector4<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Distance::pointPlaneNormalized(const Vector3<T>&, const Vector4<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlaneNormalized() instead") T pointPlaneNormalized(const Vector3<T>& point, const Vector4<T>& plane) { template<class T> inline CORRADE_DEPRECATED("use Math::Distance::pointPlaneNormalized() instead") T pointPlaneNormalized(const Vector3<T>& point, const Vector4<T>& plane) {

14
src/Magnum/Math/Geometry/Intersection.h

@ -27,7 +27,7 @@
*/ */
/** @file /** @file
* @deprecated Use @ref Magnum/Math/Intersection.h instead. * @m_deprecated_since{201,10} Use @ref Magnum/Math/Intersection.h instead.
*/ */
#include "Magnum/configure.h" #include "Magnum/configure.h"
@ -38,13 +38,13 @@
CORRADE_DEPRECATED_FILE("use Magnum/Math/Intersection.h instead") CORRADE_DEPRECATED_FILE("use Magnum/Math/Intersection.h instead")
/** @namespace Magnum::Math::Geometry::Intersection /** @namespace Magnum::Math::Geometry::Intersection
* @deprecated Use @ref Magnum::Math::Intersection instead. * @m_deprecated_since{2018,10} Use @ref Magnum::Math::Intersection instead.
*/ */
namespace Magnum { namespace Math { namespace Geometry { namespace Intersection { namespace Magnum { namespace Math { namespace Geometry { namespace Intersection {
/** @brief @copybrief Math::Intersection::lineSegmentLineSegment(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) /** @brief @copybrief Math::Intersection::lineSegmentLineSegment(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* @deprecated Use @ref Math::Intersection::lineSegmentLineSegment(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Intersection::lineSegmentLineSegment(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::lineSegmentLineSegment() instead") std::pair<T, T> lineSegmentLineSegment(const Vector2<T>& p, const Vector2<T>& r, const Vector2<T>& q, const Vector2<T>& s) { template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::lineSegmentLineSegment() instead") std::pair<T, T> lineSegmentLineSegment(const Vector2<T>& p, const Vector2<T>& r, const Vector2<T>& q, const Vector2<T>& s) {
@ -52,7 +52,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::lineSegment
} }
/** @brief @copybrief Math::Intersection::lineSegmentLine(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) /** @brief @copybrief Math::Intersection::lineSegmentLine(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* @deprecated Use @ref Math::Intersection::lineSegmentLine(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Intersection::lineSegmentLine(const Vector2<T>&, const Vector2<T>&, const Vector2<T>&, const Vector2<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::lineSegmentLine() instead") T lineSegmentLine(const Vector2<T>& p, const Vector2<T>& r, const Vector2<T>& q, const Vector2<T>& s) { template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::lineSegmentLine() instead") T lineSegmentLine(const Vector2<T>& p, const Vector2<T>& r, const Vector2<T>& q, const Vector2<T>& s) {
@ -60,7 +60,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::lineSegment
} }
/** @brief @copybrief Math::Intersection::planeLine(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) /** @brief @copybrief Math::Intersection::planeLine(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* @deprecated Use @ref Math::Intersection::planeLine(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Intersection::planeLine(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::planeLine() instead") T planeLine(const Vector3<T>& planePosition, const Vector3<T>& planeNormal, const Vector3<T>& p, const Vector3<T>& r) { template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::planeLine() instead") T planeLine(const Vector3<T>& planePosition, const Vector3<T>& planeNormal, const Vector3<T>& p, const Vector3<T>& r) {
@ -68,7 +68,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::planeLine()
} }
/** @brief @copybrief Math::Intersection::pointFrustum(const Vector3<T>&, const Frustum<T>&) /** @brief @copybrief Math::Intersection::pointFrustum(const Vector3<T>&, const Frustum<T>&)
* @deprecated Use @ref Math::Intersection::pointFrustum(const Vector3<T>&, const Frustum<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Intersection::pointFrustum(const Vector3<T>&, const Frustum<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::pointFrustum() instead") bool pointFrustum(const Vector3<T>& point, const Frustum<T>& frustum) { template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::pointFrustum() instead") bool pointFrustum(const Vector3<T>& point, const Frustum<T>& frustum) {
@ -77,7 +77,7 @@ template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::pointFrustu
/** /**
* @brief @copybrief Math::Intersection::rangeFrustum(const Range3D<T>&, const Frustum<T>&) * @brief @copybrief Math::Intersection::rangeFrustum(const Range3D<T>&, const Frustum<T>&)
* @deprecated Use Math::Intersection::rangeFrustum(const Range3D<T>&, const Frustum<T>&) * @m_deprecated_since{2018,10} Use @ref Math::Intersection::rangeFrustum(const Range3D<T>&, const Frustum<T>&)
* instead. * instead.
*/ */
template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::rangeFrustum() instead") bool boxFrustum(const Range3D<T>& box, const Frustum<T>& frustum) { template<class T> inline CORRADE_DEPRECATED("use Math::Intersection::rangeFrustum() instead") bool boxFrustum(const Range3D<T>& box, const Frustum<T>& frustum) {

2
src/Magnum/Math/Intersection.h

@ -143,7 +143,7 @@ template<class T> inline T planeLine(const Vector4<T>& plane, const Vector3<T>&
@param p Starting point of the line @param p Starting point of the line
@param r Direction of the line @param r Direction of the line
@deprecated Use @ref planeLine(const Vector4<T>&, const Vector3<T>&, const Vector3<T>&) @m_deprecated_since{201,10} Use @ref planeLine(const Vector4<T>&, const Vector3<T>&, const Vector3<T>&)
together with @ref planeEquation(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&) together with @ref planeEquation(const Vector3<T>&, const Vector3<T>&, const Vector3<T>&)
instead. instead.
*/ */

3
src/Magnum/Math/Matrix.h

@ -163,6 +163,7 @@ template<std::size_t size, class T> class Matrix: public RectangularMatrix<size,
/** /**
* @brief Cofactor * @brief Cofactor
* @m_since{2019,10}
* *
* Cofactor @f$ C_{i,j} @f$ of a matrix @f$ \boldsymbol{M} @f$ is * Cofactor @f$ C_{i,j} @f$ of a matrix @f$ \boldsymbol{M} @f$ is
* defined as @f$ C_{i,j} = (-1)^{i + j} \det \boldsymbol{M}_{i,j} @f$, * defined as @f$ C_{i,j} = (-1)^{i + j} \det \boldsymbol{M}_{i,j} @f$,
@ -195,6 +196,7 @@ template<std::size_t size, class T> class Matrix: public RectangularMatrix<size,
/** /**
* @brief Matrix of cofactors * @brief Matrix of cofactors
* @m_since{2019,10}
* *
* A cofactor matrix @f$ \boldsymbol{C} @f$ of a matrix * A cofactor matrix @f$ \boldsymbol{C} @f$ of a matrix
* @f$ \boldsymbol{M} @f$ is defined as the following, with each * @f$ \boldsymbol{M} @f$ is defined as the following, with each
@ -213,6 +215,7 @@ template<std::size_t size, class T> class Matrix: public RectangularMatrix<size,
/** /**
* @brief Adjugate matrix * @brief Adjugate matrix
* @m_since{2019,10}
* *
* @f$ adj(A) @f$. Transpose of a @ref comatrix(), used for example to * @f$ adj(A) @f$. Transpose of a @ref comatrix(), used for example to
* calculate an @ref inverted() matrix. * calculate an @ref inverted() matrix.

2
src/Magnum/Math/Matrix4.h

@ -366,6 +366,7 @@ template<class T> class Matrix4: public Matrix4x4<T> {
* ahead * ahead
* @param far Distance to far clipping plane, positive is * @param far Distance to far clipping plane, positive is
* ahead * ahead
* @m_since{2019,10}
* *
* If @p far is finite, the result is: @f[ * If @p far is finite, the result is: @f[
* \boldsymbol{A} = \begin{pmatrix} * \boldsymbol{A} = \begin{pmatrix}
@ -799,6 +800,7 @@ template<class T> class Matrix4: public Matrix4x4<T> {
/** /**
* @brief Normal matrix * @brief Normal matrix
* @m_since{2019,10}
* *
* Returns @ref comatrix() of the upper-left 3x3 part of the matrix. * Returns @ref comatrix() of the upper-left 3x3 part of the matrix.
* Compared to the classic transformation @f$ (\boldsymbol{M}^{-1})^T @f$, * Compared to the classic transformation @f$ (\boldsymbol{M}^{-1})^T @f$,

4
src/Magnum/Math/Swizzle.h

@ -104,6 +104,7 @@ namespace Implementation {
/** /**
@brief Gather @ref Vector components @brief Gather @ref Vector components
@m_since{2019,10}
Creates a new vector from given components. Example: Creates a new vector from given components. Example:
@ -130,6 +131,7 @@ template<char ...components, class T> constexpr typename Implementation::TypeFor
@param vector Vector to update @param vector Vector to update
@param values Values to update it with @param values Values to update it with
@return Updated vector @return Updated vector
@m_since{2019,10}
Returns a copy of @p vector with particular components updated from @p values. Returns a copy of @p vector with particular components updated from @p values.
Inverse to @ref gather(), supporting the same component addressing except for Inverse to @ref gather(), supporting the same component addressing except for
@ -153,7 +155,7 @@ template<char ...components, class T> constexpr T scatter(const T& vector, const
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief gather() /** @brief @copybrief gather()
* @deprecated Use @ref gather instead. * @m_deprecated_since{2019,10} Use @ref gather() instead.
*/ */
template<char ...components, class T> CORRADE_DEPRECATED("use gather() instead") constexpr typename Implementation::TypeForSize<sizeof...(components), T>::Type swizzle(const T& vector) { template<char ...components, class T> CORRADE_DEPRECATED("use gather() instead") constexpr typename Implementation::TypeForSize<sizeof...(components), T>::Type swizzle(const T& vector) {
return gather<components...>(vector); return gather<components...>(vector);

10
src/Magnum/Math/TypeTraits.h

@ -82,6 +82,7 @@ namespace Magnum { namespace Math {
/** /**
@brief Whether @p T is an arithmetic scalar type @brief Whether @p T is an arithmetic scalar type
@m_since{2019,10}
Equivalent to @ref std::true_type for all builtin scalar integer and Equivalent to @ref std::true_type for all builtin scalar integer and
floating-point types and in addition also @ref Deg and @ref Rad; equivalent to floating-point types and in addition also @ref Deg and @ref Rad; equivalent to
@ -127,6 +128,7 @@ template<class T> struct IsScalar<Rad<T>>: std::true_type {};
/** /**
@brief Whether @p T is an arithmetic vector type @brief Whether @p T is an arithmetic vector type
@m_since{2019,10}
Equivalent to @ref std::true_type for all @ref Vector types and their Equivalent to @ref std::true_type for all @ref Vector types and their
subclasses; equivalent to @ref std::false_type otherwise. In particular, gives subclasses; equivalent to @ref std::false_type otherwise. In particular, gives
@ -151,6 +153,7 @@ template<class T> struct IsVector<Color4<T>>: std::true_type {};
/** /**
@brief Whether @p T is integral @brief Whether @p T is integral
@m_since{2019,10}
Equivalent to @ref std::true_type for all integral scalar and vector types Equivalent to @ref std::true_type for all integral scalar and vector types
supported by Magnum math; equivalent to @ref std::false_type otherwise. supported by Magnum math; equivalent to @ref std::false_type otherwise.
@ -190,6 +193,7 @@ template<class T> struct IsIntegral<Color4<T>>: IsIntegral<T> {};
/** /**
@brief Whether @p T is floating-point @brief Whether @p T is floating-point
@m_since{2019,10}
Equivalent to @ref std::true_type for all floating-point scalar and vector Equivalent to @ref std::true_type for all floating-point scalar and vector
types supported by Magnum math including @ref Deg and @ref Rad; equivalent to types supported by Magnum math including @ref Deg and @ref Rad; equivalent to
@ -223,7 +227,8 @@ template<class T> struct IsFloatingPoint<Rad<T>>: IsFloatingPoint<T> {};
#endif #endif
/** /**
@brief Whether @p T is a unitless tpye @brief Whether @p T is a unitless type
@m_since{2019,10}
Equivalent to @ref std::true_type for scalar or vector types that have an Equivalent to @ref std::true_type for scalar or vector types that have an
unitless underlying type (i.e., not @ref Deg or @ref Rad); @ref std::false_type unitless underlying type (i.e., not @ref Deg or @ref Rad); @ref std::false_type
@ -270,6 +275,7 @@ namespace Implementation {
/** /**
@brief Underlying type of a math type @brief Underlying type of a math type
@m_since{2019,10}
For builtin scalar types returns the type itself, for wrapped types like For builtin scalar types returns the type itself, for wrapped types like
@ref Deg or @ref Rad returns the underlying builtin type, for vector and matrix @ref Deg or @ref Rad returns the underlying builtin type, for vector and matrix
@ -364,6 +370,7 @@ template<class T> struct TypeTraits: Implementation::TypeTraitsDefault<T> {
/** /**
@brief Equality comparison of scalar types @brief Equality comparison of scalar types
@m_since{2019,10}
Calls @ref TypeTraits<T>::equals() --- using fuzzy compare for floating-point Calls @ref TypeTraits<T>::equals() --- using fuzzy compare for floating-point
types and doing equality comparison on integral types. Scalar complement to types and doing equality comparison on integral types. Scalar complement to
@ -375,6 +382,7 @@ template<class T> inline typename std::enable_if<IsScalar<T>::value, bool>::type
/** /**
@brief Non-equality comparison of scalar types @brief Non-equality comparison of scalar types
@m_since{2019,10}
Calls @ref TypeTraits<T>::equals() --- using fuzzy compare for floating-point Calls @ref TypeTraits<T>::equals() --- using fuzzy compare for floating-point
types and doing equality comparison on integral types. Scalar complement to types and doing equality comparison on integral types. Scalar complement to

2
src/Magnum/Math/Vector.h

@ -683,6 +683,7 @@ template<std::size_t size, class T> class Vector {
/** @relatesalso Vector /** @relatesalso Vector
@brief Component-wise equality comparison @brief Component-wise equality comparison
@m_since{2019,10}
Unlike @ref Vector::operator==() returns a @ref BoolVector instead of a single Unlike @ref Vector::operator==() returns a @ref BoolVector instead of a single
value. Vector complement to @ref equal(T, T). value. Vector complement to @ref equal(T, T).
@ -698,6 +699,7 @@ template<std::size_t size, class T> inline BoolVector<size> equal(const Vector<s
/** @relatesalso Vector /** @relatesalso Vector
@brief Component-wise non-equality comparison @brief Component-wise non-equality comparison
@m_since{2019,10}
Unlike @ref Vector::operator!=() returns a @ref BoolVector instead of a single Unlike @ref Vector::operator!=() returns a @ref BoolVector instead of a single
value. Vector complement to @ref notEqual(T, T). value. Vector complement to @ref notEqual(T, T).

9
src/Magnum/MeshTools/Compile.h

@ -49,6 +49,7 @@ namespace Magnum { namespace MeshTools {
/** /**
@brief Mesh compilation flag @brief Mesh compilation flag
@m_since{2019,10}
@see @ref CompileFlags, @ref compile(const Trade::MeshData3D&, CompileFlags) @see @ref CompileFlags, @ref compile(const Trade::MeshData3D&, CompileFlags)
*/ */
@ -74,6 +75,7 @@ enum class CompileFlag: UnsignedByte {
/** /**
@brief Mesh compilation flags @brief Mesh compilation flags
@m_since{2019,10}
@see @ref compile(const Trade::MeshData3D&, CompileFlags) @see @ref compile(const Trade::MeshData3D&, CompileFlags)
*/ */
@ -109,8 +111,9 @@ MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData2D& meshData);
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief compile(const Trade::MeshData2D&) /** @brief @copybrief compile(const Trade::MeshData2D&)
* @deprecated Use @ref compile(const Trade::MeshData2D&) instead. The @p usage * @m_deprecated_since{2018,10} Use @ref compile(const Trade::MeshData2D&)
* parameter is ignored and returned buffer instances are empty. * instead. The @p usage parameter is ignored and returned buffer
* instances are empty.
*/ */
CORRADE_DEPRECATED("use compile(const Trade::MeshData2D&) instead") MAGNUM_MESHTOOLS_EXPORT std::tuple<GL::Mesh, std::unique_ptr<GL::Buffer>, std::unique_ptr<GL::Buffer>> compile(const Trade::MeshData2D& meshData, GL::BufferUsage usage); CORRADE_DEPRECATED("use compile(const Trade::MeshData2D&) instead") MAGNUM_MESHTOOLS_EXPORT std::tuple<GL::Mesh, std::unique_ptr<GL::Buffer>, std::unique_ptr<GL::Buffer>> compile(const Trade::MeshData2D& meshData, GL::BufferUsage usage);
#endif #endif
@ -144,7 +147,7 @@ MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData3D& meshData, Comp
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief compile(const Trade::MeshData3D&, CompileFlags) /** @brief @copybrief compile(const Trade::MeshData3D&, CompileFlags)
* @deprecated Use @ref compile(const Trade::MeshData3D&, CompileFlags) * @m_deprecated_since{2018,10} Use @ref compile(const Trade::MeshData3D&, CompileFlags)
* instead. The @p usage parameter is ignored and returned buffer * instead. The @p usage parameter is ignored and returned buffer
* instances are empty. * instances are empty.
*/ */

1
src/Magnum/MeshTools/Duplicate.h

@ -67,6 +67,7 @@ template<class IndexType, class T> Containers::Array<T> duplicate(const Containe
@param[in] indices Index array to use @param[in] indices Index array to use
@param[in] data Input data @param[in] data Input data
@param[out] out Where to store the output @param[out] out Where to store the output
@m_since{2019,10}
A variant of @ref duplicate() that fills existing memory instead of allocating A variant of @ref duplicate() that fills existing memory instead of allocating
a new array. a new array.

2
src/Magnum/MeshTools/GenerateFlatNormals.h

@ -26,7 +26,7 @@
*/ */
/** @file /** @file
* @deprecated Use @ref Magnum/MeshTools/GenerateNormals.h instead. * @m_deprecated_since{2019,10} Use @ref Magnum/MeshTools/GenerateNormals.h instead.
*/ */
#include "Magnum/configure.h" #include "Magnum/configure.h"

6
src/Magnum/MeshTools/GenerateNormals.h

@ -61,6 +61,7 @@ MAGNUM_MESHTOOLS_EXPORT Containers::Array<Vector3> generateFlatNormals(const Con
@brief Generate flat normals into an existing array @brief Generate flat normals into an existing array
@param[in] positions Triangle vertex positions @param[in] positions Triangle vertex positions
@param[out] normals Where to put the generated normals @param[out] normals Where to put the generated normals
@m_since{2019,10}
A variant of @ref generateFlatNormals() that fills existing memory instead of A variant of @ref generateFlatNormals() that fills existing memory instead of
allocating a new array. The @p normals array is expected to have the same size allocating a new array. The @p normals array is expected to have the same size
@ -86,8 +87,8 @@ MAGNUM_MESHTOOLS_EXPORT void generateFlatNormalsInto(const Containers::StridedAr
All vertices in each triangle face get the same normal vector. Removes All vertices in each triangle face get the same normal vector. Removes
duplicates before returning. Expects that the position count is divisible by 3. duplicates before returning. Expects that the position count is divisible by 3.
@deprecated This will generate index buffer that's different from the input @m_deprecated_since{2019,10} This will generate index buffer that's different
@p indices array, so you'll need to recombine them using from the input @p indices array, so you'll need to recombine them using
@ref combineIndexedArrays() in order to have a single index array for both @ref combineIndexedArrays() in order to have a single index array for both
vertices and normals. Because this makes the usage more complex than vertices and normals. Because this makes the usage more complex than
strictly neccessary, this function is deprecated in favor of strictly neccessary, this function is deprecated in favor of
@ -101,6 +102,7 @@ CORRADE_DEPRECATED("use generateFlatNormals(const Containers::StridedArrayView1D
@param indices Triangle face indices @param indices Triangle face indices
@param positions Triangle vertex positions @param positions Triangle vertex positions
@return Per-vertex normals @return Per-vertex normals
@m_since{2019,10}
Uses the @p indices array to discover adjacent triangles and then for each Uses the @p indices array to discover adjacent triangles and then for each
vertex position calculates a normal averaged from all triangles that share it. vertex position calculates a normal averaged from all triangles that share it.

118
src/Magnum/PixelFormat.h

@ -166,6 +166,7 @@ enum class PixelFormat: UnsignedInt {
* @def_vk_keyword{FORMAT_R8_SRGB,Format} or * @def_vk_keyword{FORMAT_R8_SRGB,Format} or
* @m_class{m-doc-external} [MTLPixelFormatR8Unorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatr8unorm_srgb?language=objc). No D3D equivalent. * @m_class{m-doc-external} [MTLPixelFormatR8Unorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatr8unorm_srgb?language=objc). No D3D equivalent.
* @m_keywords{MTLPixelFormatR8Unorm_sRGB} * @m_keywords{MTLPixelFormatR8Unorm_sRGB}
* @m_since{2019,10}
*/ */
R8Srgb, R8Srgb,
@ -177,6 +178,7 @@ enum class PixelFormat: UnsignedInt {
* @def_vk_keyword{FORMAT_R8G8_SRGB,Format} or * @def_vk_keyword{FORMAT_R8G8_SRGB,Format} or
* @m_class{m-doc-external} [MTLPixelFormatRG8Unorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatrg8unorm_srgb?language=objc). No D3D equivalent. * @m_class{m-doc-external} [MTLPixelFormatRG8Unorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatrg8unorm_srgb?language=objc). No D3D equivalent.
* @m_keywords{MTLPixelFormatRG8Unorm_sRGB} * @m_keywords{MTLPixelFormatRG8Unorm_sRGB}
* @m_since{2019,10}
*/ */
RG8Srgb, RG8Srgb,
@ -187,6 +189,7 @@ enum class PixelFormat: UnsignedInt {
* @ref GL::PixelType::UnsignedByte, @ref GL::TextureFormat::SRGB8 or * @ref GL::PixelType::UnsignedByte, @ref GL::TextureFormat::SRGB8 or
* @def_vk_keyword{FORMAT_R8G8B8_SRGB,Format}. No 24-bit D3D or Metal * @def_vk_keyword{FORMAT_R8G8B8_SRGB,Format}. No 24-bit D3D or Metal
* equivalent. * equivalent.
* @m_since{2019,10}
*/ */
RGB8Srgb, RGB8Srgb,
@ -199,6 +202,7 @@ enum class PixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_R8G8B8A8_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_R8G8B8A8_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatRGBA8Unorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatrgba8unorm_srgb?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatRGBA8Unorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatrgba8unorm_srgb?language=objc).
* @m_keywords{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB MTLPixelFormatRGBA8Unorm_sRGB} * @m_keywords{DXGI_FORMAT_R8G8B8A8_UNORM_SRGB MTLPixelFormatRGBA8Unorm_sRGB}
* @m_since{2019,10}
*/ */
RGBA8Srgb, RGBA8Srgb,
@ -775,6 +779,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @ref GL::TextureFormat::CompressedSRGBS3tcDxt1 or * @ref GL::TextureFormat::CompressedSRGBS3tcDxt1 or
* @def_vk_keyword{FORMAT_BC1_RGB_SRGB_BLOCK,Format}. No D3D or Metal * @def_vk_keyword{FORMAT_BC1_RGB_SRGB_BLOCK,Format}. No D3D or Metal
* equivalent. * equivalent.
* @m_since{2019,10}
*/ */
Bc1RGBSrgb, Bc1RGBSrgb,
@ -801,6 +806,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC1_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC1_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC1_RGBA_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc1_rgba_srgb?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC1_RGBA_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc1_rgba_srgb?language=objc).
* @m_keywords{DXGI_FORMAT_BC1_UNORM_SRGB MTLPixelFormatBC1_RGBA_sRGB} * @m_keywords{DXGI_FORMAT_BC1_UNORM_SRGB MTLPixelFormatBC1_RGBA_sRGB}
* @m_since{2019,10}
*/ */
Bc1RGBASrgb, Bc1RGBASrgb,
@ -827,6 +833,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC2_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC2_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC2_RGBA_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc2_rgba_srgb?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC2_RGBA_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc2_rgba_srgb?language=objc).
* @m_keywords{DXGI_FORMAT_BC2_UNORM_SRGB MTLPixelFormatBC2_RGBA_sRGB} * @m_keywords{DXGI_FORMAT_BC2_UNORM_SRGB MTLPixelFormatBC2_RGBA_sRGB}
* @m_since{2019,10}
*/ */
Bc2RGBASrgb, Bc2RGBASrgb,
@ -853,6 +860,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC3_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC3_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC3_RGBA_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc3_rgba_srgb?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC3_RGBA_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc3_rgba_srgb?language=objc).
* @m_keywords{DXGI_FORMAT_BC3_UNORM_SRGB MTLPixelFormatBC3_RGBA_sRGB} * @m_keywords{DXGI_FORMAT_BC3_UNORM_SRGB MTLPixelFormatBC3_RGBA_sRGB}
* @m_since{2019,10}
*/ */
Bc3RGBASrgb, Bc3RGBASrgb,
@ -866,6 +874,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC4_UNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC4_UNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC4_RUnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc4_runorm?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC4_RUnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc4_runorm?language=objc).
* @m_keywords{DXGI_FORMAT_BC4_UNORM MTLPixelFormatBC4_RUnorm} * @m_keywords{DXGI_FORMAT_BC4_UNORM MTLPixelFormatBC4_RUnorm}
* @m_since{2019,10}
*/ */
Bc4RUnorm, Bc4RUnorm,
@ -879,6 +888,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC4_SNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC4_SNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC4_RSnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc4_rsnorm?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC4_RSnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc4_rsnorm?language=objc).
* @m_keywords{DXGI_FORMAT_BC4_SNORM MTLPixelFormatBC4_RSnorm} * @m_keywords{DXGI_FORMAT_BC4_SNORM MTLPixelFormatBC4_RSnorm}
* @m_since{2019,10}
*/ */
Bc4RSnorm, Bc4RSnorm,
@ -892,6 +902,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC5_UNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC5_UNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC5_RGUnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc5_rgunorm?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC5_RGUnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc5_rgunorm?language=objc).
* @m_keywords{DXGI_FORMAT_BC5_UNORM MTLPixelFormatBC5_RGUnorm} * @m_keywords{DXGI_FORMAT_BC5_UNORM MTLPixelFormatBC5_RGUnorm}
* @m_since{2019,10}
*/ */
Bc5RGUnorm, Bc5RGUnorm,
@ -905,6 +916,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC5_SNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC5_SNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC5_RGSnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc5_rgsnorm?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC5_RGSnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc5_rgsnorm?language=objc).
* @m_keywords{DXGI_FORMAT_BC5_SNORM MTLPixelFormatBC5_RGSnorm} * @m_keywords{DXGI_FORMAT_BC5_SNORM MTLPixelFormatBC5_RGSnorm}
* @m_since{2019,10}
*/ */
Bc5RGSnorm, Bc5RGSnorm,
@ -918,6 +930,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC6H_UF16](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC6H_UF16](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC6H_RGBUfloat](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc6h_rgbufloat?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC6H_RGBUfloat](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc6h_rgbufloat?language=objc).
* @m_keywords{DXGI_FORMAT_BC6H_UF16 MTLPixelFormatBC6H_RGBUfloat} * @m_keywords{DXGI_FORMAT_BC6H_UF16 MTLPixelFormatBC6H_RGBUfloat}
* @m_since{2019,10}
*/ */
Bc6hRGBUfloat, Bc6hRGBUfloat,
@ -931,6 +944,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC6H_SF16](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC6H_SF16](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC6H_RGBFloat](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc6h_rgbfloat?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC6H_RGBFloat](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc6h_rgbfloat?language=objc).
* @m_keywords{DXGI_FORMAT_BC6H_UF16 MTLPixelFormatBC6H_RGBFloat} * @m_keywords{DXGI_FORMAT_BC6H_UF16 MTLPixelFormatBC6H_RGBFloat}
* @m_since{2019,10}
*/ */
Bc6hRGBSfloat, Bc6hRGBSfloat,
@ -944,6 +958,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC7_UNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC7_UNORM](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC7_RGBAUnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc7_rgbaunorm?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC7_RGBAUnorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc7_rgbaunorm?language=objc).
* @m_keywords{DXGI_FORMAT_BC7_UNORM MTLPixelFormatBC7_RGBAUnorm} * @m_keywords{DXGI_FORMAT_BC7_UNORM MTLPixelFormatBC7_RGBAUnorm}
* @m_since{2019,10}
*/ */
Bc7RGBAUnorm, Bc7RGBAUnorm,
@ -957,6 +972,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [DXGI_FORMAT_BC7_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format) * @m_class{m-doc-external} [DXGI_FORMAT_BC7_UNORM_SRGB](https://docs.microsoft.com/en-us/windows/win32/api/dxgiformat/ne-dxgiformat-dxgi_format)
* or @m_class{m-doc-external} [MTLPixelFormatBC7_RGBAUnorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc7_rgbaunorm_srgb?language=objc). * or @m_class{m-doc-external} [MTLPixelFormatBC7_RGBAUnorm_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatbc7_rgbaunorm_srgb?language=objc).
* @m_keywords{DXGI_FORMAT_BC7_UNORM_SRGB MTLPixelFormatBC7_RGBAUnorm_sRGB} * @m_keywords{DXGI_FORMAT_BC7_UNORM_SRGB MTLPixelFormatBC7_RGBAUnorm_sRGB}
* @m_since{2019,10}
*/ */
Bc7RGBASrgb, Bc7RGBASrgb,
@ -970,6 +986,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatEAC_R11Unorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_r11unorm?language=objc). * @m_class{m-doc-external} [MTLPixelFormatEAC_R11Unorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_r11unorm?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_R11Unorm} * @m_keywords{MTLPixelFormatEAC_R11Unorm}
* @m_since{2019,10}
*/ */
EacR11Unorm, EacR11Unorm,
@ -983,6 +1000,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatEAC_R11Snorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_r11snorm?language=objc). * @m_class{m-doc-external} [MTLPixelFormatEAC_R11Snorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_r11snorm?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_R11Unorm} * @m_keywords{MTLPixelFormatEAC_R11Unorm}
* @m_since{2019,10}
*/ */
EacR11Snorm, EacR11Snorm,
@ -996,6 +1014,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatEAC_RG11Unorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rg11unorm?language=objc). * @m_class{m-doc-external} [MTLPixelFormatEAC_RG11Unorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rg11unorm?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_R11Unorm} * @m_keywords{MTLPixelFormatEAC_R11Unorm}
* @m_since{2019,10}
*/ */
EacRG11Unorm, EacRG11Unorm,
@ -1009,6 +1028,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatEAC_RG11Snorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rg11snorm?language=objc). * @m_class{m-doc-external} [MTLPixelFormatEAC_RG11Snorm](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rg11snorm?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_RG11Snorm} * @m_keywords{MTLPixelFormatEAC_RG11Snorm}
* @m_since{2019,10}
*/ */
EacRG11Snorm, EacRG11Snorm,
@ -1022,6 +1042,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8?language=objc). * @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8} * @m_keywords{MTLPixelFormatETC2_RGB8}
* @m_since{2019,10}
*/ */
Etc2RGB8Unorm, Etc2RGB8Unorm,
@ -1035,6 +1056,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8_sRGB} * @m_keywords{MTLPixelFormatETC2_RGB8_sRGB}
* @m_since{2019,10}
*/ */
Etc2RGB8Srgb, Etc2RGB8Srgb,
@ -1048,6 +1070,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8A1](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8a1?language=objc). * @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8A1](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8a1?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8A1} * @m_keywords{MTLPixelFormatETC2_RGB8A1}
* @m_since{2019,10}
*/ */
Etc2RGB8A1Unorm, Etc2RGB8A1Unorm,
@ -1061,6 +1084,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8A1_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8a1_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatETC2_RGB8A1_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatetc2_rgb8a1_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8A1_sRGB} * @m_keywords{MTLPixelFormatETC2_RGB8A1_sRGB}
* @m_since{2019,10}
*/ */
Etc2RGB8A1Srgb, Etc2RGB8A1Srgb,
@ -1074,6 +1098,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatEAC_RGBA8](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rgba8?language=objc). * @m_class{m-doc-external} [MTLPixelFormatEAC_RGBA8](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rgba8?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_RGBA8} * @m_keywords{MTLPixelFormatEAC_RGBA8}
* @m_since{2019,10}
*/ */
Etc2RGBA8Unorm, Etc2RGBA8Unorm,
@ -1087,6 +1112,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatEAC_RGBA8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rgba8_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatEAC_RGBA8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformateac_rgba8_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_RGBA8_sRGB} * @m_keywords{MTLPixelFormatEAC_RGBA8_sRGB}
* @m_since{2019,10}
*/ */
Etc2RGBA8Srgb, Etc2RGBA8Srgb,
@ -1100,6 +1126,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_LDR} * @m_keywords{MTLPixelFormatASTC_4x4_LDR}
* @m_since{2019,10}
*/ */
Astc4x4RGBAUnorm, Astc4x4RGBAUnorm,
@ -1114,6 +1141,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_sRGB} * @m_keywords{MTLPixelFormatASTC_4x4_sRGB}
* @m_since{2019,10}
*/ */
Astc4x4RGBASrgb, Astc4x4RGBASrgb,
@ -1127,6 +1155,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_4x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_4x4_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_HDR} * @m_keywords{MTLPixelFormatASTC_4x4_HDR}
* @m_since{2019,10}
*/ */
Astc4x4RGBAF, Astc4x4RGBAF,
@ -1140,6 +1169,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_LDR} * @m_keywords{MTLPixelFormatASTC_5x4_LDR}
* @m_since{2019,10}
*/ */
Astc5x4RGBAUnorm, Astc5x4RGBAUnorm,
@ -1154,6 +1184,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_sRGB} * @m_keywords{MTLPixelFormatASTC_5x4_sRGB}
* @m_since{2019,10}
*/ */
Astc5x4RGBASrgb, Astc5x4RGBASrgb,
@ -1167,6 +1198,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_5x4_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x4_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_HDR} * @m_keywords{MTLPixelFormatASTC_5x4_HDR}
* @m_since{2019,10}
*/ */
Astc5x4RGBAF, Astc5x4RGBAF,
@ -1180,6 +1212,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_LDR} * @m_keywords{MTLPixelFormatASTC_5x5_LDR}
* @m_since{2019,10}
*/ */
Astc5x5RGBAUnorm, Astc5x5RGBAUnorm,
@ -1194,6 +1227,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_sRGB} * @m_keywords{MTLPixelFormatASTC_5x5_sRGB}
* @m_since{2019,10}
*/ */
Astc5x5RGBASrgb, Astc5x5RGBASrgb,
@ -1207,6 +1241,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_5x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_5x5_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_HDR} * @m_keywords{MTLPixelFormatASTC_5x5_HDR}
* @m_since{2019,10}
*/ */
Astc5x5RGBAF, Astc5x5RGBAF,
@ -1220,6 +1255,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_LDR} * @m_keywords{MTLPixelFormatASTC_6x5_LDR}
* @m_since{2019,10}
*/ */
Astc6x5RGBAUnorm, Astc6x5RGBAUnorm,
@ -1234,6 +1270,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_sRGB} * @m_keywords{MTLPixelFormatASTC_6x5_sRGB}
* @m_since{2019,10}
*/ */
Astc6x5RGBASrgb, Astc6x5RGBASrgb,
@ -1247,6 +1284,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_6x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x5_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_HDR} * @m_keywords{MTLPixelFormatASTC_6x5_HDR}
* @m_since{2019,10}
*/ */
Astc6x5RGBAF, Astc6x5RGBAF,
@ -1260,6 +1298,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_LDR} * @m_keywords{MTLPixelFormatASTC_6x6_LDR}
* @m_since{2019,10}
*/ */
Astc6x6RGBAUnorm, Astc6x6RGBAUnorm,
@ -1274,6 +1313,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_sRGB} * @m_keywords{MTLPixelFormatASTC_6x6_sRGB}
* @m_since{2019,10}
*/ */
Astc6x6RGBASrgb, Astc6x6RGBASrgb,
@ -1287,6 +1327,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_6x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_6x6_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_HDR} * @m_keywords{MTLPixelFormatASTC_6x6_HDR}
* @m_since{2019,10}
*/ */
Astc6x6RGBAF, Astc6x6RGBAF,
@ -1300,6 +1341,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_LDR} * @m_keywords{MTLPixelFormatASTC_8x5_LDR}
* @m_since{2019,10}
*/ */
Astc8x5RGBAUnorm, Astc8x5RGBAUnorm,
@ -1314,6 +1356,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_sRGB} * @m_keywords{MTLPixelFormatASTC_8x5_sRGB}
* @m_since{2019,10}
*/ */
Astc8x5RGBASrgb, Astc8x5RGBASrgb,
@ -1327,6 +1370,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x5_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_HDR} * @m_keywords{MTLPixelFormatASTC_8x5_HDR}
* @m_since{2019,10}
*/ */
Astc8x5RGBAF, Astc8x5RGBAF,
@ -1340,6 +1384,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_LDR} * @m_keywords{MTLPixelFormatASTC_8x6_LDR}
* @m_since{2019,10}
*/ */
Astc8x6RGBAUnorm, Astc8x6RGBAUnorm,
@ -1354,6 +1399,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_sRGB} * @m_keywords{MTLPixelFormatASTC_8x6_sRGB}
* @m_since{2019,10}
*/ */
Astc8x6RGBASrgb, Astc8x6RGBASrgb,
@ -1367,6 +1413,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x6_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_HDR} * @m_keywords{MTLPixelFormatASTC_8x6_HDR}
* @m_since{2019,10}
*/ */
Astc8x6RGBAF, Astc8x6RGBAF,
@ -1380,6 +1427,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_LDR} * @m_keywords{MTLPixelFormatASTC_8x8_LDR}
* @m_since{2019,10}
*/ */
Astc8x8RGBAUnorm, Astc8x8RGBAUnorm,
@ -1394,6 +1442,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_sRGB} * @m_keywords{MTLPixelFormatASTC_8x8_sRGB}
* @m_since{2019,10}
*/ */
Astc8x8RGBASrgb, Astc8x8RGBASrgb,
@ -1407,6 +1456,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_8x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_8x8_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_HDR} * @m_keywords{MTLPixelFormatASTC_8x8_HDR}
* @m_since{2019,10}
*/ */
Astc8x8RGBAF, Astc8x8RGBAF,
@ -1420,6 +1470,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_LDR} * @m_keywords{MTLPixelFormatASTC_10x5_LDR}
* @m_since{2019,10}
*/ */
Astc10x5RGBAUnorm, Astc10x5RGBAUnorm,
@ -1434,6 +1485,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_sRGB} * @m_keywords{MTLPixelFormatASTC_10x5_sRGB}
* @m_since{2019,10}
*/ */
Astc10x5RGBASrgb, Astc10x5RGBASrgb,
@ -1447,6 +1499,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x5_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x5_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_HDR} * @m_keywords{MTLPixelFormatASTC_10x5_HDR}
* @m_since{2019,10}
*/ */
Astc10x5RGBAF, Astc10x5RGBAF,
@ -1460,6 +1513,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_LDR} * @m_keywords{MTLPixelFormatASTC_10x6_LDR}
* @m_since{2019,10}
*/ */
Astc10x6RGBAUnorm, Astc10x6RGBAUnorm,
@ -1474,6 +1528,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_sRGB} * @m_keywords{MTLPixelFormatASTC_10x6_sRGB}
* @m_since{2019,10}
*/ */
Astc10x6RGBASrgb, Astc10x6RGBASrgb,
@ -1487,6 +1542,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x6_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x6_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_HDR} * @m_keywords{MTLPixelFormatASTC_10x6_HDR}
* @m_since{2019,10}
*/ */
Astc10x6RGBAF, Astc10x6RGBAF,
@ -1500,6 +1556,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_LDR} * @m_keywords{MTLPixelFormatASTC_10x8_LDR}
* @m_since{2019,10}
*/ */
Astc10x8RGBAUnorm, Astc10x8RGBAUnorm,
@ -1514,6 +1571,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_sRGB} * @m_keywords{MTLPixelFormatASTC_10x8_sRGB}
* @m_since{2019,10}
*/ */
Astc10x8RGBASrgb, Astc10x8RGBASrgb,
@ -1527,6 +1585,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x8_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x8_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_HDR} * @m_keywords{MTLPixelFormatASTC_10x8_HDR}
* @m_since{2019,10}
*/ */
Astc10x8RGBAF, Astc10x8RGBAF,
@ -1540,6 +1599,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_LDR} * @m_keywords{MTLPixelFormatASTC_10x10_LDR}
* @m_since{2019,10}
*/ */
Astc10x10RGBAUnorm, Astc10x10RGBAUnorm,
@ -1554,6 +1614,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_sRGB} * @m_keywords{MTLPixelFormatASTC_10x10_sRGB}
* @m_since{2019,10}
*/ */
Astc10x10RGBASrgb, Astc10x10RGBASrgb,
@ -1567,6 +1628,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_10x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_10x10_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_HDR} * @m_keywords{MTLPixelFormatASTC_10x10_HDR}
* @m_since{2019,10}
*/ */
Astc10x10RGBAF, Astc10x10RGBAF,
@ -1580,6 +1642,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_LDR} * @m_keywords{MTLPixelFormatASTC_12x10_LDR}
* @m_since{2019,10}
*/ */
Astc12x10RGBAUnorm, Astc12x10RGBAUnorm,
@ -1594,6 +1657,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_sRGB} * @m_keywords{MTLPixelFormatASTC_12x10_sRGB}
* @m_since{2019,10}
*/ */
Astc12x10RGBASrgb, Astc12x10RGBASrgb,
@ -1607,6 +1671,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_12x10_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x10_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_HDR} * @m_keywords{MTLPixelFormatASTC_12x10_HDR}
* @m_since{2019,10}
*/ */
Astc12x10RGBAF, Astc12x10RGBAF,
@ -1620,6 +1685,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_ldr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_LDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_ldr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_LDR} * @m_keywords{MTLPixelFormatASTC_12x12_LDR}
* @m_since{2019,10}
*/ */
Astc12x12RGBAUnorm, Astc12x12RGBAUnorm,
@ -1634,6 +1700,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_sRGB} * @m_keywords{MTLPixelFormatASTC_12x12_sRGB}
* @m_since{2019,10}
*/ */
Astc12x12RGBASrgb, Astc12x12RGBASrgb,
@ -1647,6 +1714,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_hdr?language=objc). * @m_class{m-doc-external} [MTLPixelFormatASTC_12x12_HDR](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatastc_12x12_hdr?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_HDR} * @m_keywords{MTLPixelFormatASTC_12x12_HDR}
* @m_since{2019,10}
*/ */
Astc12x12RGBAF, Astc12x12RGBAF,
@ -1659,6 +1727,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc3x3x3RGBAUnorm, Astc3x3x3RGBAUnorm,
@ -1672,6 +1741,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_3x3x3_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc3x3x3RGBASrgb, Astc3x3x3RGBASrgb,
@ -1684,6 +1754,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_3x3x3_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc3x3x3RGBAF, Astc3x3x3RGBAF,
@ -1696,6 +1767,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x3x3_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x3x3RGBAUnorm, Astc4x3x3RGBAUnorm,
@ -1709,6 +1781,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x3x3_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x3x3RGBASrgb, Astc4x3x3RGBASrgb,
@ -1721,6 +1794,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x3x3_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x3x3RGBAF, Astc4x3x3RGBAF,
@ -1733,6 +1807,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x4x3_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x4x3RGBAUnorm, Astc4x4x3RGBAUnorm,
@ -1746,6 +1821,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x4x3_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x4x3RGBASrgb, Astc4x4x3RGBASrgb,
@ -1758,6 +1834,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x4x3_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x4x3RGBAF, Astc4x4x3RGBAF,
@ -1770,6 +1847,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x4x4_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x4x4RGBAUnorm, Astc4x4x4RGBAUnorm,
@ -1783,6 +1861,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x4x4_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x4x4RGBASrgb, Astc4x4x4RGBASrgb,
@ -1795,6 +1874,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_4x4x4_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc4x4x4RGBAF, Astc4x4x4RGBAF,
@ -1807,6 +1887,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x4x4_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x4x4RGBAUnorm, Astc5x4x4RGBAUnorm,
@ -1820,6 +1901,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x4x4_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x4x4RGBASrgb, Astc5x4x4RGBASrgb,
@ -1832,6 +1914,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x4x4_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x4x4RGBAF, Astc5x4x4RGBAF,
@ -1844,6 +1927,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x5x4_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x5x4RGBAUnorm, Astc5x5x4RGBAUnorm,
@ -1857,6 +1941,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x5x4_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x5x4RGBASrgb, Astc5x5x4RGBASrgb,
@ -1869,6 +1954,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x5x4_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x5x4RGBAF, Astc5x5x4RGBAF,
@ -1881,6 +1967,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x5x5_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x5x5RGBAUnorm, Astc5x5x5RGBAUnorm,
@ -1894,6 +1981,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x5x5_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x5x5RGBASrgb, Astc5x5x5RGBASrgb,
@ -1906,6 +1994,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_5x5x5_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc5x5x5RGBAF, Astc5x5x5RGBAF,
@ -1918,6 +2007,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x5x5_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x5x5RGBAUnorm, Astc6x5x5RGBAUnorm,
@ -1931,6 +2021,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x5x5_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x5x5RGBASrgb, Astc6x5x5RGBASrgb,
@ -1943,6 +2034,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x5x5_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x5x5RGBAF, Astc6x5x5RGBAF,
@ -1955,6 +2047,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x6x5_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x6x5RGBAUnorm, Astc6x6x5RGBAUnorm,
@ -1968,6 +2061,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x6x5_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x6x5RGBASrgb, Astc6x6x5RGBASrgb,
@ -1980,6 +2074,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x6x5_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x6x5RGBAF, Astc6x6x5RGBAF,
@ -1992,6 +2087,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x6x6_UNORM_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x6x6RGBAUnorm, Astc6x6x6RGBAUnorm,
@ -2005,6 +2101,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x6x6_SRGB_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x6x6RGBASrgb, Astc6x6x6RGBASrgb,
@ -2017,6 +2114,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* and @def_vk_keyword{FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT,Format} (not a * and @def_vk_keyword{FORMAT_ASTC_6x6x6_SFLOAT_BLOCK_EXT,Format} (not a
* part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)). * part of the spec yet, [only defined in KTX](https://github.com/KhronosGroup/KTX-Specification/pull/97/files)).
* No equivalent in Metal or D3D. * No equivalent in Metal or D3D.
* @m_since{2019,10}
*/ */
Astc6x6x6RGBAF, Astc6x6x6RGBAF,
@ -2033,6 +2131,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_2BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_2bpp?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_2BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_2bpp?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_2BPP} * @m_keywords{MTLPixelFormatPVRTC_RGB_2BPP}
* @m_since{2019,10}
*/ */
PvrtcRGB2bppUnorm, PvrtcRGB2bppUnorm,
@ -2046,6 +2145,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_2BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_2bpp_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_2BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_2bpp_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_2BPP_sRGB} * @m_keywords{MTLPixelFormatPVRTC_RGB_2BPP_sRGB}
* @m_since{2019,10}
*/ */
PvrtcRGB2bppSrgb, PvrtcRGB2bppSrgb,
@ -2059,6 +2159,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_2BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_2bpp?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_2BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_2bpp?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_2BPP} * @m_keywords{MTLPixelFormatPVRTC_RGBA_2BPP}
* @m_since{2019,10}
*/ */
PvrtcRGBA2bppUnorm, PvrtcRGBA2bppUnorm,
@ -2072,6 +2173,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_2BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_2bpp_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_2BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_2bpp_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_2BPP_sRGB} * @m_keywords{MTLPixelFormatPVRTC_RGBA_2BPP_sRGB}
* @m_since{2019,10}
*/ */
PvrtcRGBA2bppSrgb, PvrtcRGBA2bppSrgb,
@ -2085,6 +2187,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_4BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_4bpp?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_4BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_4bpp?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_4BPP} * @m_keywords{MTLPixelFormatPVRTC_RGB_4BPP}
* @m_since{2019,10}
*/ */
PvrtcRGB4bppUnorm, PvrtcRGB4bppUnorm,
@ -2098,6 +2201,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_4BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_4bpp_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGB_4BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgb_4bpp_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_4BPP_sRGB} * @m_keywords{MTLPixelFormatPVRTC_RGB_4BPP_sRGB}
* @m_since{2019,10}
*/ */
PvrtcRGB4bppSrgb, PvrtcRGB4bppSrgb,
@ -2111,6 +2215,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_4BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_4bpp?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_4BPP](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_4bpp?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_4BPP} * @m_keywords{MTLPixelFormatPVRTC_RGBA_4BPP}
* @m_since{2019,10}
*/ */
PvrtcRGBA4bppUnorm, PvrtcRGBA4bppUnorm,
@ -2124,6 +2229,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_4BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_4bpp_srgb?language=objc). * @m_class{m-doc-external} [MTLPixelFormatPVRTC_RGBA_4BPP_sRGB](https://developer.apple.com/documentation/metal/mtlpixelformat/mtlpixelformatpvrtc_rgba_4bpp_srgb?language=objc).
* No equivalent in D3D. * No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_4BPP_sRGB} * @m_keywords{MTLPixelFormatPVRTC_RGBA_4BPP_sRGB}
* @m_since{2019,10}
*/ */
PvrtcRGBA4bppSrgb PvrtcRGBA4bppSrgb
@ -2133,6 +2239,7 @@ enum class CompressedPixelFormat: UnsignedInt {
/** /**
@brief Compressed block size @brief Compressed block size
@m_since{2019,10}
For 2D formats the Z dimension is always 1. Expects that the pixel format is For 2D formats the Z dimension is always 1. Expects that the pixel format is
* *not* implementation-specific. * *not* implementation-specific.
@ -2143,6 +2250,7 @@ MAGNUM_EXPORT Vector3i compressedBlockSize(CompressedPixelFormat format);
/** /**
@brief Compressed block data size @brief Compressed block data size
@m_since{2019,10}
Byte size of each compressed block. Expects that the pixel format is *not* Byte size of each compressed block. Expects that the pixel format is *not*
implementation-specific. implementation-specific.
@ -2200,7 +2308,10 @@ template<class T = UnsignedInt> constexpr T compressedPixelFormatUnwrap(Compress
namespace Corrade { namespace Utility { namespace Corrade { namespace Utility {
/** @configurationvalue{Magnum::PixelFormat} */ /**
@configurationvalue{Magnum::PixelFormat}
@m_since_latest
*/
template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> { template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> {
ConfigurationValue() = delete; ConfigurationValue() = delete;
@ -2219,7 +2330,10 @@ template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> {
static Magnum::PixelFormat fromString(const std::string& stringValue, ConfigurationValueFlags); static Magnum::PixelFormat fromString(const std::string& stringValue, ConfigurationValueFlags);
}; };
/** @configurationvalue{Magnum::CompressedPixelFormat} */ /**
@configurationvalue{Magnum::CompressedPixelFormat}
@m_since_latest
*/
template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::CompressedPixelFormat> { template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::CompressedPixelFormat> {
ConfigurationValue() = delete; ConfigurationValue() = delete;

1
src/Magnum/Platform/AbstractXApplication.h

@ -118,6 +118,7 @@ class AbstractXApplication {
* @brief Run one iteration of application main loop * @brief Run one iteration of application main loop
* @return @cpp false @ce if @ref exit() was called and the application * @return @cpp false @ce if @ref exit() was called and the application
* should exit, @cpp true @ce otherwise * should exit, @cpp true @ce otherwise
* @m_since_latest
* *
* Called internally from @ref exec(). If you want to have better * Called internally from @ref exec(). If you want to have better
* control over how the main loop behaves, you can call this function * control over how the main loop behaves, you can call this function

1
src/Magnum/Platform/AndroidApplication.h

@ -768,6 +768,7 @@ class AndroidApplication::MouseMoveEvent: public InputEvent {
/** /**
* @brief Relative position * @brief Relative position
* @m_since{2019,10}
* *
* Position relative to previous move event. Unlike * Position relative to previous move event. Unlike
* @ref Sdl2Application, Android APIs don't provide relative position * @ref Sdl2Application, Android APIs don't provide relative position

9
src/Magnum/Platform/EmscriptenApplication.h

@ -29,6 +29,7 @@
#if defined(CORRADE_TARGET_EMSCRIPTEN) || defined(DOXYGEN_GENERATING_OUTPUT) #if defined(CORRADE_TARGET_EMSCRIPTEN) || defined(DOXYGEN_GENERATING_OUTPUT)
/** @file /** @file
* @brief Class @ref Magnum::Platform::EmscriptenApplication, macro @ref MAGNUM_EMSCRIPTENAPPLICATION_MAIN() * @brief Class @ref Magnum::Platform::EmscriptenApplication, macro @ref MAGNUM_EMSCRIPTENAPPLICATION_MAIN()
* @m_since{2019,10}
*/ */
#endif #endif
@ -56,6 +57,7 @@ namespace Magnum { namespace Platform {
/** @nosubgrouping /** @nosubgrouping
@brief Emscripten application @brief Emscripten application
@m_since{2019,10}
@m_keywords{Application} @m_keywords{Application}
@ -537,6 +539,7 @@ class EmscriptenApplication {
public: public:
/** /**
* @brief Cursor type * @brief Cursor type
* @m_since_latest
* *
* Value names in this enum don't necessarily match the CSS names in * Value names in this enum don't necessarily match the CSS names in
* order to be compatible with @ref Sdl2Application and * order to be compatible with @ref Sdl2Application and
@ -725,12 +728,16 @@ class EmscriptenApplication {
/** /**
* @brief Set cursor type * @brief Set cursor type
* @m_since_latest
* *
* Default is @ref Cursor::Arrow. * Default is @ref Cursor::Arrow.
*/ */
void setCursor(Cursor cursor); void setCursor(Cursor cursor);
/** @brief Get current cursor type */ /**
* @brief Get current cursor type
* @m_since_latest
*/
Cursor cursor(); Cursor cursor();
private: private:

58
src/Magnum/Platform/GlfwApplication.h

@ -242,6 +242,7 @@ class GlfwApplication {
* @brief Run one iteration of application main loop * @brief Run one iteration of application main loop
* @return @cpp false @ce if @ref exit() was called and the application * @return @cpp false @ce if @ref exit() was called and the application
* should exit, @cpp true @ce otherwise * should exit, @cpp true @ce otherwise
* @m_since_latest
* *
* Called internally from @ref exec(). If you want to have better * Called internally from @ref exec(). If you want to have better
* control over how the main loop behaves, you can call this function * control over how the main loop behaves, you can call this function
@ -358,6 +359,7 @@ class GlfwApplication {
/** /**
* @brief Set window minimum size * @brief Set window minimum size
* @param size The minimum size, in screen coordinates * @param size The minimum size, in screen coordinates
* @m_since{2019,10}
* *
* If a value is set to @cpp -1 @ce, it will disable/remove the * If a value is set to @cpp -1 @ce, it will disable/remove the
* corresponding limit. To make the sizing work independently of the * corresponding limit. To make the sizing work independently of the
@ -370,6 +372,7 @@ class GlfwApplication {
/** /**
* @brief Set window maximum size * @brief Set window maximum size
* @param size The maximum size, in screen coordinates * @param size The maximum size, in screen coordinates
* @m_since{2019,10}
* *
* If a value is set to @cpp -1 @ce, it will disable/remove the * If a value is set to @cpp -1 @ce, it will disable/remove the
* corresponding limit. To make the sizing work independently of the * corresponding limit. To make the sizing work independently of the
@ -422,6 +425,7 @@ class GlfwApplication {
/** /**
* @brief Set window title * @brief Set window title
* @m_since{2019,10}
* *
* The @p title is expected to be encoded in UTF-8. * The @p title is expected to be encoded in UTF-8.
*/ */
@ -430,6 +434,7 @@ class GlfwApplication {
#if GLFW_VERSION_MAJOR*100 + GLFW_VERSION_MINOR >= 302 || defined(DOXYGEN_GENERATING_OUTPUT) #if GLFW_VERSION_MAJOR*100 + GLFW_VERSION_MINOR >= 302 || defined(DOXYGEN_GENERATING_OUTPUT)
/** /**
* @brief Set window icon * @brief Set window icon
* @m_since_latest
* *
* The @p images are expected to be with origin at bottom left (which * The @p images are expected to be with origin at bottom left (which
* is the default for imported images) and in one of * is the default for imported images) and in one of
@ -442,7 +447,12 @@ class GlfwApplication {
* for more information. * for more information.
*/ */
void setWindowIcon(std::initializer_list<ImageView2D> images); void setWindowIcon(std::initializer_list<ImageView2D> images);
void setWindowIcon(const ImageView2D& image); /**< @overload */
/**
* @overload
* @m_since_latest
*/
void setWindowIcon(const ImageView2D& image);
#endif #endif
/** /**
@ -491,9 +501,9 @@ class GlfwApplication {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief viewportEvent(ViewportEvent&) /** @brief @copybrief viewportEvent(ViewportEvent&)
* @deprecated Use @ref viewportEvent(ViewportEvent&) instead. * @m_deprecated_since{2018,10} Use @ref viewportEvent(ViewportEvent&)
* To preserve backwards compatibility, this function is called * instead. To preserve backwards compatibility, this function is
* from @ref viewportEvent(ViewportEvent&) with * called from @ref viewportEvent(ViewportEvent&) with
* @ref ViewportEvent::windowSize() passed to @p size. Overriding * @ref ViewportEvent::windowSize() passed to @p size. Overriding
* the new function will cause this function to not be called * the new function will cause this function to not be called
* anymore. * anymore.
@ -521,6 +531,7 @@ class GlfwApplication {
public: public:
/** /**
* @brief Cursor type * @brief Cursor type
* @m_since_latest
* *
* @see @ref setCursor() * @see @ref setCursor()
*/ */
@ -537,15 +548,22 @@ class GlfwApplication {
/** /**
* @brief Set cursor type * @brief Set cursor type
* @m_since_latest
* *
* Default is @ref Cursor::Arrow. * Default is @ref Cursor::Arrow.
*/ */
void setCursor(Cursor cursor); void setCursor(Cursor cursor);
/** @brief Get current cursor type */ /**
* @brief Get current cursor type
* @m_since_latest
*/
Cursor cursor(); Cursor cursor();
/** @brief Warp mouse cursor to given coordinates */ /**
* @brief Warp mouse cursor to given coordinates
* @m_since_latest
*/
void warpCursor(const Vector2i& position) { void warpCursor(const Vector2i& position) {
glfwSetCursorPos(_window, Double(position.x()), Double(position.y())); glfwSetCursorPos(_window, Double(position.x()), Double(position.y()));
} }
@ -850,13 +868,13 @@ class GlfwApplication::GLConfiguration {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief @copybrief isSrgbCapable() * @brief @copybrief isSrgbCapable()
* @deprecated Use @ref isSrgbCapable() instead. * @m_deprecated_since{2018,10} Use @ref isSrgbCapable() instead.
*/ */
CORRADE_DEPRECATED("use isSrgbCapable() instead") bool isSRGBCapable() const { return isSrgbCapable(); } CORRADE_DEPRECATED("use isSrgbCapable() instead") bool isSRGBCapable() const { return isSrgbCapable(); }
/** /**
* @brief @copybrief setSrgbCapable() * @brief @copybrief setSrgbCapable()
* @deprecated Use @ref setSrgbCapable() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbCapable() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbCapable() instead") GLConfiguration& setSRGBCapable(bool enabled) { CORRADE_DEPRECATED("use setSrgbCapable() instead") GLConfiguration& setSRGBCapable(bool enabled) {
return setSrgbCapable(enabled); return setSrgbCapable(enabled);
@ -1017,30 +1035,31 @@ class GlfwApplication::Configuration {
/** /**
* @brief Cursor mode * @brief Cursor mode
* *
* @deprecated Use @ref GlfwApplication::setCursor() instead. * @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* instead.
*/ */
enum class CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() instead") CursorMode: Int { enum class CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() instead") CursorMode: Int {
/** /**
* Visible unconstrained cursor * Visible unconstrained cursor
* *
* @deprecated Use @ref GlfwApplication::setCursor() with * @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* @ref Cursor::Arrow (or any other) instead. * with @ref Cursor::Arrow (or any other) instead.
*/ */
Normal CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Arrow instead") = GLFW_CURSOR_NORMAL, Normal CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Arrow instead") = GLFW_CURSOR_NORMAL,
/** /**
* Hidden cursor * Hidden cursor
* *
* @deprecated Use @ref GlfwApplication::setCursor() with * @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* @ref Cursor::Hidden instead. * with @ref Cursor::Hidden instead.
*/ */
Hidden CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Hidden instead") = GLFW_CURSOR_HIDDEN, Hidden CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Hidden instead") = GLFW_CURSOR_HIDDEN,
/** /**
* Cursor hidden and locked window * Cursor hidden and locked window
* *
* @deprecated Use @ref GlfwApplication::setCursor() with * @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* @ref Cursor::HiddenLocked instead. * with @ref Cursor::HiddenLocked instead.
*/ */
Disabled CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::HiddenLocked instead") = GLFW_CURSOR_DISABLED Disabled CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::HiddenLocked instead") = GLFW_CURSOR_DISABLED
}; };
@ -1141,7 +1160,8 @@ class GlfwApplication::Configuration {
/** /**
* @brief Cursor mode * @brief Cursor mode
* *
* @deprecated Use @ref GlfwApplication::cursor() instead. * @m_deprecated_since_latest Use @ref GlfwApplication::cursor()
* instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
CORRADE_DEPRECATED("use GlfwApplication::cursor() instead") CursorMode cursorMode() const { CORRADE_DEPRECATED("use GlfwApplication::cursor() instead") CursorMode cursorMode() const {
@ -1155,7 +1175,8 @@ class GlfwApplication::Configuration {
* *
* Default is @ref CursorMode::Normal. * Default is @ref CursorMode::Normal.
* *
* @deprecated Use @ref GlfwApplication::setCursor() instead. * @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* instead.
*/ */
CORRADE_IGNORE_DEPRECATED_PUSH CORRADE_IGNORE_DEPRECATED_PUSH
CORRADE_DEPRECATED("use GlfwApplication::setCursor() instead") Configuration& setCursorMode(CursorMode cursorMode) { CORRADE_DEPRECATED("use GlfwApplication::setCursor() instead") Configuration& setCursorMode(CursorMode cursorMode) {
@ -1490,7 +1511,7 @@ class GlfwApplication::KeyEvent: public GlfwApplication::InputEvent {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** Semicolon /** Semicolon
* @deprecated Use @ref Key::Semicolon instead. * @m_deprecated_since{2019,01} Use @ref Key::Semicolon instead.
*/ */
Smicolon CORRADE_DEPRECATED_ENUM("use Key::Semicolon instead") = Semicolon, Smicolon CORRADE_DEPRECATED_ENUM("use Key::Semicolon instead") = Semicolon,
#endif #endif
@ -1690,6 +1711,7 @@ class GlfwApplication::MouseMoveEvent: public GlfwApplication::InputEvent {
/** /**
* @brief Relative position * @brief Relative position
* @m_since{2019,10}
* *
* Position relative to previous move event. Unlike * Position relative to previous move event. Unlike
* @ref Sdl2Application, GLFW doesn't provide relative position * @ref Sdl2Application, GLFW doesn't provide relative position

13
src/Magnum/Platform/Screen.h

@ -189,6 +189,7 @@ template<class Application> class BasicScreen:
#ifdef DOXYGEN_GENERATING_OUTPUT #ifdef DOXYGEN_GENERATING_OUTPUT
/** /**
* @brief Mouse scroll event * @brief Mouse scroll event
* @m_since{2019,10}
* *
* Defined only if the application has a * Defined only if the application has a
* @ref Sdl2Application::MouseScrollEvent "MouseScrollEvent". * @ref Sdl2Application::MouseScrollEvent "MouseScrollEvent".
@ -197,6 +198,7 @@ template<class Application> class BasicScreen:
/** /**
* @brief Text input event * @brief Text input event
* @m_since{2019,10}
* *
* Defined only if the application has a * Defined only if the application has a
* @ref Sdl2Application::TextInputEvent "TextInputEvent". * @ref Sdl2Application::TextInputEvent "TextInputEvent".
@ -205,6 +207,7 @@ template<class Application> class BasicScreen:
/** /**
* @brief Text editing event * @brief Text editing event
* @m_since{2019,10}
* *
* Defined only if the application has a * Defined only if the application has a
* @ref Sdl2Application::TextEditingEvent "TextEditingEvent". * @ref Sdl2Application::TextEditingEvent "TextEditingEvent".
@ -224,6 +227,7 @@ template<class Application> class BasicScreen:
/** /**
* @brief Construct a screen and attach it to an application * @brief Construct a screen and attach it to an application
* @m_since{2019,10}
* *
* Unlike with @ref BasicScreen(), the screen is added to the * Unlike with @ref BasicScreen(), the screen is added to the
* application already during the construction, removing the need to * application already during the construction, removing the need to
@ -352,9 +356,9 @@ template<class Application> class BasicScreen:
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief viewportEvent(ViewportEvent&) /** @brief @copybrief viewportEvent(ViewportEvent&)
* @deprecated Use @ref viewportEvent(ViewportEvent&) instead. * @m_deprecated_since{2018,10} Use @ref viewportEvent(ViewportEvent&)
* To preserve backwards compatibility, this function is called * instead. To preserve backwards compatibility, this function is
* from @ref viewportEvent(ViewportEvent&) with * called from @ref viewportEvent(ViewportEvent&) with
* @ref Sdl2Application::ViewportEvent::windowSize() "*Application::ViewportEvent::windowSize()" * @ref Sdl2Application::ViewportEvent::windowSize() "*Application::ViewportEvent::windowSize()"
* passed to @p size. Overriding the new function will cause this * passed to @p size. Overriding the new function will cause this
* function to not be called anymore. * function to not be called anymore.
@ -432,6 +436,7 @@ template<class Application> class BasicScreen:
#ifdef DOXYGEN_GENERATING_OUTPUT #ifdef DOXYGEN_GENERATING_OUTPUT
/** /**
* @brief Mouse scroll event * @brief Mouse scroll event
* @m_since{2019,10}
* *
* Called when @ref PropagatedEvent::Input is enabled and mouse wheel * Called when @ref PropagatedEvent::Input is enabled and mouse wheel
* is rotated. See @ref Sdl2Application::mouseScrollEvent() "*Application::mouseScrollEvent()" * is rotated. See @ref Sdl2Application::mouseScrollEvent() "*Application::mouseScrollEvent()"
@ -448,6 +453,7 @@ template<class Application> class BasicScreen:
#ifdef DOXYGEN_GENERATING_OUTPUT #ifdef DOXYGEN_GENERATING_OUTPUT
/** /**
* @brief Text input event * @brief Text input event
* @m_since{2019,10}
* *
* Called when @ref PropagatedEvent::Input is enabled and text is being * Called when @ref PropagatedEvent::Input is enabled and text is being
* input. Defined only if the application has a * input. Defined only if the application has a
@ -457,6 +463,7 @@ template<class Application> class BasicScreen:
/** /**
* @brief Text editing event * @brief Text editing event
* @m_since{2019,10}
* *
* Called when @ref PropagatedEvent::Input and the text is being * Called when @ref PropagatedEvent::Input and the text is being
* edited. Defined only if the application has a * edited. Defined only if the application has a

33
src/Magnum/Platform/Sdl2Application.h

@ -529,6 +529,7 @@ class Sdl2Application {
#if defined(MAGNUM_TARGET_GL) && !defined(CORRADE_TARGET_EMSCRIPTEN) #if defined(MAGNUM_TARGET_GL) && !defined(CORRADE_TARGET_EMSCRIPTEN)
/** /**
* @brief Underlying OpenGL context * @brief Underlying OpenGL context
* @m_since{2019,10}
* *
* Use in case you need to call SDL functionality directly. Returns * Use in case you need to call SDL functionality directly. Returns
* @cpp nullptr @ce in case the context was not created yet. * @cpp nullptr @ce in case the context was not created yet.
@ -633,6 +634,7 @@ class Sdl2Application {
/** /**
* @brief Set minimum window size * @brief Set minimum window size
* @param size The minimum size, in screen coordinates * @param size The minimum size, in screen coordinates
* @m_since{2019,10}
* *
* Note that, unlike in @ref GlfwApplication, SDL2 doesn't have a way * Note that, unlike in @ref GlfwApplication, SDL2 doesn't have a way
* to disable/remove a size limit. To make the sizing work * to disable/remove a size limit. To make the sizing work
@ -645,6 +647,7 @@ class Sdl2Application {
/** /**
* @brief Set maximal window size * @brief Set maximal window size
* @param size The maximum size, in screen coordinates * @param size The maximum size, in screen coordinates
* @m_since{2019,10}
* *
* Note that, unlike in @ref GlfwApplication, SDL2 doesn't have a way * Note that, unlike in @ref GlfwApplication, SDL2 doesn't have a way
* to disable/remove a size limit. To make the sizing work * to disable/remove a size limit. To make the sizing work
@ -697,6 +700,7 @@ class Sdl2Application {
/** /**
* @brief Set window title * @brief Set window title
* @m_since{2019,10}
* *
* The @p title is expected to be encoded in UTF-8. * The @p title is expected to be encoded in UTF-8.
*/ */
@ -705,6 +709,7 @@ class Sdl2Application {
#if !defined(CORRADE_TARGET_EMSCRIPTEN) && (SDL_MAJOR_VERSION*1000 + SDL_MINOR_VERSION*100 + SDL_PATCHLEVEL >= 2005 || defined(DOXYGEN_GENERATING_OUTPUT)) #if !defined(CORRADE_TARGET_EMSCRIPTEN) && (SDL_MAJOR_VERSION*1000 + SDL_MINOR_VERSION*100 + SDL_PATCHLEVEL >= 2005 || defined(DOXYGEN_GENERATING_OUTPUT))
/** /**
* @brief Set window icon * @brief Set window icon
* @m_since_latest
* *
* The @p image is expected to be with origin at bottom left (which is * The @p image is expected to be with origin at bottom left (which is
* the default for imported images) and in one of * the default for imported images) and in one of
@ -812,9 +817,9 @@ class Sdl2Application {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief viewportEvent(ViewportEvent&) /** @brief @copybrief viewportEvent(ViewportEvent&)
* @deprecated Use @ref viewportEvent(ViewportEvent&) instead. * @m_deprecated_since{2018,10} Use @ref viewportEvent(ViewportEvent&)
* To preserve backwards compatibility, this function is called * instead. To preserve backwards compatibility, this function is
* from @ref viewportEvent(ViewportEvent&) with * called from @ref viewportEvent(ViewportEvent&) with
* @ref ViewportEvent::framebufferSize() passed to @p size. * @ref ViewportEvent::framebufferSize() passed to @p size.
* Overriding the new function will cause this function to not be * Overriding the new function will cause this function to not be
* called anymore. * called anymore.
@ -858,6 +863,7 @@ class Sdl2Application {
public: public:
/** /**
* @brief Cursor type * @brief Cursor type
* @m_since_latest
* *
* @see @ref setCursor() * @see @ref setCursor()
*/ */
@ -889,12 +895,16 @@ class Sdl2Application {
/** /**
* @brief Set cursor type * @brief Set cursor type
* @m_since_latest
* *
* Default is @ref Cursor::Arrow. * Default is @ref Cursor::Arrow.
*/ */
void setCursor(Cursor cursor); void setCursor(Cursor cursor);
/** @brief Get current cursor type */ /**
* @brief Get current cursor type
* @m_since_latest
*/
Cursor cursor(); Cursor cursor();
#ifndef CORRADE_TARGET_EMSCRIPTEN #ifndef CORRADE_TARGET_EMSCRIPTEN
@ -912,7 +922,7 @@ class Sdl2Application {
/** /**
* @brief Whether mouse is locked * @brief Whether mouse is locked
* *
* @deprecated Use @ref cursor() together with * @m_deprecated_since_latest Use @ref cursor() together with
* @ref Cursor::HiddenLocked instead. * @ref Cursor::HiddenLocked instead.
*/ */
CORRADE_DEPRECATED("use cursor() together with Cursor::HiddenLocked instead") bool isMouseLocked() const { return SDL_GetRelativeMouseMode(); } CORRADE_DEPRECATED("use cursor() together with Cursor::HiddenLocked instead") bool isMouseLocked() const { return SDL_GetRelativeMouseMode(); }
@ -920,7 +930,7 @@ class Sdl2Application {
/** /**
* @brief Enable or disable mouse locking * @brief Enable or disable mouse locking
* *
* @deprecated Use @ref setCursor() together with * @m_deprecated_since_latest Use @ref setCursor() together with
* @ref Cursor::HiddenLocked instead. * @ref Cursor::HiddenLocked instead.
*/ */
CORRADE_DEPRECATED("use setCursor() together with Cursor::HiddenLocked instead") void setMouseLocked(bool enabled); CORRADE_DEPRECATED("use setCursor() together with Cursor::HiddenLocked instead") void setMouseLocked(bool enabled);
@ -1357,13 +1367,13 @@ class Sdl2Application::GLConfiguration {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief @copybrief isSrgbCapable() * @brief @copybrief isSrgbCapable()
* @deprecated Use @ref isSrgbCapable() instead. * @m_deprecated_since{2018,10} Use @ref isSrgbCapable() instead.
*/ */
CORRADE_DEPRECATED("use isSrgbCapable() instead") bool isSRGBCapable() const { return isSrgbCapable(); } CORRADE_DEPRECATED("use isSrgbCapable() instead") bool isSRGBCapable() const { return isSrgbCapable(); }
/** /**
* @brief @copybrief setSrgbCapable() * @brief @copybrief setSrgbCapable()
* @deprecated Use @ref setSrgbCapable() instead. * @m_deprecated_since{2018,10} Use @ref setSrgbCapable() instead.
*/ */
CORRADE_DEPRECATED("use setSrgbCapable() instead") GLConfiguration& setSRGBCapable(bool enabled) { CORRADE_DEPRECATED("use setSrgbCapable() instead") GLConfiguration& setSRGBCapable(bool enabled) {
return setSrgbCapable(enabled); return setSrgbCapable(enabled);
@ -1459,8 +1469,8 @@ class Sdl2Application::Configuration {
/** /**
* Allow high DPI. * Allow high DPI.
* *
* @deprecated Has no effect, as this flag is passed implicitly * @m_deprecated_since{2018,10} Has no effect, as this flag is
* on platforms where needed. See * passed implicitly on platforms where needed. See
* @ref Platform-Sdl2Application-dpi for more information. * @ref Platform-Sdl2Application-dpi for more information.
*/ */
AllowHighDpi CORRADE_DEPRECATED_ENUM("has no effect, passed implicitly on platforms that need it") = 0, AllowHighDpi CORRADE_DEPRECATED_ENUM("has no effect, passed implicitly on platforms that need it") = 0,
@ -1512,6 +1522,7 @@ class Sdl2Application::Configuration {
* @ref Sdl2Application(const Arguments&, const Configuration&, const GLConfiguration&), * @ref Sdl2Application(const Arguments&, const Configuration&, const GLConfiguration&),
* @ref create(const Configuration&, const GLConfiguration&) or * @ref create(const Configuration&, const GLConfiguration&) or
* @ref tryCreate(const Configuration&, const GLConfiguration&). * @ref tryCreate(const Configuration&, const GLConfiguration&).
* @m_since{2019,10}
*/ */
OpenGL = SDL_WINDOW_OPENGL, OpenGL = SDL_WINDOW_OPENGL,
@ -1519,9 +1530,9 @@ class Sdl2Application::Configuration {
/** /**
* Request a window for use with Vulkan. Useful in combination with * Request a window for use with Vulkan. Useful in combination with
* @ref WindowFlag::Contextless. * @ref WindowFlag::Contextless.
*
* @note Available since SDL 2.0.6, not available on * @note Available since SDL 2.0.6, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". * @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten".
* @m_since{2019,10}
*/ */
Vulkan = SDL_WINDOW_VULKAN Vulkan = SDL_WINDOW_VULKAN
#endif #endif

1
src/Magnum/Primitives/Circle.h

@ -36,6 +36,7 @@ namespace Magnum { namespace Primitives {
/** /**
@brief Whether to generate circle texture coordinates @brief Whether to generate circle texture coordinates
@m_since{2019,10}
@see @ref circle2DSolid(), @ref circle3DSolid() @see @ref circle2DSolid(), @ref circle3DSolid()
*/ */

14
src/Magnum/ResourceManager.h

@ -252,8 +252,8 @@ template<class... Types> class ResourceManager: private Implementation::Resource
* *
* Assumes that the instance exists. * Assumes that the instance exists.
* *
* @deprecated Implicit @ref ResourceManager singleton is deprecated, * @m_deprecated_since{2019,10} Implicit @ref ResourceManager singleton
* make your own or pass a reference around instead * is deprecated, make your own or pass a reference around instead
*/ */
static CORRADE_DEPRECATED("implicit ResourceManager singleton is deprecated, make your own or pass a reference around instead") ResourceManager<Types...>& instance(); static CORRADE_DEPRECATED("implicit ResourceManager singleton is deprecated, make your own or pass a reference around instead") ResourceManager<Types...>& instance();
#endif #endif
@ -331,7 +331,10 @@ template<class... Types> class ResourceManager: private Implementation::Resource
return *this; return *this;
} }
/** @overload */ /**
* @overload
* @m_since{2019,10}
*/
template<class T> ResourceManager<Types...>& set(ResourceKey key, Containers::Pointer<T>&& data, ResourceDataState state, ResourcePolicy policy) { template<class T> ResourceManager<Types...>& set(ResourceKey key, Containers::Pointer<T>&& data, ResourceDataState state, ResourcePolicy policy) {
set(key, data.release(), state, policy); set(key, data.release(), state, policy);
return *this; return *this;
@ -382,7 +385,10 @@ template<class... Types> class ResourceManager: private Implementation::Resource
return *this; return *this;
} }
/** @overload */ /**
* @overload
* @m_since{2019,10}
*/
template<class T> ResourceManager<Types...>& setFallback(Containers::Pointer<T>&& data) { template<class T> ResourceManager<Types...>& setFallback(Containers::Pointer<T>&& data) {
setFallback(data.release()); setFallback(data.release());
return *this; return *this;

11
src/Magnum/SceneGraph/AbstractFeature.h

@ -136,11 +136,18 @@ template<UnsignedInt dimensions, class T> class AbstractFeature
#endif #endif
{ {
public: public:
/** @brief Object transformation underlying type */ /**
* @brief Object transformation underlying type
* @m_since{2019,10}
*/
typedef T Type; typedef T Type;
enum: UnsignedInt { enum: UnsignedInt {
Dimensions = dimensions /**< Dimension count */ /**
* Dimension count
* @m_since{2019,10}
*/
Dimensions = dimensions
}; };
/** /**

11
src/Magnum/SceneGraph/AbstractObject.h

@ -78,7 +78,10 @@ template<UnsignedInt dimensions, class T> class AbstractObject
#endif #endif
{ {
public: public:
/** @brief Transformation underlying type */ /**
* @brief Transformation underlying type
* @m_since{2019,10}
*/
typedef T Type; typedef T Type;
/** @brief Matrix type */ /** @brief Matrix type */
@ -88,7 +91,11 @@ template<UnsignedInt dimensions, class T> class AbstractObject
typedef AbstractFeature<dimensions, T> FeatureType; typedef AbstractFeature<dimensions, T> FeatureType;
enum: UnsignedInt { enum: UnsignedInt {
Dimensions = dimensions /**< Dimension count */ /**
* Dimension count
* @m_since{2019,10}
*/
Dimensions = dimensions
}; };
/* This isn't protected because having virtual destructor here is /* This isn't protected because having virtual destructor here is

11
src/Magnum/SceneGraph/FeatureGroup.h

@ -44,11 +44,18 @@ See @ref FeatureGroup.
*/ */
template<UnsignedInt dimensions, class T> class AbstractFeatureGroup { template<UnsignedInt dimensions, class T> class AbstractFeatureGroup {
public: public:
/** @brief Object transformation underlying type */ /**
* @brief Object transformation underlying type
* @m_since{2019,10}
*/
typedef T Type; typedef T Type;
enum: UnsignedInt { enum: UnsignedInt {
Dimensions = dimensions /**< Dimension count */ /**
* Dimension count
* @m_since{2019,10}
*/
Dimensions = dimensions
}; };
private: private:

6
src/Magnum/Shaders/Flat.h

@ -141,6 +141,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* @brief Three-component vertex color * @brief Three-component vertex color
* @m_since{2019,10}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Color3. Use * @ref shaders-generic "Generic attribute", @ref Magnum::Color3. Use
* either this or the @ref Color4 attribute. Used only if * either this or the @ref Color4 attribute. Used only if
@ -150,6 +151,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* @brief Four-component vertex color * @brief Four-component vertex color
* @m_since{2019,10}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Color4. Use * @ref shaders-generic "Generic attribute", @ref Magnum::Color4. Use
* either this or the @ref Color3 attribute. Used only if * either this or the @ref Color3 attribute. Used only if
@ -161,6 +163,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* Color shader output. Present always, expects three- or * Color shader output. Present always, expects three- or
* four-component floating-point or normalized buffer attachment. * four-component floating-point or normalized buffer attachment.
* @m_since{2019,10}
*/ */
ColorOutput = Generic<dimensions>::ColorOutput, ColorOutput = Generic<dimensions>::ColorOutput,
@ -174,6 +177,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
* @requires_gles30 Object ID output requires integer buffer * @requires_gles30 Object ID output requires integer buffer
* attachments, which are not available in OpenGL ES 2.0 or * attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0. * WebGL 1.0.
* @m_since{2019,10}
*/ */
ObjectIdOutput = Generic<dimensions>::ObjectIdOutput ObjectIdOutput = Generic<dimensions>::ObjectIdOutput
#endif #endif
@ -208,6 +212,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
/** /**
* Multiply diffuse color with a vertex color. Requires either * Multiply diffuse color with a vertex color. Requires either
* the @ref Color3 or @ref Color4 attribute to be present. * the @ref Color3 or @ref Color4 attribute to be present.
* @m_since{2019,10}
*/ */
VertexColor = 1 << 2, VertexColor = 1 << 2,
@ -218,6 +223,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT Flat: public GL::Ab
* @requires_gles30 Object ID output requires integer buffer * @requires_gles30 Object ID output requires integer buffer
* attachments, which are not available in OpenGL ES 2.0 or * attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0. * WebGL 1.0.
* @m_since{2019,10}
*/ */
ObjectId = 1 << 3 ObjectId = 1 << 3
#endif #endif

7
src/Magnum/Shaders/Generic.h

@ -94,6 +94,7 @@ template<UnsignedInt dimensions> struct Generic {
/** /**
* @brief Vertex tangent * @brief Vertex tangent
* @m_since{2019,10}
* *
* @ref Magnum::Vector3 "Vector3", defined only in 3D. * @ref Magnum::Vector3 "Vector3", defined only in 3D.
*/ */
@ -116,7 +117,7 @@ template<UnsignedInt dimensions> struct Generic {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Vertex color * @brief Vertex color
* @deprecated Use @ref Color3 or @ref Color4 instead. * @m_deprecated_since{2018,10} Use @ref Color3 or @ref Color4 instead.
*/ */
struct Color: GL::Attribute<3, Magnum::Color4> { struct Color: GL::Attribute<3, Magnum::Color4> {
/** /**
@ -125,12 +126,12 @@ template<UnsignedInt dimensions> struct Generic {
* @param dataType Type of passed data * @param dataType Type of passed data
* @param dataOptions Data options * @param dataOptions Data options
* *
* @deprecated Use @ref Color3 or @ref Color4 instead. * @m_deprecated_since{2018,10} Use @ref Color3 or @ref Color4 instead.
*/ */
CORRADE_DEPRECATED("use Color3 or Color4 instead") constexpr explicit Color(Components components, DataType dataType = DataType::Float, DataOptions dataOptions = {}); CORRADE_DEPRECATED("use Color3 or Color4 instead") constexpr explicit Color(Components components, DataType dataType = DataType::Float, DataOptions dataOptions = {});
/** @brief @copybrief Color(Components, DataType, DataOptions) /** @brief @copybrief Color(Components, DataType, DataOptions)
* @deprecated Use @ref Color3 or @ref Color4 instead. * @m_deprecated_since{2018,10} Use @ref Color3 or @ref Color4 instead.
*/ */
CORRADE_DEPRECATED("use Color3 or Color4 instead") constexpr explicit Color(DataType dataType = DataType::Float, DataOptions dataOptions = {}); CORRADE_DEPRECATED("use Color3 or Color4 instead") constexpr explicit Color(DataType dataType = DataType::Float, DataOptions dataOptions = {});
}; };

9
src/Magnum/Shaders/Phong.h

@ -137,6 +137,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief Tangent direction * @brief Tangent direction
* @m_since{2019,10}
* *
* @ref shaders-generic "Generic attribute", * @ref shaders-generic "Generic attribute",
* @ref Magnum::Vector3 "Vector3", used only if * @ref Magnum::Vector3 "Vector3", used only if
@ -156,6 +157,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief Three-component vertex color * @brief Three-component vertex color
* @m_since{2019,10}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Color3. Use * @ref shaders-generic "Generic attribute", @ref Magnum::Color3. Use
* either this or the @ref Color4 attribute. Used only if * either this or the @ref Color4 attribute. Used only if
@ -165,6 +167,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief Four-component vertex color * @brief Four-component vertex color
* @m_since{2019,10}
* *
* @ref shaders-generic "Generic attribute", @ref Magnum::Color4. Use * @ref shaders-generic "Generic attribute", @ref Magnum::Color4. Use
* either this or the @ref Color3 attribute. Used only if * either this or the @ref Color3 attribute. Used only if
@ -177,6 +180,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* Color shader output. @ref shaders-generic "Generic output", * Color shader output. @ref shaders-generic "Generic output",
* present always. Expects three- or four-component floating-point * present always. Expects three- or four-component floating-point
* or normalized buffer attachment. * or normalized buffer attachment.
* @m_since{2019,10}
*/ */
ColorOutput = Generic3D::ColorOutput, ColorOutput = Generic3D::ColorOutput,
@ -190,6 +194,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @requires_gles30 Object ID output requires integer buffer * @requires_gles30 Object ID output requires integer buffer
* attachments, which are not available in OpenGL ES 2.0 or * attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0. * WebGL 1.0.
* @m_since{2019,10}
*/ */
ObjectIdOutput = Generic3D::ObjectIdOutput ObjectIdOutput = Generic3D::ObjectIdOutput
#endif #endif
@ -222,6 +227,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* Modify normals according to a texture. Requires the * Modify normals according to a texture. Requires the
* @ref Tangent attribute to be present. * @ref Tangent attribute to be present.
* @m_since{2019,10}
*/ */
NormalTexture = 1 << 4, NormalTexture = 1 << 4,
@ -241,6 +247,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* Multiply diffuse color with a vertex color. Requires either * Multiply diffuse color with a vertex color. Requires either
* the @ref Color3 or @ref Color4 attribute to be present. * the @ref Color3 or @ref Color4 attribute to be present.
* @m_since{2019,10}
*/ */
VertexColor = 1 << 5, VertexColor = 1 << 5,
@ -251,6 +258,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @requires_gles30 Object ID output requires integer buffer * @requires_gles30 Object ID output requires integer buffer
* attachments, which are not available in OpenGL ES 2.0 or * attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0. * WebGL 1.0.
* @m_since{2019,10}
*/ */
ObjectId = 1 << 6 ObjectId = 1 << 6
#endif #endif
@ -348,6 +356,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/** /**
* @brief Bind a normal texture * @brief Bind a normal texture
* @return Reference to self (for method chaining) * @return Reference to self (for method chaining)
* @m_since{2019,10}
* *
* Expects that the shader was created with @ref Flag::NormalTexture * Expects that the shader was created with @ref Flag::NormalTexture
* enabled and the @ref Tangent attribute was supplied. If * enabled and the @ref Tangent attribute was supplied. If

2
src/Magnum/Shaders/VertexColor.h

@ -103,7 +103,7 @@ template<UnsignedInt dimensions> class MAGNUM_SHADERS_EXPORT VertexColor: public
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Vertex color * @brief Vertex color
* @deprecated Use @ref Color3 or @ref Color4 instead. * @m_deprecated_since{2018,10} Use @ref Color3 or @ref Color4 instead.
*/ */
typedef CORRADE_DEPRECATED("use Color3 or Color4 instead") typename Generic<dimensions>::Color Color; typedef CORRADE_DEPRECATED("use Color3 or Color4 instead") typename Generic<dimensions>::Color Color;
#endif #endif

14
src/Magnum/Text/AbstractFont.h

@ -133,6 +133,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
* *
* See @ref Text-AbstractFont-usage-callbacks and particular font * See @ref Text-AbstractFont-usage-callbacks and particular font
* plugin documentation for more information. * plugin documentation for more information.
* @m_since{2019,10}
*/ */
FileCallback = 1 << 1, FileCallback = 1 << 1,
@ -140,7 +141,8 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/** /**
* The format is multi-file, thus @ref openSingleData() convenience * The format is multi-file, thus @ref openSingleData() convenience
* function cannot be used. * function cannot be used.
* @deprecated Obsolete, use file callbacks instead. * @m_deprecated_since{2019,10} Obsolete, use file callbacks
* instead.
*/ */
MultiFile CORRADE_DEPRECATED_ENUM("obsolete, use file callbacks instead") = FileCallback, MultiFile CORRADE_DEPRECATED_ENUM("obsolete, use file callbacks instead") = FileCallback,
#endif #endif
@ -195,6 +197,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/** /**
* @brief File opening callback function * @brief File opening callback function
* @m_since{2019,10}
* *
* @see @ref Text-AbstractFont-usage-callbacks * @see @ref Text-AbstractFont-usage-callbacks
*/ */
@ -202,6 +205,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/** /**
* @brief File opening callback user data * @brief File opening callback user data
* @m_since{2019,10}
* *
* @see @ref Text-AbstractFont-usage-callbacks * @see @ref Text-AbstractFont-usage-callbacks
*/ */
@ -209,6 +213,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/** /**
* @brief Set file opening callback * @brief Set file opening callback
* @m_since{2019,10}
* *
* In case the font plugin supports @ref Feature::FileCallback, files * In case the font plugin supports @ref Feature::FileCallback, files
* opened through @ref openFile() will be loaded through the provided * opened through @ref openFile() will be loaded through the provided
@ -258,6 +263,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/** /**
* @brief Set file opening callback * @brief Set file opening callback
* @m_since{2019,10}
* *
* Equivalent to calling the above with a lambda wrapper that casts * Equivalent to calling the above with a lambda wrapper that casts
* @cpp void* @ce back to @cpp T* @ce and dereferences it in order to * @cpp void* @ce back to @cpp T* @ce and dereferences it in order to
@ -294,13 +300,13 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief openData(Containers::ArrayView<const char>, Float) /** @brief @copybrief openData(Containers::ArrayView<const char>, Float)
* @deprecated Use @ref openFile() with @ref setFileCallback() for * @m_deprecated_since{2019,10} Use @ref openFile() with
* opening multi-file fonts instead. * @ref setFileCallback() for opening multi-file fonts instead.
*/ */
CORRADE_DEPRECATED("use openFile() with setFileCallback() for opening multi-file fonts instead") bool openData(const std::vector<std::pair<std::string, Containers::ArrayView<const char>>>& data, Float size); CORRADE_DEPRECATED("use openFile() with setFileCallback() for opening multi-file fonts instead") bool openData(const std::vector<std::pair<std::string, Containers::ArrayView<const char>>>& data, Float size);
/** @brief @copybrief openData(Containers::ArrayView<const char>, Float) /** @brief @copybrief openData(Containers::ArrayView<const char>, Float)
* @deprecated Use @ref openData(Containers::ArrayView<const char>, Float) * @m_deprecated_since{2019,10} Use @ref openData(Containers::ArrayView<const char>, Float)
* instead. * instead.
*/ */
CORRADE_DEPRECATED("use openData(Containers::ArrayView<const char>, Float) instead") bool openSingleData(Containers::ArrayView<const char> data, Float size); CORRADE_DEPRECATED("use openData(Containers::ArrayView<const char>, Float) instead") bool openSingleData(Containers::ArrayView<const char> data, Float size);

4
src/Magnum/Text/AbstractGlyphCache.h

@ -27,6 +27,7 @@
/** @file /** @file
* @brief Class @ref Magnum::Text::AbstractGlyphCache * @brief Class @ref Magnum::Text::AbstractGlyphCache
* @m_since{2019,10}
*/ */
#include <vector> #include <vector>
@ -40,6 +41,7 @@ namespace Magnum { namespace Text {
/** /**
@brief Features supported by a particular glyph cache implementation @brief Features supported by a particular glyph cache implementation
@m_since{2019,10}
@see @ref GlyphCacheFeatures, @ref AbstractGlyphCache::features() @see @ref GlyphCacheFeatures, @ref AbstractGlyphCache::features()
*/ */
@ -55,6 +57,7 @@ enum class GlyphCacheFeature: UnsignedByte {
/** /**
@brief Set of features supported by a glyph cache @brief Set of features supported by a glyph cache
@m_since{2019,10}
@see @ref AbstractGlyphCache::features() @see @ref AbstractGlyphCache::features()
*/ */
@ -64,6 +67,7 @@ CORRADE_ENUMSET_OPERATORS(GlyphCacheFeatures)
/** /**
@brief Base for glyph caches @brief Base for glyph caches
@m_since{2019,10}
An API-agnostic base for glyph caches. See @ref GlyphCache and An API-agnostic base for glyph caches. See @ref GlyphCache and
@ref DistanceFieldGlyphCache for concrete implementations. @ref DistanceFieldGlyphCache for concrete implementations.

5
src/Magnum/TextureTools/DistanceField.h

@ -132,8 +132,9 @@ class MAGNUM_TEXTURETOOLS_EXPORT DistanceField {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
@brief Create a signed distance field @brief Create a signed distance field
@deprecated Deprecated due to inefficiency of its statelessness when doing @m_deprecated_since{2019,01} Deprecated due to inefficiency of its
batch processing. Use the @ref DistanceField class instead. statelessness when doing batch processing. Use the @ref DistanceField class
instead.
*/ */
inline CORRADE_DEPRECATED("use the DistanceField class instead") void distanceField(GL::Texture2D& input, GL::Texture2D& output, const Range2Di& rectangle, Int radius, const Vector2i& imageSize inline CORRADE_DEPRECATED("use the DistanceField class instead") void distanceField(GL::Texture2D& input, GL::Texture2D& output, const Range2Di& rectangle, Int radius, const Vector2i& imageSize
#ifndef MAGNUM_TARGET_GLES #ifndef MAGNUM_TARGET_GLES

2
src/Magnum/Trade/AbstractImporter.h

@ -46,7 +46,7 @@ namespace Magnum { namespace Trade {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief InputFileCallbackPolicy /** @brief @copybrief InputFileCallbackPolicy
* @deprecated Use @ref InputFileCallbackPolicy instead. * @m_deprecated_since{2019,10} Use @ref InputFileCallbackPolicy instead.
*/ */
typedef CORRADE_DEPRECATED("use InputFileCallbackPolicy instead") InputFileCallbackPolicy ImporterFileCallbackPolicy; typedef CORRADE_DEPRECATED("use InputFileCallbackPolicy instead") InputFileCallbackPolicy ImporterFileCallbackPolicy;
#endif #endif

2
src/Magnum/Trade/AbstractMaterialData.h

@ -163,7 +163,7 @@ class MAGNUM_TRADE_EXPORT AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief Constructor /** @brief Constructor
* @deprecated Use @ref AbstractMaterialData(MaterialType, Flags, MaterialAlphaMode, Float, const void*) * @m_deprecated_since{2018,10} Use @ref AbstractMaterialData(MaterialType, Flags, MaterialAlphaMode, Float, const void*)
* instead. * instead.
*/ */
explicit CORRADE_DEPRECATED("use AbstractMaterialData(MaterialType, UnsignedInt, MaterialAlphaMode, Float) instead") AbstractMaterialData(MaterialType type, const void* importerState = nullptr) noexcept: AbstractMaterialData{type, {}, MaterialAlphaMode::Opaque, 0.5f, importerState} {} explicit CORRADE_DEPRECATED("use AbstractMaterialData(MaterialType, UnsignedInt, MaterialAlphaMode, Float) instead") AbstractMaterialData(MaterialType type, const void* importerState = nullptr) noexcept: AbstractMaterialData{type, {}, MaterialAlphaMode::Opaque, 0.5f, importerState} {}

2
src/Magnum/Trade/CameraData.h

@ -98,7 +98,7 @@ class MAGNUM_TRADE_EXPORT CameraData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief CameraData(CameraType, Rad, Float, Float, Float, const void*) /** @brief @copybrief CameraData(CameraType, Rad, Float, Float, Float, const void*)
* @deprecated Use @ref CameraData(CameraType, Rad, Float, Float, Float, const void*) * @m_deprecated_since{2018,10} Use @ref CameraData(CameraType, Rad, Float, Float, Float, const void*)
* instead. * instead.
*/ */
explicit CORRADE_DEPRECATED("use CameraData(CameraType, Rad, Float, Float, const void*) instead") CameraData(Rad fov, Float near, Float far, const void* importerState = nullptr) noexcept: CameraData{CameraType::Perspective3D, fov, 1.0f, near, far, importerState} {} explicit CORRADE_DEPRECATED("use CameraData(CameraType, Rad, Float, Float, const void*) instead") CameraData(Rad fov, Float near, Float far, const void* importerState = nullptr) noexcept: CameraData{CameraType::Perspective3D, fov, 1.0f, near, far, importerState} {}

17
src/Magnum/Trade/ImageData.h

@ -346,6 +346,7 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief Image data from a r-value * @brief Image data from a r-value
* @m_since{2019,10}
* *
* Unlike @ref data(), which returns a view, this is equivalent to * Unlike @ref data(), which returns a view, this is equivalent to
* @ref release() to avoid a dangling view when the temporary instance * @ref release() to avoid a dangling view when the temporary instance
@ -355,6 +356,7 @@ template<UnsignedInt dimensions> class ImageData {
Containers::Array<char> data() && { return release(); } Containers::Array<char> data() && { return release(); }
/** @overload /** @overload
* @m_since{2019,10}
* @todo what to do here?! * @todo what to do here?!
*/ */
Containers::Array<char> data() const && = delete; Containers::Array<char> data() const && = delete;
@ -362,8 +364,8 @@ template<UnsignedInt dimensions> class ImageData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") T* data() { template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") T* data() {
@ -372,8 +374,8 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief Image data in a particular type * @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with * @m_deprecated_since{2019,10} Use non-templated @ref data() together
* @ref Corrade::Containers::arrayCast() instead for properly * with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion. * bounds-checked type conversion.
*/ */
template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const T* data() const { template<class T> CORRADE_DEPRECATED("use data() together with Containers::arrayCast() instead") const T* data() const {
@ -383,6 +385,7 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief View on pixel data * @brief View on pixel data
* @m_since{2019,10}
* *
* Provides direct and easy-to-use access to image pixels. Expects that * Provides direct and easy-to-use access to image pixels. Expects that
* the image is not compressed. See @ref Image-pixel-views for more * the image is not compressed. See @ref Image-pixel-views for more
@ -394,6 +397,7 @@ template<UnsignedInt dimensions> class ImageData {
/** /**
* @brief View on pixel data with a concrete pixel type * @brief View on pixel data with a concrete pixel type
* @m_since{2019,10}
* *
* Compared to non-templated @ref pixels() in addition casts the pixel * Compared to non-templated @ref pixels() in addition casts the pixel
* data to a specified type. The user is responsible for choosing * data to a specified type. The user is responsible for choosing
@ -406,7 +410,10 @@ template<UnsignedInt dimensions> class ImageData {
return Containers::arrayCast<dimensions, T>(pixels()); return Containers::arrayCast<dimensions, T>(pixels());
} }
/** @overload */ /**
* @overload
* @m_since{2019,10}
*/
template<class T> Containers::StridedArrayView<dimensions, const T> pixels() const { template<class T> Containers::StridedArrayView<dimensions, const T> pixels() const {
return Containers::arrayCast<dimensions, const T>(pixels()); return Containers::arrayCast<dimensions, const T>(pixels());
} }

2
src/Magnum/Trade/PhongMaterialData.h

@ -97,7 +97,7 @@ class MAGNUM_TRADE_EXPORT PhongMaterialData: public AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED #ifdef MAGNUM_BUILD_DEPRECATED
/** /**
* @brief Constructor * @brief Constructor
* @deprecated Use @ref PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*) * @m_deprecated_since{2018,10} Use @ref PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*)
* instead. * instead.
*/ */
explicit CORRADE_DEPRECATED("use PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*) instead") PhongMaterialData(Flags flags, Float shininess, const void* importerState = nullptr) noexcept: PhongMaterialData{flags, MaterialAlphaMode::Opaque, 0.5f, shininess, importerState} {} explicit CORRADE_DEPRECATED("use PhongMaterialData(Flags, MaterialAlphaMode, Float, Float, const void*) instead") PhongMaterialData(Flags flags, Float shininess, const void* importerState = nullptr) noexcept: PhongMaterialData{flags, MaterialAlphaMode::Opaque, 0.5f, shininess, importerState} {}

Loading…
Cancel
Save