diff --git a/doc/building.dox b/doc/building.dox
index 45a09f52f..249af1890 100644
--- a/doc/building.dox
+++ b/doc/building.dox
@@ -603,13 +603,13 @@ going to build any of the @ref example-index "examples", you'll need it.
Available only on @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten".
- `MAGNUM_WITH_GLFWAPPLICATION` --- Build the
@ref Platform::GlfwApplication "GlfwApplication" library. Depends on
- [GLFW](http://glfw.org).
+ [GLFW](https://www.glfw.org).
- `MAGNUM_WITH_GLXAPPLICATION` --- Build the
@ref Platform::GlxApplication "GlxApplication" library. Depends on **X11**.
Requires `MAGNUM_TARGET_GL` to be enabled.
- `MAGNUM_WITH_SDL2APPLICATION` --- Build the
@ref Platform::Sdl2Application "Sdl2Application" library. Depends on
- [SDL2](http://www.libsdl.org).
+ [SDL2](https://www.libsdl.org).
- `MAGNUM_WITH_XEGLAPPLICATION` --- Build the
@ref Platform::XEglApplication "XEglApplication" library. Enables also
building of the @ref GL library.
@@ -909,7 +909,7 @@ information.
@section building-doc Building documentation
-The documentation is generated using [Doxygen](http://doxygen.org) with the
+The documentation is generated using [Doxygen](https://doxygen.org) with the
[m.css Doxygen theme](https://mcss.mosra.cz/documentation/doxygen/) and
additionally uses **LaTeX** for math formulas. Use `doc/conf.py` for a local
build, the `doc/conf-public.py` is meant for the publicly available
@@ -1070,8 +1070,7 @@ to make it available to depending projects.
@subsection building-cross-emscripten Cross-compiling for Emscripten
-You will need [Emscripten](http://kripken.github.io/emscripten-site/) installed
-and configured and
+You will need [Emscripten](https://emscripten.org) installed and configured and
@ref building-corrade-cross-emscripten "Corrade built for Emscripten". The
toolchains require CMake 3.7 or newer to properly set compiler and linker
flags. If you are on Windows, [this blog post](https://blog.squareys.de/magnum-emscripten-on-windows/)
diff --git a/doc/changelog-old.dox b/doc/changelog-old.dox
index e4fc58d17..b9ed35b75 100644
--- a/doc/changelog-old.dox
+++ b/doc/changelog-old.dox
@@ -1187,7 +1187,7 @@ a high-level overview.
@subsection changelog-2018-02-docs Documentation
-- New documentation theme powered by [m.css](http://mcss.mosra.cz) and
+- New documentation theme powered by [m.css](https://mcss.mosra.cz) and
related massive updates of *everything* (see
[mosra/magnum#113](https://github.com/mosra/magnum/issues/113))
- Explicit list of extensions that are available in WebGL builds
diff --git a/doc/conf.py b/doc/conf.py
index c9bf319d3..507449cb7 100644
--- a/doc/conf.py
+++ b/doc/conf.py
@@ -30,7 +30,7 @@ LINKS_NAVBAR2 = [
("Python API", [])
]
-FINE_PRINT = """
Magnum docs. Part of the Magnum project, copyright © Vladimír Vondruš and contributors, 2010–2025.
Generated by Doxygen {doxygen_version} and m.css. Contact the team via GitHub, Gitter, e-mail or Twitter.
"""
+FINE_PRINT = """Magnum docs. Part of the Magnum project, copyright © Vladimír Vondruš and contributors, 2010–2025.
Generated by Doxygen {doxygen_version} and m.css. Contact the team via GitHub, Gitter, e-mail or Twitter.
"""
SEARCH_HELP = """Search for symbols, directories, files, pages, OpenGL, GLSL, Vulkan and OpenAL APIs. You can omit any prefix from the symbol or file path; adding a : or / suffix lists all members of given symbol or directory.
Use ↓ / ↑ to navigate through the list, Enter to go. Tab autocompletes common prefix, you can copy a link to the result using ⌘ L while ⌘ M produces a Markdown link.
"""
diff --git a/doc/developers.dox b/doc/developers.dox
index ed9b2e7e8..c384e6847 100644
--- a/doc/developers.dox
+++ b/doc/developers.dox
@@ -394,8 +394,8 @@ in inverse.
7. Mention the new functionality in `doc/changelog.dox` (and similar files in
other repos)
8. @ref building-doc "Build documentation":
- - run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-mcss`
- and verify there are no new warnings
+ - run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf.py` and verify there are no new warnings
- eyeball the relevant docs and fix suspicious things
9. Build a coverage build (`package/archlinux/PKGBUILD-coverage`), or abuse
the CI for that later
@@ -417,8 +417,8 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
5. Mention the new functionality in `doc/changelog.dox` (and similar files in
other repos)
6. @ref building-doc "Build documentation":
- - run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-mcss`
- and verify there are no new warnings
+ - run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf.py` and verify there are no new warnings
- eyeball the relevant docs and fix suspicious things
7. Build a coverage build (`package/archlinux/PKGBUILD-coverage`), or abuse
the CI for that later
@@ -443,8 +443,8 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
6. Mention the new page in `doc/changelog.dox` (and similar files in other
repos)
7. @ref building-doc "Build documentation":
- - run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-mcss`
- and verify there are no new warnings
+ - run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf.py` and verify there are no new warnings
- eyeball the relevant docs and fix suspicious things
8. Push to `master`
@@ -488,8 +488,8 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
8. Mention the deprecated API in the deprecation section of `doc/changelog.dox`
(and similar files in other repos)
9. @ref building-doc "Build documentation":
- - run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-mcss`
- and verify there are no new warnings
+ - run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf.py` and verify there are no new warnings
- eyeball the relevant docs and fix suspicious things
10. Push to a temporary branch (e.g., `next`)
11. Iterate until the CIs are green
@@ -563,9 +563,9 @@ in inverse --- but usually @ref developers-deprecation "deprecate first".
3. Mention the removed API in the compatibility section of `doc/changelog.dox`
(or similar files in other repos)
4. @ref building-doc "Build documentation":
- - run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-mcss`
- and verify there are no new warnings --- sometimes it happens that a
- deprecated API is still being referenced
+ - run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf.py` and verify there are no new warnings --- sometimes it
+ happens that a deprecated API is still being referenced
5. Push to a temporary branch (e.g., `next`)
6. Iterate until the CIs are green
7. Merge to `master`
@@ -1157,8 +1157,8 @@ inverse.
1. (Optionally) remove `build/doc-public` to get rid of stale files
2. Verify there are no untracked files, modifications or branches different
than `master` checked out that could mess up the docs
-3. Run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-public`,
- look for suspicious warnings
+3. Run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf-public.py`, look for suspicious warnings
4. Upload contents of `build/doc-public/html/` to `doc/magnum-new/` and remove
`doc/magnum-old/` if any
5. Once the upload is finished, rename `doc/magnum/` to `doc/magnum-old/` and
@@ -1178,8 +1178,8 @@ inverse.
6. Update `doc/changelog.dox` (and similar files in other repos), if not
already done
7. @ref building-doc "Build documentation:
- - run [doxygen.py](http://mcss.mosra.cz/doxygen/) on `Doxyfile-mcss`
- and verify there are no new warnings
+ - run [doxygen.py](https://mcss.mosra.cz/documentation/doxygen/) on
+ `doc/conf.py` and verify there are no new warnings
- eyeball the relevant docs and fix suspicious things
8. Push to a temporary branch (e.g., `next`)
9. Iterate until the CIs are green
diff --git a/doc/getting-started.dox b/doc/getting-started.dox
index 0a8d6c2b0..2c78832a1 100644
--- a/doc/getting-started.dox
+++ b/doc/getting-started.dox
@@ -83,7 +83,7 @@ add_subdirectory(magnum EXCLUDE_FROM_ALL)
add_subdirectory(src)
@endcode
-The last missing piece before you can continue is the [SDL](http://libsdl.org/)
+The last missing piece before you can continue is the [SDL](https://libsdl.org)
library --- the bootstrap project (and most examples) use it to do window
management and event handling. If you are on Linux or macOS, you can get it
easily from your package manager:
diff --git a/doc/method-chaining.dox b/doc/method-chaining.dox
index 0ddfca611..729dcb24e 100644
--- a/doc/method-chaining.dox
+++ b/doc/method-chaining.dox
@@ -30,8 +30,8 @@ namespace Magnum {
@m_footernavigation
-Method chaining ([Wikipedia](http://en.wikipedia.org/wiki/Method_chaining)) is a
-feature which allows you to chain method calls one after another without
+Method chaining ([Wikipedia](https://en.wikipedia.org/wiki/Method_chaining)) is
+a feature which allows you to chain method calls one after another without
repeatedly specifying variable the method is called on. Its primary goal is to
reduce unnecessary repeated names, improving code readability.
diff --git a/doc/opengl-wrapping.dox b/doc/opengl-wrapping.dox
index bd7be17ae..d805dd466 100644
--- a/doc/opengl-wrapping.dox
+++ b/doc/opengl-wrapping.dox
@@ -120,7 +120,7 @@ previous values --- it would involve impractically large amount of queries and
state switches with serious performance impact. It's thus expected that
third-party code either does no state tracking or provides similar means to
reset their state tracker (for example Qt has
-[QQuickWindow::resetOpenGLState()](http://doc.qt.io/qt-5/qquickwindow.html#resetOpenGLState)
+[QQuickWindow::resetOpenGLState()](https://doc.qt.io/archives/qt-5.15/qquickwindow.html#resetOpenGLState)
that's advised to call before giving the control back to Qt).
@section opengl-wrapping-dsa Extension-dependent functionality
diff --git a/doc/platforms-android.dox b/doc/platforms-android.dox
index 51fdcb00b..472bc3698 100644
--- a/doc/platforms-android.dox
+++ b/doc/platforms-android.dox
@@ -182,7 +182,7 @@ different version.
The @cb{.xml} @ce
line requests the minimal and target Android SDK version. Setting the version
lower than this (or accidentally omitting this element) will enable the
-[Screen Compatibility Mode](http://www.androiddocs.com/guide/practices/screen-compat-mode.html),
+[Screen Compatibility Mode](https://developer.android.com/guide/topics/manifest/supports-screens-element#compat-mode),
which doesn't report events in coordinates that match underlying framebuffer
pixel size. That is not supported by @ref Platform::AndroidApplication since
there's [no reliable way](https://stackoverflow.com/q/17481341) to get the
diff --git a/doc/platforms-html5.dox b/doc/platforms-html5.dox
index 61b41360f..f635c6b39 100644
--- a/doc/platforms-html5.dox
+++ b/doc/platforms-html5.dox
@@ -38,8 +38,7 @@ namespace Magnum {
@todoc static plugins
The following guide explains basic workflow of using
-[Emscripten](http://kripken.github.io/emscripten-site/) for deploying HTML5
-apps using WebGL.
+[Emscripten](https://emscripten.org) for deploying HTML5 apps using WebGL.
At the very least you need to have Emscripten installed. Running console
applications requires Node.js, running browser apps require a webserver that's
@@ -559,8 +558,8 @@ See @ref GL-Buffer-webgl-restrictions "GL::Buffer",
documentation for more information. The corresponding sections in official
WebGL specification provide even more detail:
-- [Differences Between WebGL and OpenGL ES 2.0](http://www.khronos.org/registry/webgl/specs/latest/1.0/#6)
-- [Differences Between WebGL and OpenGL ES 3.0](https://www.khronos.org/registry/webgl/specs/latest/2.0/#5)
+- [Differences Between WebGL and OpenGL ES 2.0](https://registry.khronos.org/webgl/specs/latest/1.0/#6)
+- [Differences Between WebGL and OpenGL ES 3.0](https://registry.khronos.org/webgl/specs/latest/2.0/#5)
@subsection platforms-html5-webgl-timer-queries Timer queries not available in the browser
diff --git a/doc/platforms-vk.dox b/doc/platforms-vk.dox
index 12ce44f15..31bcfc810 100644
--- a/doc/platforms-vk.dox
+++ b/doc/platforms-vk.dox
@@ -116,7 +116,7 @@ Qualcomm best practices:
Various useful links:
-- [Yet another blog explaining Vulkan synchronization](http://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/)
+- [Yet another blog explaining Vulkan synchronization](https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/)
- [Writing an efficient Vulkan renderer](https://zeux.io/2020/02/27/writing-an-efficient-vulkan-renderer/)
- [Custom memory allocators](https://rastergrid.com/blog/sw-eng/2021/03/custom-memory-allocators/)
diff --git a/modules/FindEGL.cmake b/modules/FindEGL.cmake
index 0c8e6e5ec..b2e7177cd 100644
--- a/modules/FindEGL.cmake
+++ b/modules/FindEGL.cmake
@@ -69,7 +69,7 @@ find_package_handle_standard_args(EGL DEFAULT_MSG
if(NOT TARGET EGL::EGL)
# Work around BUGGY framework support on macOS. Do this also in case of
# Emscripten, since there we don't have a location either.
- # http://public.kitware.com/pipermail/cmake/2016-April/063179.html
+ # https://cmake.org/pipermail/cmake/2016-April/063179.html
if((APPLE AND EGL_LIBRARY MATCHES "\\.framework$") OR CORRADE_TARGET_EMSCRIPTEN)
add_library(EGL::EGL INTERFACE IMPORTED)
set_property(TARGET EGL::EGL APPEND PROPERTY
diff --git a/modules/FindOpenAL.cmake b/modules/FindOpenAL.cmake
index 28cb3ff37..81821b1a6 100644
--- a/modules/FindOpenAL.cmake
+++ b/modules/FindOpenAL.cmake
@@ -166,7 +166,7 @@ find_package_handle_standard_args(OpenAL DEFAULT_MSG
if(NOT TARGET OpenAL::OpenAL)
# Work around BUGGY framework support on macOS. Do this also in case of
# Emscripten, since there we don't have a location either.
- # http://public.kitware.com/pipermail/cmake/2016-April/063179.html
+ # https://cmake.org/pipermail/cmake/2016-April/063179.html
if((APPLE AND OPENAL_LIBRARY MATCHES "\\.framework$") OR CORRADE_TARGET_EMSCRIPTEN)
add_library(OpenAL::OpenAL INTERFACE IMPORTED)
set_property(TARGET OpenAL::OpenAL APPEND PROPERTY
diff --git a/modules/FindOpenGLES2.cmake b/modules/FindOpenGLES2.cmake
index ebac06d3c..5b561a20b 100644
--- a/modules/FindOpenGLES2.cmake
+++ b/modules/FindOpenGLES2.cmake
@@ -64,7 +64,7 @@ find_package_handle_standard_args(OpenGLES2 DEFAULT_MSG
if(NOT TARGET OpenGLES2::OpenGLES2)
# Work around BUGGY framework support on macOS. Do this also in case of
# Emscripten, since there we don't have a location either.
- # http://public.kitware.com/pipermail/cmake/2016-April/063179.html
+ # https://cmake.org/pipermail/cmake/2016-April/063179.html
if((CORRADE_TARGET_APPLE AND OPENGLES2_LIBRARY MATCHES "\\.framework$") OR CORRADE_TARGET_EMSCRIPTEN)
add_library(OpenGLES2::OpenGLES2 INTERFACE IMPORTED)
set_property(TARGET OpenGLES2::OpenGLES2 APPEND PROPERTY
diff --git a/modules/FindOpenGLES3.cmake b/modules/FindOpenGLES3.cmake
index 72d6784fd..38d3d4a7e 100644
--- a/modules/FindOpenGLES3.cmake
+++ b/modules/FindOpenGLES3.cmake
@@ -69,7 +69,7 @@ find_package_handle_standard_args("OpenGLES3" DEFAULT_MSG
if(NOT TARGET OpenGLES3::OpenGLES3)
# Work around BUGGY framework support on macOS. Do this also in case of
# Emscripten, since there we don't have a location either.
- # http://public.kitware.com/pipermail/cmake/2016-April/063179.html
+ # https://cmake.org/pipermail/cmake/2016-April/063179.html
if((CORRADE_TARGET_APPLE AND OPENGLES3_LIBRARY MATCHES "\\.framework$") OR CORRADE_TARGET_EMSCRIPTEN)
add_library(OpenGLES3::OpenGLES3 INTERFACE IMPORTED)
set_property(TARGET OpenGLES3::OpenGLES3 APPEND PROPERTY
diff --git a/package/ci/appveyor-cache-reset.txt b/package/ci/appveyor-cache-reset.txt
index f7416fddf..8b9006bb8 100644
--- a/package/ci/appveyor-cache-reset.txt
+++ b/package/ci/appveyor-cache-reset.txt
@@ -1,3 +1,3 @@
# Increase this number every time you want to reset AppVeyor cache.
-# http://help.appveyor.com/discussions/questions/1310-delete-cache
+# https://help.appveyor.com/discussions/questions/1310-delete-cache
0
diff --git a/src/Magnum/Animation/Easing.h b/src/Magnum/Animation/Easing.h
index 2c61568d5..2bc162377 100644
--- a/src/Magnum/Animation/Easing.h
+++ b/src/Magnum/Animation/Easing.h
@@ -295,7 +295,7 @@ point as needed:
@section Animation-Easing-references References
Functions follow the common naming from Robert Penner's Easing functions,
-http://robertpenner.com/easing/. Implementation based on and inspired by
+https://robertpenner.com/easing/. Implementation based on and inspired by
https://easings.net/,
[https://github.com/warrenm/AHEasing](https://github.com/warrenm/AHEasing/blob/master/AHEasing/easing.c),
[https://github.com/bkaradzic/bx](https://github.com/bkaradzic/bx/blob/master/include/bx/inline/easing.inl),
diff --git a/src/Magnum/DebugTools/ColorMap.h b/src/Magnum/DebugTools/ColorMap.h
index d6ac0ed4b..81b5aba33 100644
--- a/src/Magnum/DebugTools/ColorMap.h
+++ b/src/Magnum/DebugTools/ColorMap.h
@@ -178,7 +178,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> turbo
@thirdparty Created by [Stéfan van der Walt](https://github.com/stefanv) and
[Nathaniel Smith](https://github.com/njsmith) for the matplotlib library
- ([source](http://bids.github.io/colormap/)), released under a
+ ([source](https://bids.github.io/colormap/)), released under a
@m_class{m-label m-primary} **CC0** license
([choosealicense.com](https://choosealicense.com/licenses/cc0-1.0/)).
*/
@@ -194,7 +194,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> magma
@thirdparty Created by [Stéfan van der Walt](https://github.com/stefanv) and
[Nathaniel Smith](https://github.com/njsmith) for the matplotlib library
- ([source](http://bids.github.io/colormap/)), released under a
+ ([source](https://bids.github.io/colormap/)), released under a
@m_class{m-label m-primary} **CC0** license
([choosealicense.com](https://choosealicense.com/licenses/cc0-1.0/)).
*/
@@ -210,7 +210,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> plasm
@thirdparty Created by [Stéfan van der Walt](https://github.com/stefanv) and
[Nathaniel Smith](https://github.com/njsmith) for the matplotlib library
- ([source](http://bids.github.io/colormap/)), released under a
+ ([source](https://bids.github.io/colormap/)), released under a
@m_class{m-label m-primary} **CC0** license
([choosealicense.com](https://choosealicense.com/licenses/cc0-1.0/)).
*/
@@ -226,7 +226,7 @@ MAGNUM_DEBUGTOOLS_EXPORT Containers::StaticArrayView<256, const Vector3ub> infer
@thirdparty Created by [Stéfan van der Walt](https://github.com/stefanv) and
[Nathaniel Smith](https://github.com/njsmith) for the matplotlib library
- based on a design by Eric Firing ([source](http://bids.github.io/colormap/)),
+ based on a design by Eric Firing ([source](https://bids.github.io/colormap/)),
released under a @m_class{m-label m-primary} **CC0** license
([choosealicense.com](https://choosealicense.com/licenses/cc0-1.0/)).
*/
diff --git a/src/Magnum/GL/Implementation/driverSpecific.cpp b/src/Magnum/GL/Implementation/driverSpecific.cpp
index c45f822b5..70dbb7edb 100644
--- a/src/Magnum/GL/Implementation/driverSpecific.cpp
+++ b/src/Magnum/GL/Implementation/driverSpecific.cpp
@@ -626,7 +626,7 @@ auto Context::detectedDriver() -> DetectedDrivers {
/* Otherwise try to detect a D3D ANGLE backend by querying line width.
It's always exactly just 1 on D3D, usually (but not always) more on
GL, not sure about Metal. So this is not a 100% match. Sources:
- http://stackoverflow.com/a/20149090 and http://webglreport.com */
+ https://stackoverflow.com/a/20149090 and https://webglreport.com */
else {
Range1Di range;
glGetIntegerv(GL_ALIASED_LINE_WIDTH_RANGE, range.data());
diff --git a/src/Magnum/Magnum.h b/src/Magnum/Magnum.h
index 7caa66330..c01332916 100644
--- a/src/Magnum/Magnum.h
+++ b/src/Magnum/Magnum.h
@@ -154,7 +154,7 @@ Defined if the engine is built for OpenGL ES 3.0 or OpenGL ES 2.0.
Defined if the engine is built for WebGL (using Emscripten). WebGL 1 is nearly
equivalent to OpenGL ES 2.0 and WebGL 2 to OpenGL ES 3.0, thus in most cases
you don't need to treat it differently, but there are some specific
-restrictions and differences [compared to OpenGL ES 2.0](http://www.khronos.org/registry/webgl/specs/latest/1.0/#6)
+restrictions and differences [compared to OpenGL ES 2.0](https://registry.khronos.org/webgl/specs/latest/1.0/#6)
and to [OpenGL ES 3.0](https://registry.khronos.org/webgl/specs/latest/2.0/#5)
which you might want to be aware of. Implies also @ref MAGNUM_TARGET_GLES.
@see @ref MAGNUM_TARGET_GLES2 @ref CORRADE_TARGET_EMSCRIPTEN, @ref building, @ref cmake
diff --git a/src/Magnum/Math/Algorithms/GaussJordan.h b/src/Magnum/Math/Algorithms/GaussJordan.h
index d22e4f1a5..45d6d7897 100644
--- a/src/Magnum/Math/Algorithms/GaussJordan.h
+++ b/src/Magnum/Math/Algorithms/GaussJordan.h
@@ -52,7 +52,7 @@ backsubstitution is done only on @p t, as @p a would always end with identity
matrix anyway.
Based on an ultra-compact Python code by Jarno Elonen,
-http://elonen.iki.fi/code/misc-notes/python-gaussj/index.html.
+https://elonen.iki.fi/code/misc-notes/python-gaussj/.
*/
template bool gaussJordanInPlaceTransposed(RectangularMatrix& a, RectangularMatrix& t) {
for(std::size_t row = 0; row != size; ++row) {
diff --git a/src/Magnum/Math/Distance.h b/src/Magnum/Math/Distance.h
index 955207012..b9d3669fe 100644
--- a/src/Magnum/Math/Distance.h
+++ b/src/Magnum/Math/Distance.h
@@ -126,7 +126,7 @@ defined by @f$ \boldsymbol{a} @f$ and @f$ \boldsymbol{b} @f$ using a
d = \frac{|(\boldsymbol b - \boldsymbol a) \times (\boldsymbol a - \boldsymbol p)|}{|\boldsymbol b - \boldsymbol a|}
= \frac{|(\boldsymbol b - \boldsymbol a)_\bot \cdot (\boldsymbol a - \boldsymbol p)|}{|\boldsymbol b - \boldsymbol a|}
@f]
-Source: http://mathworld.wolfram.com/Point-LineDistance2-Dimensional.html
+Source: https://mathworld.wolfram.com/Point-LineDistance2-Dimensional.html
@see @ref linePointSquared(const Vector2&, const Vector2&, const Vector2&),
@ref linePoint(const Vector3&, const Vector3&, const Vector3&)
*/
@@ -158,7 +158,7 @@ defined by @f$ \boldsymbol{a} @f$ and @f$ \boldsymbol{b} @f$ using a
@ref cross(const Vector3&, const Vector3&) "cross product": @f[
d = \frac{|(\boldsymbol b - \boldsymbol a) \times (\boldsymbol a - \boldsymbol p)|}{|\boldsymbol b - \boldsymbol a|}
@f]
-Source: http://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html
+Source: https://mathworld.wolfram.com/Point-LineDistance3-Dimensional.html
@see @ref linePointSquared(const Vector3&, const Vector3&, const Vector3&),
@ref linePoint(const Vector2&, const Vector2&, const Vector2&)
*/
diff --git a/src/Magnum/Math/Intersection.h b/src/Magnum/Math/Intersection.h
index 7c527dad5..9b8a41809 100644
--- a/src/Magnum/Math/Intersection.h
+++ b/src/Magnum/Math/Intersection.h
@@ -242,7 +242,7 @@ The purpose for this is to reduce the number of times you have to compute
a ray inverse, when doing multiple ray / range intersections (for example
when traversing an AABB tree). The algorithm implemented is a version of the
classical slabs algorithm, see *Listing 1* in
-[Majercik et al.](http://jcgt.org/published/0007/03/04/).
+[Majercik et al.](https://jcgt.org/published/0007/03/04/).
@see @ref MeshTools::boundingRange()
*/
template bool rayRange(const Vector3& rayOrigin, const Vector3& inverseRayDirection, const Range3D& range);
diff --git a/src/Magnum/Math/Test/ColorTest.cpp b/src/Magnum/Math/Test/ColorTest.cpp
index b0c4988c6..0f64cb009 100644
--- a/src/Magnum/Math/Test/ColorTest.cpp
+++ b/src/Magnum/Math/Test/ColorTest.cpp
@@ -1099,8 +1099,8 @@ void ColorTest::srgb8bitRoundtrip() {
}
void ColorTest::xyz() {
- /* Verified using http://colormine.org/convert/rgb-to-xyz and
- http://www.easyrgb.com/index.php?X=CALC. The results have slight
+ /* Verified using https://colormine.org/convert/rgb-to-xyz and
+ https://www.easyrgb.com/en/convert.php. The results have slight
precision differences, because most of the code out there uses just the
rounded matrices from Wikipedia which don't round-trip perfectly. I'm
having Y in 0-1 instead of 0-100, thus the values are 100 times smaller. */
@@ -1155,7 +1155,7 @@ void ColorTest::fromXyzDefaultAlpha() {
}
void ColorTest::xyY() {
- /* Verified using http://www.easyrgb.com/index.php?X=CALC */
+ /* Verified using https://www.easyrgb.com/en/convert.php */
Vector3 xyz{0.454279f, 0.413092f, 0.0607124f};
Vector3 xyY{0.489481f, 0.445102f, 0.413092f};
diff --git a/src/Magnum/Math/TypeTraits.h b/src/Magnum/Math/TypeTraits.h
index a75661ec6..37144ee61 100644
--- a/src/Magnum/Math/TypeTraits.h
+++ b/src/Magnum/Math/TypeTraits.h
@@ -377,7 +377,7 @@ template struct TypeTraits: Implementation::TypeTraitsDefault {
* the @ref epsilon() value), pure equality comparison everywhere else.
* The @ref Half type has representable values sparse enough that no fuzzy
* comparison needs to be done. Algorithm adapted from
- * http://floating-point-gui.de/errors/comparison/.
+ * https://floating-point-gui.de/errors/comparison/.
* @see @ref Math::equal(T, T), @ref Math::notEqual(T, T)
*/
static bool equals(T a, T b);
diff --git a/src/Magnum/PixelFormat.h b/src/Magnum/PixelFormat.h
index 17ea6e952..f433fc135 100644
--- a/src/Magnum/PixelFormat.h
+++ b/src/Magnum/PixelFormat.h
@@ -701,7 +701,7 @@ enum class PixelFormat: UnsignedInt {
/**
* 24-bit unsigned normalized depth. Data layout consistent with the
- * [KTX2 specification](http://github.khronos.org/KTX-Specification/#_depth_and_stencil_formats)
+ * [KTX2 specification](https://github.khronos.org/KTX-Specification/ktxspec.v2.html#_depth_and_stencil_formats)
* --- aligned to 32 bits with the 8 most significant bits unused.
*
* Corresponds to @ref GL::PixelFormat::DepthComponent and
@@ -742,7 +742,7 @@ enum class PixelFormat: UnsignedInt {
/**
* 16-bit unsigned normalized depth with 8-bit unsigned integral stencil.
- * Data layout consistent with the [KTX2 specification](http://github.khronos.org/KTX-Specification/#_depth_and_stencil_formats)
+ * Data layout consistent with the [KTX2 specification](https://github.khronos.org/KTX-Specification/ktxspec.v2.html#_depth_and_stencil_formats)
* --- aligned to 32 bits with depth in the 16 least significant bits and
* the 8 most significant bits unused.
*
@@ -754,7 +754,7 @@ enum class PixelFormat: UnsignedInt {
/**
* 24-bit unsigned normalized depth with 8-bit unsigned integral stencil.
- * Data layout consistent with the [KTX2 specification](http://github.khronos.org/KTX-Specification/#_depth_and_stencil_formats)
+ * Data layout consistent with the [KTX2 specification](https://github.khronos.org/KTX-Specification/ktxspec.v2.html#_depth_and_stencil_formats)
* --- packed to 32 bits with depth in the 24 least significant bits
* and stencil being in the 8 most significant bits.
*
@@ -771,7 +771,7 @@ enum class PixelFormat: UnsignedInt {
/**
* 32-bit float depth with 8-bit unsigned integral stencil. Data layout
- * consistent with the [KTX2 specification](http://github.khronos.org/KTX-Specification/#_depth_and_stencil_formats)
+ * consistent with the [KTX2 specification](https://github.khronos.org/KTX-Specification/ktxspec.v2.html#_depth_and_stencil_formats)
* --- packed to 64 bits with the depth in the 32 least significant
* bits and the 24 most significant bits unused.
*
diff --git a/src/Magnum/Platform/AndroidApplication.cpp b/src/Magnum/Platform/AndroidApplication.cpp
index 51eb9e54c..3ea94220f 100644
--- a/src/Magnum/Platform/AndroidApplication.cpp
+++ b/src/Magnum/Platform/AndroidApplication.cpp
@@ -466,7 +466,7 @@ std::int32_t AndroidApplication::inputEvent(android_app* state, AInputEvent* eve
there's no way to reliably know what concrete mouse / pen
button caused the event. */
Pointer pointer;
- /* http://www.graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 */
+ /* https://graphics.stanford.edu/~seander/bithacks.html#DetermineIfPowerOf2 */
if(sourcePointers.second() && !(UnsignedByte(sourcePointers.second()) & (UnsignedByte(sourcePointers.second()) - 1)))
pointer = Pointer(UnsignedByte(sourcePointers.second()));
else
diff --git a/src/Magnum/Platform/AndroidApplication.h b/src/Magnum/Platform/AndroidApplication.h
index 3e1add547..6931d0fce 100644
--- a/src/Magnum/Platform/AndroidApplication.h
+++ b/src/Magnum/Platform/AndroidApplication.h
@@ -356,7 +356,7 @@ class AndroidApplication {
* @ref framebufferSize().
*
* @attention The reported value will be incorrect in case you use
- * the [Screen Compatibility Mode](http://www.androiddocs.com/guide/practices/screen-compat-mode.html).
+ * the [Screen Compatibility Mode](https://developer.android.com/guide/topics/manifest/supports-screens-element#compat-mode)).
* See @ref platforms-android-apps-manifest-screen-compatibility-mode
* for details.
*/
diff --git a/src/Magnum/Platform/GlfwApplication.h b/src/Magnum/Platform/GlfwApplication.h
index 9fb49d95d..a88e5559b 100644
--- a/src/Magnum/Platform/GlfwApplication.h
+++ b/src/Magnum/Platform/GlfwApplication.h
@@ -67,9 +67,9 @@ namespace Implementation {
@m_keywords{Application}
-Application using the [GLFW](http://glfw.org) toolkit. Supports keyboard and
-mouse handling with support for changing cursor and mouse tracking and warping.
-Available on all platforms where GLFW is ported.
+Application using the [GLFW](https://www.glfw.org) toolkit. Supports keyboard
+and mouse handling with support for changing cursor and mouse tracking and
+warping. Available on all platforms where GLFW is ported.
@m_class{m-block m-success}
@@ -100,9 +100,9 @@ See @ref cmake for more information.
@section Platform-GlfwApplication-usage General usage
-This application library depends on [GLFW](http://glfw.org) 3.2 and newer and
-is built if `MAGNUM_WITH_GLFWAPPLICATION` is enabled when building Magnum. To use
-this library with CMake, request the `GlfwApplication` component of the
+This application library depends on [GLFW](https://www.glfw.org) 3.2 and newer
+and is built if `MAGNUM_WITH_GLFWAPPLICATION` is enabled when building Magnum.
+To use this library with CMake, request the `GlfwApplication` component of the
`Magnum` package and link to the `Magnum::GlfwApplication` target:
@code{.cmake}
diff --git a/src/Magnum/Platform/Implementation/DpiScaling.cpp b/src/Magnum/Platform/Implementation/DpiScaling.cpp
index fb3c507ed..26ca65048 100644
--- a/src/Magnum/Platform/Implementation/DpiScaling.cpp
+++ b/src/Magnum/Platform/Implementation/DpiScaling.cpp
@@ -82,27 +82,27 @@ Float x11DpiScaling() {
won't be and that's okay -- it may be using Wayland or something else. */
void* xlib = dlopen(nullptr, RTLD_NOW|RTLD_GLOBAL);
Containers::ScopeGuard closeXlib{xlib, dlclose};
- #ifdef CORRADE_TARGET_GCC /* http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ #ifdef CORRADE_TARGET_GCC /* https://web.archive.org/web/20160826013457/http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
__extension__
#endif
auto xOpenDisplay = reinterpret_cast(dlsym(xlib, "XOpenDisplay"));
- #ifdef CORRADE_TARGET_GCC /* http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ #ifdef CORRADE_TARGET_GCC /* see above */
__extension__
#endif
auto xCloseDisplay = reinterpret_cast(dlsym(xlib, "XCloseDisplay"));
- #ifdef CORRADE_TARGET_GCC /* http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ #ifdef CORRADE_TARGET_GCC /* see above */
__extension__
#endif
auto xResourceManagerString = reinterpret_cast(dlsym(xlib, "XResourceManagerString"));
- #ifdef CORRADE_TARGET_GCC /* http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ #ifdef CORRADE_TARGET_GCC /* see above */
__extension__
#endif
auto xrmGetStringDatabase = reinterpret_cast(dlsym(xlib, "XrmGetStringDatabase"));
- #ifdef CORRADE_TARGET_GCC /* http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ #ifdef CORRADE_TARGET_GCC /* see above */
__extension__
#endif
auto xrmGetResource = reinterpret_cast(dlsym(xlib, "XrmGetResource"));
- #ifdef CORRADE_TARGET_GCC /* http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ #ifdef CORRADE_TARGET_GCC /* see above */
__extension__
#endif
auto xrmDestroyDatabase = reinterpret_cast(dlsym(xlib, "XrmDestroyDatabase"));
diff --git a/src/Magnum/Platform/Sdl2Application.h b/src/Magnum/Platform/Sdl2Application.h
index 394804960..981bbf4f2 100644
--- a/src/Magnum/Platform/Sdl2Application.h
+++ b/src/Magnum/Platform/Sdl2Application.h
@@ -113,7 +113,7 @@ namespace Implementation {
@m_keywords{Application}
-Application using the [Simple DirectMedia Layer](http://www.libsdl.org/)
+Application using the [Simple DirectMedia Layer](https://www.libsdl.org)
toolkit. Supports keyboard and mouse handling. This application library is
available for all platforms for which SDL2 is ported except Android (thus is
avaiable also on @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten", see respective
@@ -124,7 +124,7 @@ sections in @ref building-corrade-cross-emscripten "Corrade's" and
@thirdparty This plugin makes use of the [SDL2](https://www.libsdl.org/)
library, released under the @m_class{m-label m-success} **zlib license**
- ([license text](http://www.gzip.org/zlib/zlib_license.html),
+ ([license text](https://zlib.net/zlib_license.html),
[choosealicense.com](https://choosealicense.com/licenses/zlib/)).
Attribution is appreciated but not required.
@@ -221,7 +221,7 @@ final package along with a PowerShell script for easy local installation.
@section Platform-Sdl2Application-usage General usage
-This application library depends on the [SDL2](http://www.libsdl.org) library
+This application library depends on the [SDL2](https://www.libsdl.org) library
version 2.0.6 and newer. On Emscripten, the builtin minimal SDL implementation
is used. The application library is built if `MAGNUM_WITH_SDL2APPLICATION` is
enabled when building Magnum. To use this library with CMake, request the
diff --git a/src/Magnum/Platform/WindowlessWglApplication.cpp b/src/Magnum/Platform/WindowlessWglApplication.cpp
index b840939e0..3cdcda054 100644
--- a/src/Magnum/Platform/WindowlessWglApplication.cpp
+++ b/src/Magnum/Platform/WindowlessWglApplication.cpp
@@ -122,7 +122,7 @@ WindowlessWglContext::WindowlessWglContext(const Configuration& configuration, G
/* Get pointer to proper context creation function */
typedef HGLRC(WINAPI*PFNWGLCREATECONTEXTATTRIBSARBPROC)(HDC, HGLRC, const int*);
#ifdef CORRADE_TARGET_GCC
- __extension__ /* http://web.archive.org/web/20160826013457/http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
+ __extension__ /* https://web.archive.org/web/20160826013457/http://www.mr-edd.co.uk/blog/supressing_gcc_warnings */
#endif
const PFNWGLCREATECONTEXTATTRIBSARBPROC wglCreateContextAttribsARB = reinterpret_cast( wglGetProcAddress(reinterpret_cast("wglCreateContextAttribsARB")));
diff --git a/src/Magnum/Primitives/Cube.cpp b/src/Magnum/Primitives/Cube.cpp
index d68031124..72deeccf2 100644
--- a/src/Magnum/Primitives/Cube.cpp
+++ b/src/Magnum/Primitives/Cube.cpp
@@ -592,7 +592,7 @@ constexpr struct VertexSolidStrip {
} VerticesSolidStrip[]{
/* Sources:
https://twitter.com/Donzanoid/status/436843034966507520
- http://www.asmcommunity.net/forums/topic/?id=6284#post-45209
+ https://www.asmcommunity.net/forums/topic/6284/#post-45209
https://gist.github.com/cdwfs/2cab675b333632d940cf
0---2---3---1
diff --git a/src/Magnum/SceneGraph/AbstractGroupedFeature.h b/src/Magnum/SceneGraph/AbstractGroupedFeature.h
index 4c24178af..50ef98309 100644
--- a/src/Magnum/SceneGraph/AbstractGroupedFeature.h
+++ b/src/Magnum/SceneGraph/AbstractGroupedFeature.h
@@ -44,7 +44,7 @@ Used together with @ref FeatureGroup.
@section SceneGraph-AbstractGroupedFeature-subclassing Subclassing
-Usage is via subclassing the feature using [CRTP](http://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)
+Usage is via subclassing the feature using [CRTP](https://en.wikipedia.org/wiki/Curiously_recurring_template_pattern)
and @cpp typedef @ce'ing @ref FeatureGroup to accept only given type, e.g.:
@snippet SceneGraph.cpp AbstractGroupedFeature-subclassing
diff --git a/src/Magnum/Vk/CommandBuffer.h b/src/Magnum/Vk/CommandBuffer.h
index f6a318e04..b77feb03e 100644
--- a/src/Magnum/Vk/CommandBuffer.h
+++ b/src/Magnum/Vk/CommandBuffer.h
@@ -449,7 +449,7 @@ class MAGNUM_VK_EXPORT CommandBuffer {
* @par
* Even though it may seem counterintuitive, it's recommended
* ([1](https://github.com/KhronosGroup/Vulkan-Docs/wiki/Synchronization-Examples#three-dispatches-first-dispatch-writes-to-one-storage-buffer-second-dispatch-writes-to-a-different-storage-buffer-third-dispatch-reads-both),
- * [2](http://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/))
+ * [2](https://themaister.net/blog/2019/08/14/yet-another-blog-explaining-vulkan-synchronization/))
* to do global memory barriers than per-resource barriers, except
* for cases where layout transition or queue ownership transfer
* needs to be done on a particular image or buffer.
diff --git a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp
index bbbfbed55..31cb4c891 100644
--- a/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp
+++ b/src/MagnumPlugins/AnyImageImporter/AnyImageImporter.cpp
@@ -215,7 +215,7 @@ void AnyImageImporter::doOpenData(Containers::Array&& data, DataFlags) {
/* https://docs.microsoft.com/cs-cz/windows/desktop/direct3ddds/dx-graphics-dds-pguide */
else if(dataString.hasPrefix("DDS "_s))
plugin = "DdsImporter"_s;
- /* http://www.openexr.com/openexrfilelayout.pdf */
+ /* https://openexr.com/en/latest/OpenEXRFileLayout.html#magic-number */
else if(dataString.hasPrefix("\x76\x2f\x31\x01"_s))
plugin = "OpenExrImporter"_s;
/* https://en.wikipedia.org/wiki/Radiance_(software)#HDR_image_format and
@@ -247,8 +247,8 @@ void AnyImageImporter::doOpenData(Containers::Array&& data, DataFlags) {
/* https://en.wikipedia.org/wiki/Portable_Network_Graphics#File_header */
} else if(dataString.hasPrefix("\x89PNG\x0d\x0a\x1a\x0a"_s))
plugin = "PngImporter"_s;
- /* http://paulbourke.net/dataformats/tiff/,
- http://paulbourke.net/dataformats/tiff/tiff_summary.pdf */
+ /* https://paulbourke.net/dataformats/tiff/,
+ https://paulbourke.net/dataformats/tiff/tiff_summary.pdf */
else if(dataString.hasPrefix("II\x2a\x00"_s) ||
dataString.hasPrefix("MM\x00\x2a"_s))
plugin = "TiffImporter"_s;
diff --git a/src/MagnumPlugins/TgaImporter/TgaImporter.cpp b/src/MagnumPlugins/TgaImporter/TgaImporter.cpp
index 31c4bade8..304e565b7 100644
--- a/src/MagnumPlugins/TgaImporter/TgaImporter.cpp
+++ b/src/MagnumPlugins/TgaImporter/TgaImporter.cpp
@@ -96,7 +96,7 @@ Containers::Optional TgaImporter::doImage2D(UnsignedInt, UnsignedIn
return {};
}
- /* RLE encoding. Reference: http://www.paulbourke.net/dataformats/tga/ */
+ /* RLE encoding. Reference: https://paulbourke.net/dataformats/tga/ */
const bool rle = (header.imageType & 8);
/* Color */
@@ -201,7 +201,7 @@ Containers::Optional TgaImporter::doImage2D(UnsignedInt, UnsignedIn
} else {
Containers::ArrayView dstPixels = data;
while(!srcPixels.isEmpty()) {
- /* Reference: http://www.paulbourke.net/dataformats/tga/ */
+ /* Reference: https://paulbourke.net/dataformats/tga/ */
/* 8-bit RLE header. First bit denotes the operation, last 7 bits
denotes operation count minus 1. */
diff --git a/src/dummy.cpp b/src/dummy.cpp
index 8296d5147..ab6903550 100644
--- a/src/dummy.cpp
+++ b/src/dummy.cpp
@@ -28,4 +28,4 @@
library target from OBJECT sources only and you have to provide at least one
file. Otherwise the generated library gets replaced with self-pointing
symlink and the build then obviously fails with "File not found" error.
- Related: http://public.kitware.com/pipermail/cmake/2016-April/063178.html */
+ Related: https://cmake.org/pipermail/cmake/2016-April/063178.html */