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_alc_keyword{1}=@fn_alc{\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).
# 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_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_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 = \
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" \
##! "<a href="../../../../magnum-bindings/build/doc/python/index.html">Python API</a>"
##! M_VERSION_LABELS = YES
# 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_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_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_BUGLIST = NO

4
doc/namespaces.dox

@ -178,11 +178,11 @@ See @ref building and @ref cmake for more information.
/** @dir 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.
*/
/** @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.
*/

9
src/Magnum/Audio/Buffer.h

@ -94,6 +94,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/**
* @brief Buffer size in bytes
* @m_since{2019,10}
*
* @see @ref channels(), @ref bitDepth(), @ref sampleCount()
*/
@ -105,6 +106,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/**
* @brief Buffer channel count
* @m_since{2019,10}
*
* @see @ref size(), @ref bitDepth(), @ref sampleCount()
*/
@ -116,6 +118,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/**
* @brief Buffer bit depth
* @m_since{2019,10}
*
* @see @ref size(), @ref channels(), @ref sampleCount()
*/
@ -127,6 +130,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/**
* @brief Buffer sample count
* @m_since{2019,10}
*
* Calculated from @ref size(), @ref channels() and @ref bitDepth().
*/
@ -135,6 +139,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/**
* @brief Get buffer 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}
*/
@ -149,6 +154,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
* @param loopStart The loop's start point in samples
* @param loopEnd The loop's end point in samples
* @return Reference to self (for method chaining)
* @m_since{2019,10}
*
* The buffer needs to not be attached to a source for this operation
* to succeed.
@ -160,6 +166,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
* @brief Set buffer to loop from the beginning until a certain point
* @param loopEnd The loop's end point in samples
* @return Reference to self (for method chaining)
* @m_since{2019,10}
*
* Equivalent to calling @ref setLoopPoints() with @p loopStart equal
* 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
* @param loopStart The loop's start point in samples
* @return Reference to self (for method chaining)
* @m_since{2019,10}
*
* Equivalent to calling @ref setLoopPoints() with @p loopEnd equal to
* @cpp INT_MAX @ce.
@ -185,6 +193,7 @@ class MAGNUM_AUDIO_EXPORT Buffer {
/**
* @brief Resets the loop points
* @return Reference to self (for method chaining)
* @m_since{2019,10}
*
* Equivalent to calling @ref setLoopPoints() with @p loopStart equal
* 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
* @m_since{2019,10}
*
* @see @ref setBuffer(), @fn_al_keyword{GetSourcei} with
* @def_al{SOURCE_TYPE}
@ -513,6 +514,7 @@ class MAGNUM_AUDIO_EXPORT Source {
* @brief Queue buffers
* @param buffers Buffers to queue
* @return Reference to self (for method chaining)
* @m_since{2019,10}
*
* Changes source type to @ref Type::Streaming. The buffers must be
* already filled with data.
@ -524,6 +526,7 @@ class MAGNUM_AUDIO_EXPORT Source {
* @brief Unqueue buffers
* @param buffers Buffers to unqueue
* @return The number of unqueued buffers
* @m_since{2019,10}
*
* The unqueued buffers will be listed in the prefix of the array. Use
* @ref Corrade::Containers::ArrayView::prefix() to get it.

6
src/Magnum/DebugTools/ForceRenderer.h

@ -75,7 +75,7 @@ class ForceRendererOptions {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @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; }
#endif
@ -142,8 +142,8 @@ template<UnsignedInt dimensions> class ForceRenderer: public SceneGraph::Drawabl
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Constructor
* @deprecated Implicit @ref ResourceManager singleton is deprecated,
* use @ref ForceRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*)
* @m_deprecated_since{2019,10} Implicit @ref ResourceManager singleton
* is deprecated, use @ref ForceRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, const VectorTypeFor<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*)
* 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);

4
src/Magnum/DebugTools/ObjectRenderer.h

@ -108,8 +108,8 @@ template<UnsignedInt dimensions> class ObjectRenderer: public SceneGraph::Drawab
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Constructor
* @deprecated Implicit @ref ResourceManager singleton is deprecated,
* use @ref ObjectRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*)
* @m_deprecated_since{2019,10} Implicit @ref ResourceManager singleton
* is deprecated, use @ref ObjectRenderer(ResourceManager&, SceneGraph::AbstractObject<dimensions, Float>&, ResourceKey, SceneGraph::DrawableGroup<dimensions, Float>*)
* 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);

4
src/Magnum/DebugTools/Screenshot.h

@ -43,6 +43,7 @@ namespace Magnum { namespace DebugTools {
@brief Save a screenshot to a file
@param framebuffer Framebuffer which to read
@param filename File where to save
@m_since{2019,10}
Reads a rectangle of given @p framebuffer, defined by its
@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);
/** @overload
@m_since{2019,10}
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
@ -80,6 +82,7 @@ bool MAGNUM_DEBUGTOOLS_EXPORT screenshot(PluginManager::Manager<Trade::AbstractI
@param framebuffer Framebuffer which to read
@param format Pixel format to use
@param filename File where to save
@m_since{2019,10}
Similar to @ref screenshot(GL::AbstractFramebuffer&, PixelFormat, const std::string&)
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);
/** @overload
@m_since{2019,10}
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

4
src/Magnum/FileCallback.h

@ -40,6 +40,7 @@ namespace Magnum {
/**
@brief Input file callback policy
@m_since{2019,10}
@see @ref Trade::AbstractImporter::setFileCallback(),
@ref Trade-AbstractImporter-usage-callbacks
@ -75,7 +76,8 @@ enum class InputFileCallbackPolicy: UnsignedByte {
#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,
#endif

3
src/Magnum/GL/AbstractFramebuffer.h

@ -278,6 +278,7 @@ class MAGNUM_GL_EXPORT AbstractFramebuffer {
/**
* @brief Implementation-specific color read format
* @m_since{2019,10}
*
* The result is not cached in any way. If
* @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
* @m_since{2019,10}
*
* The result is not cached in any way. If
* @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
* @m_since{2019,10}
*
* Compared to @ref read(const Range2Di&, Image2D&) the function
* 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} {}
/** @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);
/** @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);
/** @overload */
/**
* @overload
* @m_since{2019,10}
*/
template<class T> Buffer& setData(std::initializer_list<T> data, BufferUsage usage = BufferUsage::StaticDraw) {
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);
/** @overload */
/**
* @overload
* @m_since{2019,10}
*/
template<class T> Buffer& setSubData(GLintptr offset, std::initializer_list<T> data) {
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
* @m_since{2019,10}
*
* Equivalent to size of the buffer attached to @ref setBuffer()
* 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
* contexts. Not detectable on WebGL, as browsers
* intentionally hide most of the driver information.
* @m_since{2019,10}
*/
SwiftShader = 1 << 6,
#endif
@ -427,6 +428,7 @@ class MAGNUM_GL_EXPORT Context {
* ARM Mali drivers on OpenGL ES.
* @partialsupport Available only on
* @ref CORRADE_TARGET_ANDROID "Android".
* @m_since{2019,10}
*/
ArmMali = 1 << 7
#endif
@ -460,6 +462,7 @@ class MAGNUM_GL_EXPORT Context {
/**
* @brief Make a context current
* @m_since{2019,10}
*
* To be used when you need to manage multiple OpenGL contexts. See
* @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
/** @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) {
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
* @m_since{2019,10}
*
* Compared to @ref image(CubeMapCoordinate, Int, Image2D&) the
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedImage(CubeMapCoordinate, Int, CompressedImage2D&)
* 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
* @m_since{2019,10}
*
* Compared to @ref subImage(Int, const Range3Di&, Image3D&) the
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedSubImage(Int, const Range3Di&, CompressedImage3D&)
* 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
/** @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) {
return setSrgbDecode(decode);
@ -489,6 +489,7 @@ class MAGNUM_GL_EXPORT CubeMapTextureArray: public AbstractTexture {
/**
* @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
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedImage(Int, CompressedImage3D&) the
* 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
* @m_since{2019,10}
*
* Compared to @ref subImage(Int, const Range3Di&, Image3D&) the
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedSubImage(Int, const Range3Di&, CompressedImage3D&)
* 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_es_extension Extension @gl_extension{EXT,texture_compression_s3tc_srgb}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_s3tc_srgb}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{EXT,texture_compression_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,
@ -1012,6 +1014,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @gl_extension{EXT,texture_compression_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,
@ -1031,6 +1034,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_extension Extension @gl_extension{EXT,texture_compression_s3tc}
* @requires_es_extension Extension @gl_extension{EXT,texture_compression_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,
@ -1685,6 +1689,7 @@ enum class CompressedPixelFormat: GLenum {
*
* @requires_gles30 Not defined on desktop OpenGL, WebGL or OpenGL ES 2.0.
* @requires_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
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_es_extension Extension @gl_extension{OES,texture_compression_astc}
* @m_since{2019,10}
*/
SRGB8Alpha8Astc6x6x6 = GL_COMPRESSED_SRGB8_ALPHA8_ASTC_6x6x6_OES,
#endif
@ -1868,6 +1892,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/
RGBPvrtc2bppV1 = GL_COMPRESSED_RGB_PVRTC_2BPPV1_IMG,
@ -1878,6 +1903,7 @@ enum class CompressedPixelFormat: GLenum {
* textures.**
* @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/
SRGBPvrtc2bppV1 = GL_COMPRESSED_SRGB_PVRTC_2BPPV1_EXT,
#endif
@ -1889,6 +1915,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/
RGBAPvrtc2bppV1 = GL_COMPRESSED_RGBA_PVRTC_2BPPV1_IMG,
@ -1899,6 +1926,7 @@ enum class CompressedPixelFormat: GLenum {
* map array textures.**
* @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/
SRGBAlphaPvrtc2bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_2BPPV1_EXT,
#endif
@ -1910,6 +1938,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/
RGBPvrtc4bppV1 = GL_COMPRESSED_RGB_PVRTC_4BPPV1_IMG,
@ -1920,6 +1949,7 @@ enum class CompressedPixelFormat: GLenum {
* textures.**
* @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/
SRGBPvrtc4bppV1 = GL_COMPRESSED_SRGB_PVRTC_4BPPV1_EXT,
#endif
@ -1931,6 +1961,7 @@ enum class CompressedPixelFormat: GLenum {
* @requires_gles Not available on desktop OpenGL.
* @requires_es_extension Extension @gl_extension{IMG,texture_compression_pvrtc}
* @requires_webgl_extension Extension @webgl_extension{WEBGL,compressed_texture_pvrtc}
* @m_since{2019,10}
*/
RGBAPvrtc4bppV1 = GL_COMPRESSED_RGBA_PVRTC_4BPPV1_IMG,
@ -1941,6 +1972,7 @@ enum class CompressedPixelFormat: GLenum {
* map array textures.**
* @requires_gles Not available on desktop OpenGL or WebGL.
* @requires_es_extension Extension @gl_extension{EXT,pvrtc_sRGB}
* @m_since{2019,10}
*/
SRGBAlphaPvrtc4bppV1 = GL_COMPRESSED_SRGB_ALPHA_PVRTC_4BPPV1_EXT
#endif

6
src/Magnum/GL/RectangleTexture.h

@ -282,7 +282,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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) {
return setSrgbDecode(decode);
@ -373,6 +373,7 @@ class MAGNUM_GL_EXPORT RectangleTexture: public AbstractTexture {
/**
* @brief Read texture to an image view
* @m_since{2019,10}
*
* Compared to @ref image(Image2D&) the function reads the pixels into
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedImage(CompressedImage2D&) the function
* 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
* @m_since{2019,10}
*
* Compared to @ref subImage(const Range2Di&, Image2D&) the function
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedSubImage(const Range2Di&, CompressedImage2D&)
* 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
/**
* 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,
#endif

6
src/Magnum/GL/Texture.h

@ -585,7 +585,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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) {
return setSrgbDecode(decode);
@ -791,6 +791,7 @@ template<UnsignedInt dimensions> class Texture: public AbstractTexture {
/**
* @brief Read given texture mip level to an image view
* @m_since{2019,10}
*
* Compared to @ref image(Int, Image<dimensions>&) the function reads
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedImage(Int, CompressedImage<dimensions>&)
* 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
* @m_since{2019,10}
*
* Compared to @ref subImage(Int, const RangeTypeFor<dimensions, Int>&, Image<dimensions>&)
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedSubImage(Int, const RangeTypeFor<dimensions, Int>&, CompressedImage<dimensions>&)
* 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
/** @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) {
return setSrgbDecode(decode);
@ -526,6 +526,7 @@ template<UnsignedInt dimensions> class TextureArray: public AbstractTexture {
/**
* @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
* 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
* @m_since{2019,10}
*
* Compared to @ref compressedImage(Int, CompressedImage<dimensions+1>&)
* 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
* @m_since{2019,10}
*
* 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,
@ -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
* @m_since{2019,10}
*
* 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,

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
* available in WebGL, use @ref TextureFormat::SRGB8 or
* @ref TextureFormat::SRGB8Alpha8
* @m_since{2019,10}
*/
SR8 = GL_SR8_EXT,
@ -215,6 +216,7 @@ enum class TextureFormat: GLenum {
* @ref TextureFormat::SRGB8Alpha8 instead. Only
* @ref TextureFormat::SR8, @ref TextureFormat::SRGB8 or
* @ref TextureFormat::SRGB8Alpha8 is available in desktop OpenGL.
* @m_since{2019,10}
*/
SRG8 = GL_SRG8_EXT,
#endif
@ -884,8 +886,8 @@ enum class TextureFormat: GLenum {
#ifdef MAGNUM_BUILD_DEPRECATED
/** RGB, normalized unsigned, red and green component 3bit, blue 2bit.
* @deprecated This one had a misleading typo in the name, use
* @ref TextureFormat::R3G3B2 instead.
* @m_deprecated_since{2019,10} This one had a misleading typo in the name,
* use @ref TextureFormat::R3G3B2 instead.
*/
R3B3G2 CORRADE_DEPRECATED_ENUM("use R3G3B2 instead") = R3G3B2,
#endif
@ -1040,6 +1042,7 @@ enum class TextureFormat: GLenum {
* @requires_es_extension Extension @gl_extension{APPLE,texture_format_BGRA8888}
* or @gl_extension{EXT,texture_format_BGRA8888}
* @requires_gles Only RGBA component ordering is available in WebGL.
* @m_since{2019,10}
*/
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
* normalized, integral or floating-point types with BGRA ordering.
* @requires_gles Only RGBA component ordering is available in WebGL.
* @m_since{2019,10}
*/
BGRA8 = GL_BGRA8_EXT,
#endif
@ -2464,6 +2468,7 @@ enum class TextureFormat: GLenum {
/**
@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
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
@m_since{2019,10}
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()
@ -2510,6 +2516,7 @@ MAGNUM_GL_EXPORT TextureFormat textureFormat(Magnum::PixelFormat 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
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
@m_since{2019,10}
In case @ref isCompressedPixelFormatImplementationSpecific() returns
@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);
/** @debugoperatorenum{TextureFormat} */
/**
@debugoperatorenum{TextureFormat}
@m_since{2019,10}
*/
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
* @m_since{2019,10}
*
* Unlike @ref data(), which returns a view, this is equivalent to
* @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(); }
/** @overload
* @m_since{2019,10}
* @todo what to do here?!
*/
Containers::Array<char> data() const && = delete;
@ -391,8 +393,8 @@ template<UnsignedInt dimensions> class Image {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
* @m_since{2019,10}
*
* Provides direct and easy-to-use access to image pixels. See
* @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
* @m_since{2019,10}
*
* Compared to non-templated @ref pixels() in addition casts the pixel
* 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());
}
/** @overload */
/**
* @overload
* @m_since{2019,10}
*/
template<class T> Containers::StridedArrayView<dimensions, const T> pixels() const {
return Containers::arrayCast<dimensions, const T>(pixels());
}
@ -628,6 +635,7 @@ template<UnsignedInt dimensions> class CompressedImage {
/**
* @brief Raw data from a r-value
* @m_since{2019,10}
*
* Unlike @ref data(), which returns a view, this is equivalent to
* @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(); }
/** @overload
* @m_since{2019,10}
* @todo what to do here?!
*/
Containers::Array<char> data() const && = delete;
@ -644,8 +653,8 @@ template<UnsignedInt dimensions> class CompressedImage {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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} {}
/** @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;
/** @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;
/** @brief Storage of pixel data */
@ -412,8 +418,8 @@ template<UnsignedInt dimensions, class T> class ImageView {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
* @m_since{2019,10}
*
* Provides direct and easy-to-use access to image pixels. See
* @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
* @m_since{2019,10}
*
* Compared to non-templated @ref pixels() in addition casts the pixel
* 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
@m_since{2019,10}
@see @ref ImageView1D, @ref ImageView2D, @ref ImageView3D,
@ref BasicMutableImageView
@ -501,6 +510,7 @@ typedef BasicImageView<3> ImageView3D;
/**
@brief Mutable image view
@m_since{2019,10}
@see @ref MutableImageView1D, @ref MutableImageView2D, @ref MutableImageView3D,
@ref BasicImageView
@ -511,6 +521,7 @@ template<UnsignedInt dimensions> using BasicMutableImageView = ImageView<dimensi
/**
@brief One-dimensional mutable image view
@m_since{2019,10}
@see @ref ImageView1D, @ref MutableCompressedImageView1D, @ref ImageView
*/
@ -518,6 +529,7 @@ typedef BasicMutableImageView<1> MutableImageView1D;
/**
@brief Two-dimensional mutable image view
@m_since{2019,10}
@see @ref ImageView2D, @ref MutableCompressedImageView2D, @ref ImageView
*/
@ -525,6 +537,7 @@ typedef BasicMutableImageView<2> MutableImageView2D;
/**
@brief Three-dimensional mutable image view
@m_since{2019,10}
@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} {}
/** @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;
/** @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;
/** @brief Storage of compressed pixel data */
@ -761,8 +780,8 @@ template<UnsignedInt dimensions, class T> class CompressedImageView {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
@m_since{2019,10}
@see @ref CompressedImageView1D, @ref CompressedImageView2D,
@ref CompressedImageView3D, @ref BasicMutableImageView
@ -831,6 +851,7 @@ typedef BasicCompressedImageView<3> CompressedImageView3D;
/**
@brief Mutable compressed image view
@m_since{2019,10}
@see @ref MutableCompressedImageView1D, @ref MutableCompressedImageView2D,
@ref MutableCompressedImageView3D, @ref BasicCompressedImageView
@ -841,6 +862,7 @@ template<UnsignedInt dimensions> using BasicMutableCompressedImageView = Compres
/**
@brief One-dimensional mutable compressed image view
@m_since{2019,10}
@see @ref CompressedImageView1D, @ref MutableImageView1D,
@ref CompressedImageView
@ -849,6 +871,7 @@ typedef BasicMutableCompressedImageView<1> MutableCompressedImageView1D;
/**
@brief Two-dimensional mutable compressed image view
@m_since{2019,10}
@see @ref CompressedImageView2D, @ref MutableImageView2D,
@ref CompressedImageView
@ -857,6 +880,7 @@ typedef BasicMutableCompressedImageView<2> MutableCompressedImageView2D;
/**
@brief Three-dimensional mutable compressed image view
@m_since{2019,10}
@see @ref CompressedImageView3D, @ref MutableImageView3D,
@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
/** @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
#undef MAGNUM_BUILD_MULTITHREADED
@ -220,6 +220,7 @@ typedef Math::Half Half;
/**
@brief Two-component bool vector
@m_since{2019,10}
Equivalent to GLSL @glsl bvec2 @ce.
@m_keyword{bvec2,GLSL bvec2,}
@ -228,6 +229,7 @@ typedef Math::BoolVector<2> BoolVector2;
/**
@brief Three-component bool vector
@m_since{2019,10}
Equivalent to GLSL @glsl bvec3 @ce.
@m_keyword{bvec3,GLSL bvec3,}
@ -236,6 +238,7 @@ typedef Math::BoolVector<3> BoolVector3;
/**
@brief Four-component bool vector
@m_since{2019,10}
Equivalent to GLSL @glsl bvec4 @ce.
@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
* @m_since{2019,10}
*
* Equivalent to @ref operator~(). See @ref Math-BoolVector-boolean for
* more information.
@ -235,6 +236,7 @@ template<std::size_t size> class BoolVector {
/**
* @brief Component-wise boolean AND
* @m_since{2019,10}
*
* Equivalent to @ref operator&(). See @ref Math-BoolVector-boolean for
* more information.
@ -266,8 +268,9 @@ template<std::size_t size> class BoolVector {
/**
* @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.
*/
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
/** @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;
#endif
@ -338,7 +338,8 @@ template<class T> class Color3: public Vector3<T> {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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) {
return fromHsv({hue, saturation, value});
@ -613,7 +614,7 @@ class Color4: public Vector4<T> {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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;
#endif
@ -694,7 +695,8 @@ class Color4: public Vector4<T> {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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>()) {
return fromHsv({hue, saturation, value}, alpha);
@ -1023,6 +1025,7 @@ template<class T> inline Vector3<T> xyzToXyY(const Vector3<T>& xyz) {
/**
@brief HSV color
@m_since{2019,10}
Storage-only type with just the usual constructors and (non-)equality
comparison.
@ -1061,14 +1064,16 @@ template<class T> struct ColorHsv {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @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:
hue{std::get<0>(hsv)}, saturation{std::get<1>(hsv)}, value{std::get<2>(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 {
return std::make_tuple(hue, saturation, value);

1
src/Magnum/Math/ConfigurationValue.h

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

38
src/Magnum/Math/Frustum.h

@ -135,8 +135,8 @@ template<class T> class Frustum {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Frustum planes
* @deprecated Use @ref operator[](std::size_t) const, @ref data() or
* @ref begin() / @ref end() instead.
* @m_deprecated_since{2019,10} Use @ref operator[](std::size_t) const,
* @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 {
/* GCC 4.8 needs explicit construction */
@ -156,6 +156,7 @@ template<class T> class Frustum {
/**
* @brief First plane
* @m_since{2019,10}
*
* Together with @ref end() useful for range access, for example here
* to check for a point/frustum intersection, similarly to
@ -164,13 +165,36 @@ template<class T> class Frustum {
* @snippet MagnumMath.cpp Frustum-range
*/
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; }
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 */
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
@m_since{2019,10}
@see @ref isNan(), @ref Constants::inf(),
@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));
}
/** @overload */
/**
@overload
@m_since{2019,10}
*/
template<std::size_t size, class T> inline BoolVector<size> isInf(const Vector<size, T>& value) {
BoolVector<size> out;
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
@m_since{2019,10}
Equivalent to @cpp value != value @ce.
@see @ref isInf(), @ref Constants::nan(),
@ -212,7 +217,10 @@ Equivalent to @cpp value != value @ce.
/* defined in Vector.h */
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) {
BoolVector<size> out;
for(std::size_t i = 0; i != size; ++i)

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

@ -27,7 +27,7 @@
*/
/** @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"
@ -38,13 +38,13 @@
CORRADE_DEPRECATED_FILE("use Magnum/Math/Distance.h instead")
/** @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 {
/** @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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
* @deprecated Use @ref Magnum/Math/Intersection.h instead.
* @m_deprecated_since{201,10} Use @ref Magnum/Math/Intersection.h instead.
*/
#include "Magnum/configure.h"
@ -38,13 +38,13 @@
CORRADE_DEPRECATED_FILE("use Magnum/Math/Intersection.h instead")
/** @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 {
/** @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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>&)
* @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.
*/
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 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>&)
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
* @m_since{2019,10}
*
* 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$,
@ -195,6 +196,7 @@ template<std::size_t size, class T> class Matrix: public RectangularMatrix<size,
/**
* @brief Matrix of cofactors
* @m_since{2019,10}
*
* A cofactor matrix @f$ \boldsymbol{C} @f$ of a matrix
* @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
* @m_since{2019,10}
*
* @f$ adj(A) @f$. Transpose of a @ref comatrix(), used for example to
* calculate an @ref inverted() matrix.

2
src/Magnum/Math/Matrix4.h

@ -366,6 +366,7 @@ template<class T> class Matrix4: public Matrix4x4<T> {
* ahead
* @param far Distance to far clipping plane, positive is
* ahead
* @m_since{2019,10}
*
* If @p far is finite, the result is: @f[
* \boldsymbol{A} = \begin{pmatrix}
@ -799,6 +800,7 @@ template<class T> class Matrix4: public Matrix4x4<T> {
/**
* @brief Normal matrix
* @m_since{2019,10}
*
* Returns @ref comatrix() of the upper-left 3x3 part of the matrix.
* 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
@m_since{2019,10}
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 values Values to update it with
@return Updated vector
@m_since{2019,10}
Returns a copy of @p vector with particular components updated from @p values.
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
/** @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) {
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
@m_since{2019,10}
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
@ -127,6 +128,7 @@ template<class T> struct IsScalar<Rad<T>>: std::true_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
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
@m_since{2019,10}
Equivalent to @ref std::true_type for all integral scalar and vector types
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
@m_since{2019,10}
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
@ -223,7 +227,8 @@ template<class T> struct IsFloatingPoint<Rad<T>>: IsFloatingPoint<T> {};
#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
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
@m_since{2019,10}
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
@ -364,6 +370,7 @@ template<class T> struct TypeTraits: Implementation::TypeTraitsDefault<T> {
/**
@brief Equality comparison of scalar types
@m_since{2019,10}
Calls @ref TypeTraits<T>::equals() --- using fuzzy compare for floating-point
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
@m_since{2019,10}
Calls @ref TypeTraits<T>::equals() --- using fuzzy compare for floating-point
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
@brief Component-wise equality comparison
@m_since{2019,10}
Unlike @ref Vector::operator==() returns a @ref BoolVector instead of a single
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
@brief Component-wise non-equality comparison
@m_since{2019,10}
Unlike @ref Vector::operator!=() returns a @ref BoolVector instead of a single
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
@m_since{2019,10}
@see @ref CompileFlags, @ref compile(const Trade::MeshData3D&, CompileFlags)
*/
@ -74,6 +75,7 @@ enum class CompileFlag: UnsignedByte {
/**
@brief Mesh compilation flags
@m_since{2019,10}
@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
/** @brief @copybrief compile(const Trade::MeshData2D&)
* @deprecated Use @ref compile(const Trade::MeshData2D&) instead. The @p usage
* parameter is ignored and returned buffer instances are empty.
* @m_deprecated_since{2018,10} Use @ref compile(const Trade::MeshData2D&)
* 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);
#endif
@ -144,7 +147,7 @@ MAGNUM_MESHTOOLS_EXPORT GL::Mesh compile(const Trade::MeshData3D& meshData, Comp
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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
* 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] data Input data
@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 new array.

2
src/Magnum/MeshTools/GenerateFlatNormals.h

@ -26,7 +26,7 @@
*/
/** @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"

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
@param[in] positions Triangle vertex positions
@param[out] normals Where to put the generated normals
@m_since{2019,10}
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
@ -86,8 +87,8 @@ MAGNUM_MESHTOOLS_EXPORT void generateFlatNormalsInto(const Containers::StridedAr
All vertices in each triangle face get the same normal vector. Removes
duplicates before returning. Expects that the position count is divisible by 3.
@deprecated This will generate index buffer that's different from the input
@p indices array, so you'll need to recombine them using
@m_deprecated_since{2019,10} This will generate index buffer that's different
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
vertices and normals. Because this makes the usage more complex than
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 positions Triangle vertex positions
@return Per-vertex normals
@m_since{2019,10}
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.

118
src/Magnum/PixelFormat.h

@ -166,6 +166,7 @@ enum class PixelFormat: UnsignedInt {
* @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_keywords{MTLPixelFormatR8Unorm_sRGB}
* @m_since{2019,10}
*/
R8Srgb,
@ -177,6 +178,7 @@ enum class PixelFormat: UnsignedInt {
* @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_keywords{MTLPixelFormatRG8Unorm_sRGB}
* @m_since{2019,10}
*/
RG8Srgb,
@ -187,6 +189,7 @@ enum class PixelFormat: UnsignedInt {
* @ref GL::PixelType::UnsignedByte, @ref GL::TextureFormat::SRGB8 or
* @def_vk_keyword{FORMAT_R8G8B8_SRGB,Format}. No 24-bit D3D or Metal
* equivalent.
* @m_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
RGBA8Srgb,
@ -775,6 +779,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* @ref GL::TextureFormat::CompressedSRGBS3tcDxt1 or
* @def_vk_keyword{FORMAT_BC1_RGB_SRGB_BLOCK,Format}. No D3D or Metal
* equivalent.
* @m_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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)
* 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_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_R11Unorm}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_R11Unorm}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_R11Unorm}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_RG11Snorm}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8A1}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatETC2_RGB8A1_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_RGBA8}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatEAC_RGBA8_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_4x4_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x4_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_5x5_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x5_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_6x6_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x5_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x6_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_8x8_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x5_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x6_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x8_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_10x10_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x10_HDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_LDR}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatASTC_12x12_HDR}
* @m_since{2019,10}
*/
Astc12x12RGBAF,
@ -1659,6 +1727,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc3x3x3RGBAUnorm,
@ -1672,6 +1741,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc3x3x3RGBASrgb,
@ -1684,6 +1754,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc3x3x3RGBAF,
@ -1696,6 +1767,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x3x3RGBAUnorm,
@ -1709,6 +1781,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x3x3RGBASrgb,
@ -1721,6 +1794,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x3x3RGBAF,
@ -1733,6 +1807,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x4x3RGBAUnorm,
@ -1746,6 +1821,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x4x3RGBASrgb,
@ -1758,6 +1834,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x4x3RGBAF,
@ -1770,6 +1847,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x4x4RGBAUnorm,
@ -1783,6 +1861,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x4x4RGBASrgb,
@ -1795,6 +1874,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc4x4x4RGBAF,
@ -1807,6 +1887,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x4x4RGBAUnorm,
@ -1820,6 +1901,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x4x4RGBASrgb,
@ -1832,6 +1914,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x4x4RGBAF,
@ -1844,6 +1927,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x5x4RGBAUnorm,
@ -1857,6 +1941,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x5x4RGBASrgb,
@ -1869,6 +1954,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x5x4RGBAF,
@ -1881,6 +1967,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x5x5RGBAUnorm,
@ -1894,6 +1981,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x5x5RGBASrgb,
@ -1906,6 +1994,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc5x5x5RGBAF,
@ -1918,6 +2007,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x5x5RGBAUnorm,
@ -1931,6 +2021,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x5x5RGBASrgb,
@ -1943,6 +2034,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x5x5RGBAF,
@ -1955,6 +2047,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x6x5RGBAUnorm,
@ -1968,6 +2061,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x6x5RGBASrgb,
@ -1980,6 +2074,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x6x5RGBAF,
@ -1992,6 +2087,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x6x6RGBAUnorm,
@ -2005,6 +2101,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
Astc6x6x6RGBASrgb,
@ -2017,6 +2114,7 @@ enum class CompressedPixelFormat: UnsignedInt {
* 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)).
* No equivalent in Metal or D3D.
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_2BPP}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_2BPP_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_2BPP}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_2BPP_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_4BPP}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGB_4BPP_sRGB}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_4BPP}
* @m_since{2019,10}
*/
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).
* No equivalent in D3D.
* @m_keywords{MTLPixelFormatPVRTC_RGBA_4BPP_sRGB}
* @m_since{2019,10}
*/
PvrtcRGBA4bppSrgb
@ -2133,6 +2239,7 @@ enum class CompressedPixelFormat: UnsignedInt {
/**
@brief Compressed block size
@m_since{2019,10}
For 2D formats the Z dimension is always 1. Expects that the pixel format is
* *not* implementation-specific.
@ -2143,6 +2250,7 @@ MAGNUM_EXPORT Vector3i compressedBlockSize(CompressedPixelFormat format);
/**
@brief Compressed block data size
@m_since{2019,10}
Byte size of each compressed block. Expects that the pixel format is *not*
implementation-specific.
@ -2200,7 +2308,10 @@ template<class T = UnsignedInt> constexpr T compressedPixelFormatUnwrap(Compress
namespace Corrade { namespace Utility {
/** @configurationvalue{Magnum::PixelFormat} */
/**
@configurationvalue{Magnum::PixelFormat}
@m_since_latest
*/
template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> {
ConfigurationValue() = delete;
@ -2219,7 +2330,10 @@ template<> struct MAGNUM_EXPORT ConfigurationValue<Magnum::PixelFormat> {
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> {
ConfigurationValue() = delete;

1
src/Magnum/Platform/AbstractXApplication.h

@ -118,6 +118,7 @@ class AbstractXApplication {
* @brief Run one iteration of application main loop
* @return @cpp false @ce if @ref exit() was called and the application
* should exit, @cpp true @ce otherwise
* @m_since_latest
*
* Called internally from @ref exec(). If you want to have better
* 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
* @m_since{2019,10}
*
* Position relative to previous move event. Unlike
* @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)
/** @file
* @brief Class @ref Magnum::Platform::EmscriptenApplication, macro @ref MAGNUM_EMSCRIPTENAPPLICATION_MAIN()
* @m_since{2019,10}
*/
#endif
@ -56,6 +57,7 @@ namespace Magnum { namespace Platform {
/** @nosubgrouping
@brief Emscripten application
@m_since{2019,10}
@m_keywords{Application}
@ -537,6 +539,7 @@ class EmscriptenApplication {
public:
/**
* @brief Cursor type
* @m_since_latest
*
* Value names in this enum don't necessarily match the CSS names in
* order to be compatible with @ref Sdl2Application and
@ -725,12 +728,16 @@ class EmscriptenApplication {
/**
* @brief Set cursor type
* @m_since_latest
*
* Default is @ref Cursor::Arrow.
*/
void setCursor(Cursor cursor);
/** @brief Get current cursor type */
/**
* @brief Get current cursor type
* @m_since_latest
*/
Cursor cursor();
private:

58
src/Magnum/Platform/GlfwApplication.h

@ -242,6 +242,7 @@ class GlfwApplication {
* @brief Run one iteration of application main loop
* @return @cpp false @ce if @ref exit() was called and the application
* should exit, @cpp true @ce otherwise
* @m_since_latest
*
* Called internally from @ref exec(). If you want to have better
* control over how the main loop behaves, you can call this function
@ -358,6 +359,7 @@ class GlfwApplication {
/**
* @brief Set window minimum size
* @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
* corresponding limit. To make the sizing work independently of the
@ -370,6 +372,7 @@ class GlfwApplication {
/**
* @brief Set window maximum size
* @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
* corresponding limit. To make the sizing work independently of the
@ -422,6 +425,7 @@ class GlfwApplication {
/**
* @brief Set window title
* @m_since{2019,10}
*
* 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)
/**
* @brief Set window icon
* @m_since_latest
*
* The @p images are expected to be with origin at bottom left (which
* is the default for imported images) and in one of
@ -442,7 +447,12 @@ class GlfwApplication {
* for more information.
*/
void setWindowIcon(std::initializer_list<ImageView2D> images);
void setWindowIcon(const ImageView2D& image); /**< @overload */
/**
* @overload
* @m_since_latest
*/
void setWindowIcon(const ImageView2D& image);
#endif
/**
@ -491,9 +501,9 @@ class GlfwApplication {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief viewportEvent(ViewportEvent&)
* @deprecated Use @ref viewportEvent(ViewportEvent&) instead.
* To preserve backwards compatibility, this function is called
* from @ref viewportEvent(ViewportEvent&) with
* @m_deprecated_since{2018,10} Use @ref viewportEvent(ViewportEvent&)
* instead. To preserve backwards compatibility, this function is
* called from @ref viewportEvent(ViewportEvent&) with
* @ref ViewportEvent::windowSize() passed to @p size. Overriding
* the new function will cause this function to not be called
* anymore.
@ -521,6 +531,7 @@ class GlfwApplication {
public:
/**
* @brief Cursor type
* @m_since_latest
*
* @see @ref setCursor()
*/
@ -537,15 +548,22 @@ class GlfwApplication {
/**
* @brief Set cursor type
* @m_since_latest
*
* Default is @ref Cursor::Arrow.
*/
void setCursor(Cursor cursor);
/** @brief Get current cursor type */
/**
* @brief Get current cursor type
* @m_since_latest
*/
Cursor cursor();
/** @brief Warp mouse cursor to given coordinates */
/**
* @brief Warp mouse cursor to given coordinates
* @m_since_latest
*/
void warpCursor(const Vector2i& position) {
glfwSetCursorPos(_window, Double(position.x()), Double(position.y()));
}
@ -850,13 +868,13 @@ class GlfwApplication::GLConfiguration {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @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(); }
/**
* @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) {
return setSrgbCapable(enabled);
@ -1017,30 +1035,31 @@ class GlfwApplication::Configuration {
/**
* @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 {
/**
* Visible unconstrained cursor
*
* @deprecated Use @ref GlfwApplication::setCursor() with
* @ref Cursor::Arrow (or any other) instead.
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* with @ref Cursor::Arrow (or any other) instead.
*/
Normal CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Arrow instead") = GLFW_CURSOR_NORMAL,
/**
* Hidden cursor
*
* @deprecated Use @ref GlfwApplication::setCursor() with
* @ref Cursor::Hidden instead.
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* with @ref Cursor::Hidden instead.
*/
Hidden CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::Hidden instead") = GLFW_CURSOR_HIDDEN,
/**
* Cursor hidden and locked window
*
* @deprecated Use @ref GlfwApplication::setCursor() with
* @ref Cursor::HiddenLocked instead.
* @m_deprecated_since_latest Use @ref GlfwApplication::setCursor()
* with @ref Cursor::HiddenLocked instead.
*/
Disabled CORRADE_DEPRECATED_ENUM("use GlfwApplication::setCursor() with Cursor::HiddenLocked instead") = GLFW_CURSOR_DISABLED
};
@ -1141,7 +1160,8 @@ class GlfwApplication::Configuration {
/**
* @brief Cursor mode
*
* @deprecated Use @ref GlfwApplication::cursor() instead.
* @m_deprecated_since_latest Use @ref GlfwApplication::cursor()
* instead.
*/
CORRADE_IGNORE_DEPRECATED_PUSH
CORRADE_DEPRECATED("use GlfwApplication::cursor() instead") CursorMode cursorMode() const {
@ -1155,7 +1175,8 @@ class GlfwApplication::Configuration {
*
* 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_DEPRECATED("use GlfwApplication::setCursor() instead") Configuration& setCursorMode(CursorMode cursorMode) {
@ -1490,7 +1511,7 @@ class GlfwApplication::KeyEvent: public GlfwApplication::InputEvent {
#ifdef MAGNUM_BUILD_DEPRECATED
/** 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,
#endif
@ -1690,6 +1711,7 @@ class GlfwApplication::MouseMoveEvent: public GlfwApplication::InputEvent {
/**
* @brief Relative position
* @m_since{2019,10}
*
* Position relative to previous move event. Unlike
* @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
/**
* @brief Mouse scroll event
* @m_since{2019,10}
*
* Defined only if the application has a
* @ref Sdl2Application::MouseScrollEvent "MouseScrollEvent".
@ -197,6 +198,7 @@ template<class Application> class BasicScreen:
/**
* @brief Text input event
* @m_since{2019,10}
*
* Defined only if the application has a
* @ref Sdl2Application::TextInputEvent "TextInputEvent".
@ -205,6 +207,7 @@ template<class Application> class BasicScreen:
/**
* @brief Text editing event
* @m_since{2019,10}
*
* Defined only if the application has a
* @ref Sdl2Application::TextEditingEvent "TextEditingEvent".
@ -224,6 +227,7 @@ template<class Application> class BasicScreen:
/**
* @brief Construct a screen and attach it to an application
* @m_since{2019,10}
*
* Unlike with @ref BasicScreen(), the screen is added to the
* application already during the construction, removing the need to
@ -352,9 +356,9 @@ template<class Application> class BasicScreen:
#ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief viewportEvent(ViewportEvent&)
* @deprecated Use @ref viewportEvent(ViewportEvent&) instead.
* To preserve backwards compatibility, this function is called
* from @ref viewportEvent(ViewportEvent&) with
* @m_deprecated_since{2018,10} Use @ref viewportEvent(ViewportEvent&)
* instead. To preserve backwards compatibility, this function is
* called from @ref viewportEvent(ViewportEvent&) with
* @ref Sdl2Application::ViewportEvent::windowSize() "*Application::ViewportEvent::windowSize()"
* passed to @p size. Overriding the new function will cause this
* function to not be called anymore.
@ -432,6 +436,7 @@ template<class Application> class BasicScreen:
#ifdef DOXYGEN_GENERATING_OUTPUT
/**
* @brief Mouse scroll event
* @m_since{2019,10}
*
* Called when @ref PropagatedEvent::Input is enabled and mouse wheel
* is rotated. See @ref Sdl2Application::mouseScrollEvent() "*Application::mouseScrollEvent()"
@ -448,6 +453,7 @@ template<class Application> class BasicScreen:
#ifdef DOXYGEN_GENERATING_OUTPUT
/**
* @brief Text input event
* @m_since{2019,10}
*
* Called when @ref PropagatedEvent::Input is enabled and text is being
* input. Defined only if the application has a
@ -457,6 +463,7 @@ template<class Application> class BasicScreen:
/**
* @brief Text editing event
* @m_since{2019,10}
*
* Called when @ref PropagatedEvent::Input and the text is being
* 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)
/**
* @brief Underlying OpenGL context
* @m_since{2019,10}
*
* Use in case you need to call SDL functionality directly. Returns
* @cpp nullptr @ce in case the context was not created yet.
@ -633,6 +634,7 @@ class Sdl2Application {
/**
* @brief Set minimum window size
* @param size The minimum size, in screen coordinates
* @m_since{2019,10}
*
* Note that, unlike in @ref GlfwApplication, SDL2 doesn't have a way
* to disable/remove a size limit. To make the sizing work
@ -645,6 +647,7 @@ class Sdl2Application {
/**
* @brief Set maximal window size
* @param size The maximum size, in screen coordinates
* @m_since{2019,10}
*
* Note that, unlike in @ref GlfwApplication, SDL2 doesn't have a way
* to disable/remove a size limit. To make the sizing work
@ -697,6 +700,7 @@ class Sdl2Application {
/**
* @brief Set window title
* @m_since{2019,10}
*
* 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))
/**
* @brief Set window icon
* @m_since_latest
*
* The @p image is expected to be with origin at bottom left (which is
* the default for imported images) and in one of
@ -812,9 +817,9 @@ class Sdl2Application {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief viewportEvent(ViewportEvent&)
* @deprecated Use @ref viewportEvent(ViewportEvent&) instead.
* To preserve backwards compatibility, this function is called
* from @ref viewportEvent(ViewportEvent&) with
* @m_deprecated_since{2018,10} Use @ref viewportEvent(ViewportEvent&)
* instead. To preserve backwards compatibility, this function is
* called from @ref viewportEvent(ViewportEvent&) with
* @ref ViewportEvent::framebufferSize() passed to @p size.
* Overriding the new function will cause this function to not be
* called anymore.
@ -858,6 +863,7 @@ class Sdl2Application {
public:
/**
* @brief Cursor type
* @m_since_latest
*
* @see @ref setCursor()
*/
@ -889,12 +895,16 @@ class Sdl2Application {
/**
* @brief Set cursor type
* @m_since_latest
*
* Default is @ref Cursor::Arrow.
*/
void setCursor(Cursor cursor);
/** @brief Get current cursor type */
/**
* @brief Get current cursor type
* @m_since_latest
*/
Cursor cursor();
#ifndef CORRADE_TARGET_EMSCRIPTEN
@ -912,7 +922,7 @@ class Sdl2Application {
/**
* @brief Whether mouse is locked
*
* @deprecated Use @ref cursor() together with
* @m_deprecated_since_latest Use @ref cursor() together with
* @ref Cursor::HiddenLocked instead.
*/
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
*
* @deprecated Use @ref setCursor() together with
* @m_deprecated_since_latest Use @ref setCursor() together with
* @ref Cursor::HiddenLocked instead.
*/
CORRADE_DEPRECATED("use setCursor() together with Cursor::HiddenLocked instead") void setMouseLocked(bool enabled);
@ -1357,13 +1367,13 @@ class Sdl2Application::GLConfiguration {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @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(); }
/**
* @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) {
return setSrgbCapable(enabled);
@ -1459,8 +1469,8 @@ class Sdl2Application::Configuration {
/**
* Allow high DPI.
*
* @deprecated Has no effect, as this flag is passed implicitly
* on platforms where needed. See
* @m_deprecated_since{2018,10} Has no effect, as this flag is
* passed implicitly on platforms where needed. See
* @ref Platform-Sdl2Application-dpi for more information.
*/
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 create(const Configuration&, const GLConfiguration&) or
* @ref tryCreate(const Configuration&, const GLConfiguration&).
* @m_since{2019,10}
*/
OpenGL = SDL_WINDOW_OPENGL,
@ -1519,9 +1530,9 @@ class Sdl2Application::Configuration {
/**
* Request a window for use with Vulkan. Useful in combination with
* @ref WindowFlag::Contextless.
*
* @note Available since SDL 2.0.6, not available on
* @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten".
* @m_since{2019,10}
*/
Vulkan = SDL_WINDOW_VULKAN
#endif

1
src/Magnum/Primitives/Circle.h

@ -36,6 +36,7 @@ namespace Magnum { namespace Primitives {
/**
@brief Whether to generate circle texture coordinates
@m_since{2019,10}
@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.
*
* @deprecated Implicit @ref ResourceManager singleton is deprecated,
* make your own or pass a reference around instead
* @m_deprecated_since{2019,10} Implicit @ref ResourceManager singleton
* 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();
#endif
@ -331,7 +331,10 @@ template<class... Types> class ResourceManager: private Implementation::Resource
return *this;
}
/** @overload */
/**
* @overload
* @m_since{2019,10}
*/
template<class T> ResourceManager<Types...>& set(ResourceKey key, Containers::Pointer<T>&& data, ResourceDataState state, ResourcePolicy policy) {
set(key, data.release(), state, policy);
return *this;
@ -382,7 +385,10 @@ template<class... Types> class ResourceManager: private Implementation::Resource
return *this;
}
/** @overload */
/**
* @overload
* @m_since{2019,10}
*/
template<class T> ResourceManager<Types...>& setFallback(Containers::Pointer<T>&& data) {
setFallback(data.release());
return *this;

11
src/Magnum/SceneGraph/AbstractFeature.h

@ -136,11 +136,18 @@ template<UnsignedInt dimensions, class T> class AbstractFeature
#endif
{
public:
/** @brief Object transformation underlying type */
/**
* @brief Object transformation underlying type
* @m_since{2019,10}
*/
typedef T Type;
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
{
public:
/** @brief Transformation underlying type */
/**
* @brief Transformation underlying type
* @m_since{2019,10}
*/
typedef T Type;
/** @brief Matrix type */
@ -88,7 +91,11 @@ template<UnsignedInt dimensions, class T> class AbstractObject
typedef AbstractFeature<dimensions, T> FeatureType;
enum: UnsignedInt {
Dimensions = dimensions /**< Dimension count */
/**
* Dimension count
* @m_since{2019,10}
*/
Dimensions = dimensions
};
/* 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 {
public:
/** @brief Object transformation underlying type */
/**
* @brief Object transformation underlying type
* @m_since{2019,10}
*/
typedef T Type;
enum: UnsignedInt {
Dimensions = dimensions /**< Dimension count */
/**
* Dimension count
* @m_since{2019,10}
*/
Dimensions = dimensions
};
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
* @m_since{2019,10}
*
* @ref shaders-generic "Generic attribute", @ref Magnum::Color3. Use
* 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
* @m_since{2019,10}
*
* @ref shaders-generic "Generic attribute", @ref Magnum::Color4. Use
* 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
* four-component floating-point or normalized buffer attachment.
* @m_since{2019,10}
*/
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
* attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0.
* @m_since{2019,10}
*/
ObjectIdOutput = Generic<dimensions>::ObjectIdOutput
#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
* the @ref Color3 or @ref Color4 attribute to be present.
* @m_since{2019,10}
*/
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
* attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0.
* @m_since{2019,10}
*/
ObjectId = 1 << 3
#endif

7
src/Magnum/Shaders/Generic.h

@ -94,6 +94,7 @@ template<UnsignedInt dimensions> struct Generic {
/**
* @brief Vertex tangent
* @m_since{2019,10}
*
* @ref Magnum::Vector3 "Vector3", defined only in 3D.
*/
@ -116,7 +117,7 @@ template<UnsignedInt dimensions> struct Generic {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @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> {
/**
@ -125,12 +126,12 @@ template<UnsignedInt dimensions> struct Generic {
* @param dataType Type of passed data
* @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 = {});
/** @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 = {});
};

9
src/Magnum/Shaders/Phong.h

@ -137,6 +137,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/**
* @brief Tangent direction
* @m_since{2019,10}
*
* @ref shaders-generic "Generic attribute",
* @ref Magnum::Vector3 "Vector3", used only if
@ -156,6 +157,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/**
* @brief Three-component vertex color
* @m_since{2019,10}
*
* @ref shaders-generic "Generic attribute", @ref Magnum::Color3. Use
* 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
* @m_since{2019,10}
*
* @ref shaders-generic "Generic attribute", @ref Magnum::Color4. Use
* 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",
* present always. Expects three- or four-component floating-point
* or normalized buffer attachment.
* @m_since{2019,10}
*/
ColorOutput = Generic3D::ColorOutput,
@ -190,6 +194,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @requires_gles30 Object ID output requires integer buffer
* attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0.
* @m_since{2019,10}
*/
ObjectIdOutput = Generic3D::ObjectIdOutput
#endif
@ -222,6 +227,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/**
* Modify normals according to a texture. Requires the
* @ref Tangent attribute to be present.
* @m_since{2019,10}
*/
NormalTexture = 1 << 4,
@ -241,6 +247,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/**
* Multiply diffuse color with a vertex color. Requires either
* the @ref Color3 or @ref Color4 attribute to be present.
* @m_since{2019,10}
*/
VertexColor = 1 << 5,
@ -251,6 +258,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
* @requires_gles30 Object ID output requires integer buffer
* attachments, which are not available in OpenGL ES 2.0 or
* WebGL 1.0.
* @m_since{2019,10}
*/
ObjectId = 1 << 6
#endif
@ -348,6 +356,7 @@ class MAGNUM_SHADERS_EXPORT Phong: public GL::AbstractShaderProgram {
/**
* @brief Bind a normal texture
* @return Reference to self (for method chaining)
* @m_since{2019,10}
*
* Expects that the shader was created with @ref Flag::NormalTexture
* 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
/**
* @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;
#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
* plugin documentation for more information.
* @m_since{2019,10}
*/
FileCallback = 1 << 1,
@ -140,7 +141,8 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/**
* The format is multi-file, thus @ref openSingleData() convenience
* 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,
#endif
@ -195,6 +197,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/**
* @brief File opening callback function
* @m_since{2019,10}
*
* @see @ref Text-AbstractFont-usage-callbacks
*/
@ -202,6 +205,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/**
* @brief File opening callback user data
* @m_since{2019,10}
*
* @see @ref Text-AbstractFont-usage-callbacks
*/
@ -209,6 +213,7 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
/**
* @brief Set file opening callback
* @m_since{2019,10}
*
* In case the font plugin supports @ref Feature::FileCallback, files
* 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
* @m_since{2019,10}
*
* 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
@ -294,13 +300,13 @@ class MAGNUM_TEXT_EXPORT AbstractFont: public PluginManager::AbstractPlugin {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @brief @copybrief openData(Containers::ArrayView<const char>, Float)
* @deprecated Use @ref openFile() with @ref setFileCallback() for
* opening multi-file fonts instead.
* @m_deprecated_since{2019,10} Use @ref openFile() with
* @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);
/** @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.
*/
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
* @brief Class @ref Magnum::Text::AbstractGlyphCache
* @m_since{2019,10}
*/
#include <vector>
@ -40,6 +41,7 @@ namespace Magnum { namespace Text {
/**
@brief Features supported by a particular glyph cache implementation
@m_since{2019,10}
@see @ref GlyphCacheFeatures, @ref AbstractGlyphCache::features()
*/
@ -55,6 +57,7 @@ enum class GlyphCacheFeature: UnsignedByte {
/**
@brief Set of features supported by a glyph cache
@m_since{2019,10}
@see @ref AbstractGlyphCache::features()
*/
@ -64,6 +67,7 @@ CORRADE_ENUMSET_OPERATORS(GlyphCacheFeatures)
/**
@brief Base for glyph caches
@m_since{2019,10}
An API-agnostic base for glyph caches. See @ref GlyphCache and
@ref DistanceFieldGlyphCache for concrete implementations.

5
src/Magnum/TextureTools/DistanceField.h

@ -132,8 +132,9 @@ class MAGNUM_TEXTURETOOLS_EXPORT DistanceField {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
@brief Create a signed distance field
@deprecated Deprecated due to inefficiency of its statelessness when doing
batch processing. Use the @ref DistanceField class instead.
@m_deprecated_since{2019,01} Deprecated due to inefficiency of its
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
#ifndef MAGNUM_TARGET_GLES

2
src/Magnum/Trade/AbstractImporter.h

@ -46,7 +46,7 @@ namespace Magnum { namespace Trade {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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;
#endif

2
src/Magnum/Trade/AbstractMaterialData.h

@ -163,7 +163,7 @@ class MAGNUM_TRADE_EXPORT AbstractMaterialData {
#ifdef MAGNUM_BUILD_DEPRECATED
/** @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.
*/
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
/** @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.
*/
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
* @m_since{2019,10}
*
* Unlike @ref data(), which returns a view, this is equivalent to
* @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(); }
/** @overload
* @m_since{2019,10}
* @todo what to do here?!
*/
Containers::Array<char> data() const && = delete;
@ -362,8 +364,8 @@ template<UnsignedInt dimensions> class ImageData {
#ifdef MAGNUM_BUILD_DEPRECATED
/**
* @brief Image data in a particular type
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
* @deprecated Use non-templated @ref data() together with
* @ref Corrade::Containers::arrayCast() instead for properly
* @m_deprecated_since{2019,10} Use non-templated @ref data() together
* with @ref Corrade::Containers::arrayCast() instead for properly
* bounds-checked type conversion.
*/
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
* @m_since{2019,10}
*
* Provides direct and easy-to-use access to image pixels. Expects that
* 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
* @m_since{2019,10}
*
* Compared to non-templated @ref pixels() in addition casts the pixel
* 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());
}
/** @overload */
/**
* @overload
* @m_since{2019,10}
*/
template<class T> Containers::StridedArrayView<dimensions, const T> pixels() const {
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
/**
* @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.
*/
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