-#include "Magnum.h"
-#include "OpenGL.h"
-#include "magnumVisibility.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/OpenGL.h"
+#include "Magnum/visibility.h"
namespace Magnum {
@@ -281,7 +281,8 @@ class MAGNUM_EXPORT DebugMessage {
* supported and @extension{KHR,debug} is not available, this function
* does nothing.
* @see @ref setDefaultCallback(),
- * @ref Renderer::Feature::DebugOutputSynchronous
+ * @ref Renderer::Feature::DebugOutputSynchronous,
+ * @fn_gl{DebugMessageCallback}
*/
static void setCallback(Callback callback, const void* userParam = nullptr);
@@ -296,8 +297,8 @@ class MAGNUM_EXPORT DebugMessage {
* DebugMessage::Type::Marker, 1337, DebugMessage::Severity::Notification, "Hello from OpenGL command stream!");
* @endcode
*
- * %DebugMessage::Source::Application %DebugMessage::Type::Marker -1 %DebugMessage::Severity::Notification
- * Hello from OpenGL command stream!
+ * > %DebugMessage::Source::Application %DebugMessage::Type::Marker -1 %DebugMessage::Severity::Notification\n
+ * > Hello from OpenGL command stream!
*/
static void setDefaultCallback();
diff --git a/src/DebugTools/CMakeLists.txt b/src/Magnum/DebugTools/CMakeLists.txt
similarity index 98%
rename from src/DebugTools/CMakeLists.txt
rename to src/Magnum/DebugTools/CMakeLists.txt
index 987e07a5e..5c1743b57 100644
--- a/src/DebugTools/CMakeLists.txt
+++ b/src/Magnum/DebugTools/CMakeLists.txt
@@ -47,7 +47,7 @@ set(MagnumDebugTools_HEADERS
ResourceManager.h
ShapeRenderer.h
- magnumDebugToolsVisibility.h)
+ visibility.h)
add_library(MagnumDebugTools ${SHARED_OR_STATIC} ${MagnumDebugTools_SRCS})
if(BUILD_STATIC_PIC)
diff --git a/src/DebugTools/DebugTools.h b/src/Magnum/DebugTools/DebugTools.h
similarity index 98%
rename from src/DebugTools/DebugTools.h
rename to src/Magnum/DebugTools/DebugTools.h
index 3fee8ab9a..f8d0f5f2c 100644
--- a/src/DebugTools/DebugTools.h
+++ b/src/Magnum/DebugTools/DebugTools.h
@@ -28,7 +28,7 @@
* @brief Forward declarations for Magnum::DebugTools namespace
*/
-#include "Types.h"
+#include "Magnum/Types.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/ForceRenderer.cpp b/src/Magnum/DebugTools/ForceRenderer.cpp
similarity index 95%
rename from src/DebugTools/ForceRenderer.cpp
rename to src/Magnum/DebugTools/ForceRenderer.cpp
index cf5f75421..b250fbf5e 100644
--- a/src/DebugTools/ForceRenderer.cpp
+++ b/src/Magnum/DebugTools/ForceRenderer.cpp
@@ -24,13 +24,13 @@
#include "ForceRenderer.h"
-#include "Buffer.h"
-#include "Mesh.h"
-#include "DebugTools/ResourceManager.h"
-#include "SceneGraph/AbstractCamera.h"
-#include "Shaders/Flat.h"
+#include "Magnum/Buffer.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ResourceManager.h"
+#include "Magnum/SceneGraph/AbstractCamera.h"
+#include "Magnum/Shaders/Flat.h"
-#include "DebugTools/Implementation/ForceRendererTransformation.h"
+#include "Implementation/ForceRendererTransformation.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/ForceRenderer.h b/src/Magnum/DebugTools/ForceRenderer.h
similarity index 96%
rename from src/DebugTools/ForceRenderer.h
rename to src/Magnum/DebugTools/ForceRenderer.h
index f54b892db..6d2f00aba 100644
--- a/src/DebugTools/ForceRenderer.h
+++ b/src/Magnum/DebugTools/ForceRenderer.h
@@ -28,12 +28,11 @@
* @brief Class Magnum::DebugTools::ForceRenderer, Magnum::DebugTools::ForceRendererOptions, typedef Magnum::DebugTools::ForceRenderer2D, Magnum::DebugTools::ForceRenderer3D
*/
-#include "Color.h"
-#include "Resource.h"
-#include "SceneGraph/Drawable.h"
-#include "Shaders/Shaders.h"
-
-#include "magnumDebugToolsVisibility.h"
+#include "Magnum/Color.h"
+#include "Magnum/Resource.h"
+#include "Magnum/SceneGraph/Drawable.h"
+#include "Magnum/Shaders/Shaders.h"
+#include "Magnum/DebugTools/visibility.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/Implementation/AbstractBoxRenderer.cpp b/src/Magnum/DebugTools/Implementation/AbstractBoxRenderer.cpp
similarity index 91%
rename from src/DebugTools/Implementation/AbstractBoxRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/AbstractBoxRenderer.cpp
index 8e5cd07b6..41621d133 100644
--- a/src/DebugTools/Implementation/AbstractBoxRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/AbstractBoxRenderer.cpp
@@ -24,11 +24,11 @@
#include "AbstractBoxRenderer.h"
-#include "Mesh.h"
-#include "Primitives/Cube.h"
-#include "Primitives/Square.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/Primitives/Cube.h"
+#include "Magnum/Primitives/Square.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/AbstractBoxRenderer.h b/src/Magnum/DebugTools/Implementation/AbstractBoxRenderer.h
similarity index 95%
rename from src/DebugTools/Implementation/AbstractBoxRenderer.h
rename to src/Magnum/DebugTools/Implementation/AbstractBoxRenderer.h
index 0996a20f7..369346190 100644
--- a/src/DebugTools/Implementation/AbstractBoxRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/AbstractBoxRenderer.h
@@ -26,10 +26,8 @@
#include "AbstractShapeRenderer.h"
-#include "Resource.h"
-#include "Shaders/Shaders.h"
-
-#include "corradeCompatibility.h"
+#include "Magnum/Resource.h"
+#include "Magnum/Shaders/Shaders.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/AbstractShapeRenderer.cpp b/src/Magnum/DebugTools/Implementation/AbstractShapeRenderer.cpp
similarity index 94%
rename from src/DebugTools/Implementation/AbstractShapeRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/AbstractShapeRenderer.cpp
index d570806b0..a3703b010 100644
--- a/src/DebugTools/Implementation/AbstractShapeRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/AbstractShapeRenderer.cpp
@@ -24,14 +24,14 @@
#include "AbstractShapeRenderer.h"
-#include "AbstractShaderProgram.h"
-#include "Buffer.h"
-#include "Mesh.h"
-#include "DebugTools/ResourceManager.h"
-#include "MeshTools/CompressIndices.h"
-#include "Shaders/Flat.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
+#include "Magnum/AbstractShaderProgram.h"
+#include "Magnum/Buffer.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ResourceManager.h"
+#include "Magnum/MeshTools/CompressIndices.h"
+#include "Magnum/Shaders/Flat.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/AbstractShapeRenderer.h b/src/Magnum/DebugTools/Implementation/AbstractShapeRenderer.h
similarity index 91%
rename from src/DebugTools/Implementation/AbstractShapeRenderer.h
rename to src/Magnum/DebugTools/Implementation/AbstractShapeRenderer.h
index 837724f70..0641f8c7c 100644
--- a/src/DebugTools/Implementation/AbstractShapeRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/AbstractShapeRenderer.h
@@ -24,12 +24,12 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "DimensionTraits.h"
-#include "Resource.h"
-#include "DebugTools/DebugTools.h"
-#include "SceneGraph/SceneGraph.h"
-#include "Shaders/Shaders.h"
-#include "Trade/Trade.h"
+#include "Magnum/DimensionTraits.h"
+#include "Magnum/Resource.h"
+#include "Magnum/DebugTools/DebugTools.h"
+#include "Magnum/SceneGraph/SceneGraph.h"
+#include "Magnum/Shaders/Shaders.h"
+#include "Magnum/Trade/Trade.h"
namespace Magnum {
diff --git a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp b/src/Magnum/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp
similarity index 94%
rename from src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp
index dd90f600b..4a84b75f8 100644
--- a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/AxisAlignedBoxRenderer.cpp
@@ -24,10 +24,10 @@
#include "AxisAlignedBoxRenderer.h"
-#include "Mesh.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Shapes/AxisAlignedBox.h"
-#include "Shaders/Flat.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Shapes/AxisAlignedBox.h"
+#include "Magnum/Shaders/Flat.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.h b/src/Magnum/DebugTools/Implementation/AxisAlignedBoxRenderer.h
similarity index 96%
rename from src/DebugTools/Implementation/AxisAlignedBoxRenderer.h
rename to src/Magnum/DebugTools/Implementation/AxisAlignedBoxRenderer.h
index 999cc4bf1..479bdb277 100644
--- a/src/DebugTools/Implementation/AxisAlignedBoxRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/AxisAlignedBoxRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractBoxRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractBoxRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/BoxRenderer.cpp b/src/Magnum/DebugTools/Implementation/BoxRenderer.cpp
similarity index 93%
rename from src/DebugTools/Implementation/BoxRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/BoxRenderer.cpp
index 16ce142ee..539efc60c 100644
--- a/src/DebugTools/Implementation/BoxRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/BoxRenderer.cpp
@@ -24,10 +24,10 @@
#include "BoxRenderer.h"
-#include "Mesh.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Shapes/Box.h"
-#include "Shaders/Flat.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Shapes/Box.h"
+#include "Magnum/Shaders/Flat.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/BoxRenderer.h b/src/Magnum/DebugTools/Implementation/BoxRenderer.h
similarity index 96%
rename from src/DebugTools/Implementation/BoxRenderer.h
rename to src/Magnum/DebugTools/Implementation/BoxRenderer.h
index 54b00cfd2..55d84a5f0 100644
--- a/src/DebugTools/Implementation/BoxRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/BoxRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractBoxRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractBoxRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/CapsuleRenderer.cpp b/src/Magnum/DebugTools/Implementation/CapsuleRenderer.cpp
similarity index 93%
rename from src/DebugTools/Implementation/CapsuleRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/CapsuleRenderer.cpp
index a2f3d9568..79485b162 100644
--- a/src/DebugTools/Implementation/CapsuleRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/CapsuleRenderer.cpp
@@ -24,17 +24,17 @@
#include "CapsuleRenderer.h"
-#include "Mesh.h"
-#include "MeshView.h"
-#include "DebugTools/ResourceManager.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Primitives/Capsule.h"
-#include "Shapes/Capsule.h"
-#include "Shaders/Flat.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
-
-#include "DebugTools/Implementation/CapsuleRendererTransformation.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/MeshView.h"
+#include "Magnum/DebugTools/ResourceManager.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Primitives/Capsule.h"
+#include "Magnum/Shapes/Capsule.h"
+#include "Magnum/Shaders/Flat.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
+
+#include "CapsuleRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/CapsuleRenderer.h b/src/Magnum/DebugTools/Implementation/CapsuleRenderer.h
similarity index 97%
rename from src/DebugTools/Implementation/CapsuleRenderer.h
rename to src/Magnum/DebugTools/Implementation/CapsuleRenderer.h
index 5a2553470..620babf8d 100644
--- a/src/DebugTools/Implementation/CapsuleRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/CapsuleRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractShapeRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractShapeRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/CapsuleRendererTransformation.h b/src/Magnum/DebugTools/Implementation/CapsuleRendererTransformation.h
similarity index 96%
rename from src/DebugTools/Implementation/CapsuleRendererTransformation.h
rename to src/Magnum/DebugTools/Implementation/CapsuleRendererTransformation.h
index b08bb67a7..cf457f2df 100644
--- a/src/DebugTools/Implementation/CapsuleRendererTransformation.h
+++ b/src/Magnum/DebugTools/Implementation/CapsuleRendererTransformation.h
@@ -26,11 +26,11 @@
#include
-#include "Math/Functions.h"
-#include "Math/Matrix3.h"
-#include "Math/Matrix4.h"
-#include "Magnum.h"
-#include "DimensionTraits.h"
+#include "Magnum/DimensionTraits.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/Math/Functions.h"
+#include "Magnum/Math/Matrix3.h"
+#include "Magnum/Math/Matrix4.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/CylinderRenderer.cpp b/src/Magnum/DebugTools/Implementation/CylinderRenderer.cpp
similarity index 88%
rename from src/DebugTools/Implementation/CylinderRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/CylinderRenderer.cpp
index f7cfbd1e2..691e0dc95 100644
--- a/src/DebugTools/Implementation/CylinderRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/CylinderRenderer.cpp
@@ -24,16 +24,16 @@
#include "CylinderRenderer.h"
-#include "Mesh.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Shapes/Cylinder.h"
-#include "Primitives/Cylinder.h"
-#include "Primitives/Square.h"
-#include "Shaders/Flat.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
-
-#include "DebugTools/Implementation/CylinderRendererTransformation.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Shapes/Cylinder.h"
+#include "Magnum/Primitives/Cylinder.h"
+#include "Magnum/Primitives/Square.h"
+#include "Magnum/Shaders/Flat.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
+
+#include "CylinderRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/CylinderRenderer.h b/src/Magnum/DebugTools/Implementation/CylinderRenderer.h
similarity index 97%
rename from src/DebugTools/Implementation/CylinderRenderer.h
rename to src/Magnum/DebugTools/Implementation/CylinderRenderer.h
index d5a511254..4aadb3d0d 100644
--- a/src/DebugTools/Implementation/CylinderRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/CylinderRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractShapeRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractShapeRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/CylinderRendererTransformation.h b/src/Magnum/DebugTools/Implementation/CylinderRendererTransformation.h
similarity index 95%
rename from src/DebugTools/Implementation/CylinderRendererTransformation.h
rename to src/Magnum/DebugTools/Implementation/CylinderRendererTransformation.h
index 4caf8c5d6..b24704641 100644
--- a/src/DebugTools/Implementation/CylinderRendererTransformation.h
+++ b/src/Magnum/DebugTools/Implementation/CylinderRendererTransformation.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Math/Functions.h"
-#include "Math/Matrix3.h"
-#include "Math/Matrix4.h"
-#include "Magnum.h"
-#include "DimensionTraits.h"
+#include "Magnum/DimensionTraits.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/Math/Functions.h"
+#include "Magnum/Math/Matrix3.h"
+#include "Magnum/Math/Matrix4.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/ForceRendererTransformation.h b/src/Magnum/DebugTools/Implementation/ForceRendererTransformation.h
similarity index 94%
rename from src/DebugTools/Implementation/ForceRendererTransformation.h
rename to src/Magnum/DebugTools/Implementation/ForceRendererTransformation.h
index 8674cbafa..11588d60a 100644
--- a/src/DebugTools/Implementation/ForceRendererTransformation.h
+++ b/src/Magnum/DebugTools/Implementation/ForceRendererTransformation.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Math/Functions.h"
-#include "Math/Matrix3.h"
-#include "Math/Matrix4.h"
-#include "Magnum.h"
-#include "DimensionTraits.h"
+#include "Magnum/DimensionTraits.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/Math/Functions.h"
+#include "Magnum/Math/Matrix3.h"
+#include "Magnum/Math/Matrix4.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/LineSegmentRenderer.cpp b/src/Magnum/DebugTools/Implementation/LineSegmentRenderer.cpp
similarity index 91%
rename from src/DebugTools/Implementation/LineSegmentRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/LineSegmentRenderer.cpp
index 0ed2c53e5..62fc800d0 100644
--- a/src/DebugTools/Implementation/LineSegmentRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/LineSegmentRenderer.cpp
@@ -24,15 +24,15 @@
#include "LineSegmentRenderer.h"
-#include "Mesh.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Shapes/LineSegment.h"
-#include "Primitives/Line.h"
-#include "Shaders/Flat.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Shapes/LineSegment.h"
+#include "Magnum/Primitives/Line.h"
+#include "Magnum/Shaders/Flat.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
-#include "DebugTools/Implementation/LineSegmentRendererTransformation.h"
+#include "LineSegmentRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/LineSegmentRenderer.h b/src/Magnum/DebugTools/Implementation/LineSegmentRenderer.h
similarity index 96%
rename from src/DebugTools/Implementation/LineSegmentRenderer.h
rename to src/Magnum/DebugTools/Implementation/LineSegmentRenderer.h
index 556db46ec..13fa095a7 100644
--- a/src/DebugTools/Implementation/LineSegmentRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/LineSegmentRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractShapeRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractShapeRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/LineSegmentRendererTransformation.h b/src/Magnum/DebugTools/Implementation/LineSegmentRendererTransformation.h
similarity index 98%
rename from src/DebugTools/Implementation/LineSegmentRendererTransformation.h
rename to src/Magnum/DebugTools/Implementation/LineSegmentRendererTransformation.h
index 4d0927cd6..5764229de 100644
--- a/src/DebugTools/Implementation/LineSegmentRendererTransformation.h
+++ b/src/Magnum/DebugTools/Implementation/LineSegmentRendererTransformation.h
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "DimensionTraits.h"
+#include "Magnum/DimensionTraits.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/PointRenderer.cpp b/src/Magnum/DebugTools/Implementation/PointRenderer.cpp
similarity index 93%
rename from src/DebugTools/Implementation/PointRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/PointRenderer.cpp
index 7a5243180..b36f814eb 100644
--- a/src/DebugTools/Implementation/PointRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/PointRenderer.cpp
@@ -24,13 +24,13 @@
#include "PointRenderer.h"
-#include "Mesh.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Shapes/Point.h"
-#include "Primitives/Crosshair.h"
-#include "Shaders/Flat.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Shapes/Point.h"
+#include "Magnum/Primitives/Crosshair.h"
+#include "Magnum/Shaders/Flat.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/PointRenderer.h b/src/Magnum/DebugTools/Implementation/PointRenderer.h
similarity index 96%
rename from src/DebugTools/Implementation/PointRenderer.h
rename to src/Magnum/DebugTools/Implementation/PointRenderer.h
index adb88415b..a172d7f77 100644
--- a/src/DebugTools/Implementation/PointRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/PointRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractShapeRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractShapeRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/SphereRenderer.cpp b/src/Magnum/DebugTools/Implementation/SphereRenderer.cpp
similarity index 90%
rename from src/DebugTools/Implementation/SphereRenderer.cpp
rename to src/Magnum/DebugTools/Implementation/SphereRenderer.cpp
index 59362b226..1b6330925 100644
--- a/src/DebugTools/Implementation/SphereRenderer.cpp
+++ b/src/Magnum/DebugTools/Implementation/SphereRenderer.cpp
@@ -24,14 +24,14 @@
#include "SphereRenderer.h"
-#include "Mesh.h"
-#include "DebugTools/ShapeRenderer.h"
-#include "Shapes/Sphere.h"
-#include "Primitives/Circle.h"
-#include "Primitives/UVSphere.h"
-#include "Shaders/Flat.h"
-#include "Trade/MeshData2D.h"
-#include "Trade/MeshData3D.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
+#include "Magnum/Shapes/Sphere.h"
+#include "Magnum/Primitives/Circle.h"
+#include "Magnum/Primitives/UVSphere.h"
+#include "Magnum/Shaders/Flat.h"
+#include "Magnum/Trade/MeshData2D.h"
+#include "Magnum/Trade/MeshData3D.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/Implementation/SphereRenderer.h b/src/Magnum/DebugTools/Implementation/SphereRenderer.h
similarity index 97%
rename from src/DebugTools/Implementation/SphereRenderer.h
rename to src/Magnum/DebugTools/Implementation/SphereRenderer.h
index 14687a6ee..89f35e32d 100644
--- a/src/DebugTools/Implementation/SphereRenderer.h
+++ b/src/Magnum/DebugTools/Implementation/SphereRenderer.h
@@ -24,11 +24,11 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "AbstractShapeRenderer.h"
+#include
-#include "Shapes/Shapes.h"
+#include "Magnum/Shapes/Shapes.h"
-#include "corradeCompatibility.h"
+#include "AbstractShapeRenderer.h"
namespace Magnum { namespace DebugTools { namespace Implementation {
diff --git a/src/DebugTools/ObjectRenderer.cpp b/src/Magnum/DebugTools/ObjectRenderer.cpp
similarity index 97%
rename from src/DebugTools/ObjectRenderer.cpp
rename to src/Magnum/DebugTools/ObjectRenderer.cpp
index dd20e7d8c..a406f2589 100644
--- a/src/DebugTools/ObjectRenderer.cpp
+++ b/src/Magnum/DebugTools/ObjectRenderer.cpp
@@ -24,11 +24,11 @@
#include "ObjectRenderer.h"
-#include "Buffer.h"
-#include "DebugTools/ResourceManager.h"
-#include "MeshTools/Interleave.h"
-#include "SceneGraph/AbstractCamera.h"
-#include "Shaders/VertexColor.h"
+#include "Magnum/Buffer.h"
+#include "Magnum/DebugTools/ResourceManager.h"
+#include "Magnum/MeshTools/Interleave.h"
+#include "Magnum/SceneGraph/AbstractCamera.h"
+#include "Magnum/Shaders/VertexColor.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/ObjectRenderer.h b/src/Magnum/DebugTools/ObjectRenderer.h
similarity index 96%
rename from src/DebugTools/ObjectRenderer.h
rename to src/Magnum/DebugTools/ObjectRenderer.h
index 9110c4030..cd049e441 100644
--- a/src/DebugTools/ObjectRenderer.h
+++ b/src/Magnum/DebugTools/ObjectRenderer.h
@@ -28,11 +28,10 @@
* @brief Class Magnum::DebugTools::ObjectRenderer, Magnum::DebugTools::ObjectRendererOptions, typedef Magnum::DebugTools::ObjectRenderer2D, Magnum::DebugTools::ObjectRenderer3D
*/
-#include "Resource.h"
-#include "SceneGraph/Drawable.h"
-#include "Shaders/Shaders.h"
-
-#include "magnumDebugToolsVisibility.h"
+#include "Magnum/Resource.h"
+#include "Magnum/SceneGraph/Drawable.h"
+#include "Magnum/Shaders/Shaders.h"
+#include "Magnum/DebugTools/visibility.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/Profiler.cpp b/src/Magnum/DebugTools/Profiler.cpp
similarity index 98%
rename from src/DebugTools/Profiler.cpp
rename to src/Magnum/DebugTools/Profiler.cpp
index 5724acf1d..5af2d908c 100644
--- a/src/DebugTools/Profiler.cpp
+++ b/src/Magnum/DebugTools/Profiler.cpp
@@ -26,9 +26,9 @@
#include
#include
-#include
+#include
-#include "Magnum.h"
+#include "Magnum/Magnum.h"
using namespace std::chrono;
diff --git a/src/DebugTools/Profiler.h b/src/Magnum/DebugTools/Profiler.h
similarity index 98%
rename from src/DebugTools/Profiler.h
rename to src/Magnum/DebugTools/Profiler.h
index 76eb984bb..b56c9cb32 100644
--- a/src/DebugTools/Profiler.h
+++ b/src/Magnum/DebugTools/Profiler.h
@@ -32,10 +32,10 @@
#include
#include
#include
-#include
+#include
-#include "Types.h"
-#include "magnumDebugToolsVisibility.h"
+#include "Magnum/Types.h"
+#include "Magnum/DebugTools/visibility.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/ResourceManager.cpp b/src/Magnum/DebugTools/ResourceManager.cpp
similarity index 89%
rename from src/DebugTools/ResourceManager.cpp
rename to src/Magnum/DebugTools/ResourceManager.cpp
index 94d9f29a4..74fe67698 100644
--- a/src/DebugTools/ResourceManager.cpp
+++ b/src/Magnum/DebugTools/ResourceManager.cpp
@@ -26,12 +26,12 @@
#include "ResourceManager.h"
-#include "Buffer.h"
-#include "Mesh.h"
-#include "MeshView.h"
-#include "DebugTools/ForceRenderer.h"
-#include "DebugTools/ObjectRenderer.h"
-#include "DebugTools/ShapeRenderer.h"
+#include "Magnum/Buffer.h"
+#include "Magnum/Mesh.h"
+#include "Magnum/MeshView.h"
+#include "Magnum/DebugTools/ForceRenderer.h"
+#include "Magnum/DebugTools/ObjectRenderer.h"
+#include "Magnum/DebugTools/ShapeRenderer.h"
namespace Magnum {
diff --git a/src/DebugTools/ResourceManager.h b/src/Magnum/DebugTools/ResourceManager.h
similarity index 92%
rename from src/DebugTools/ResourceManager.h
rename to src/Magnum/DebugTools/ResourceManager.h
index ae10d147f..b6f3549b5 100644
--- a/src/DebugTools/ResourceManager.h
+++ b/src/Magnum/DebugTools/ResourceManager.h
@@ -28,18 +28,16 @@
* @brief Class Magnum::DebugTools::ResourceManager
*/
-#include "Magnum.h"
-
#ifndef MAGNUM_RESOURCEMANAGER_DEFINE_INTERNALINSTANCE
#define MAGNUM_RESOURCEMANAGER_DONT_DEFINE_INTERNALINSTANCE
#endif
-#include "../ResourceManager.h"
-
-#include "SceneGraph/SceneGraph.h"
-#include "Shapes/Shapes.h"
-#include "DebugTools.h"
+#include "Magnum/ResourceManager.h"
-#include "magnumDebugToolsVisibility.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/DebugTools/DebugTools.h"
+#include "Magnum/DebugTools/visibility.h"
+#include "Magnum/SceneGraph/SceneGraph.h"
+#include "Magnum/Shapes/Shapes.h"
#ifdef CORRADE_MSVC2013_COMPATIBILITY
#include "AbstractShaderProgram.h"
diff --git a/src/DebugTools/ShapeRenderer.cpp b/src/Magnum/DebugTools/ShapeRenderer.cpp
similarity index 97%
rename from src/DebugTools/ShapeRenderer.cpp
rename to src/Magnum/DebugTools/ShapeRenderer.cpp
index 128c5363e..e1b5e07c7 100644
--- a/src/DebugTools/ShapeRenderer.cpp
+++ b/src/Magnum/DebugTools/ShapeRenderer.cpp
@@ -24,10 +24,10 @@
#include "ShapeRenderer.h"
-#include "ResourceManager.h"
-#include "Shapes/Composition.h"
-#include "Shapes/Shape.h"
-#include "SceneGraph/AbstractCamera.h"
+#include "Magnum/DebugTools/ResourceManager.h"
+#include "Magnum/Shapes/Composition.h"
+#include "Magnum/Shapes/Shape.h"
+#include "Magnum/SceneGraph/AbstractCamera.h"
#include "Implementation/AxisAlignedBoxRenderer.h"
#include "Implementation/BoxRenderer.h"
diff --git a/src/DebugTools/ShapeRenderer.h b/src/Magnum/DebugTools/ShapeRenderer.h
similarity index 96%
rename from src/DebugTools/ShapeRenderer.h
rename to src/Magnum/DebugTools/ShapeRenderer.h
index 937f6b521..9e919f63b 100644
--- a/src/DebugTools/ShapeRenderer.h
+++ b/src/Magnum/DebugTools/ShapeRenderer.h
@@ -28,13 +28,12 @@
* @brief Class Magnum::DebugTools::ShapeRenderer, Magnum::DebugTools::ShapeRendererOptions, typedef Magnum::DebugTools::ShapeRenderer2D, Magnum::DebugTools::ShapeRenderer3D
*/
-#include "Color.h"
-#include "Resource.h"
-#include "SceneGraph/Drawable.h"
-#include "Shapes/Shapes.h"
-#include "Shapes/shapeImplementation.h"
-
-#include "magnumDebugToolsVisibility.h"
+#include "Magnum/Color.h"
+#include "Magnum/Resource.h"
+#include "Magnum/SceneGraph/Drawable.h"
+#include "Magnum/Shapes/Shapes.h"
+#include "Magnum/Shapes/shapeImplementation.h"
+#include "Magnum/DebugTools/visibility.h"
namespace Magnum { namespace DebugTools {
diff --git a/src/DebugTools/Test/CMakeLists.txt b/src/Magnum/DebugTools/Test/CMakeLists.txt
similarity index 100%
rename from src/DebugTools/Test/CMakeLists.txt
rename to src/Magnum/DebugTools/Test/CMakeLists.txt
diff --git a/src/DebugTools/Test/CapsuleRendererTest.cpp b/src/Magnum/DebugTools/Test/CapsuleRendererTest.cpp
similarity index 98%
rename from src/DebugTools/Test/CapsuleRendererTest.cpp
rename to src/Magnum/DebugTools/Test/CapsuleRendererTest.cpp
index f674bd02f..6c4c9097e 100644
--- a/src/DebugTools/Test/CapsuleRendererTest.cpp
+++ b/src/Magnum/DebugTools/Test/CapsuleRendererTest.cpp
@@ -22,9 +22,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include
-#include "DebugTools/Implementation/CapsuleRendererTransformation.h"
+#include "../Implementation/CapsuleRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Test {
diff --git a/src/DebugTools/Test/CylinderRendererTest.cpp b/src/Magnum/DebugTools/Test/CylinderRendererTest.cpp
similarity index 98%
rename from src/DebugTools/Test/CylinderRendererTest.cpp
rename to src/Magnum/DebugTools/Test/CylinderRendererTest.cpp
index c452e9f7a..4411bf2f8 100644
--- a/src/DebugTools/Test/CylinderRendererTest.cpp
+++ b/src/Magnum/DebugTools/Test/CylinderRendererTest.cpp
@@ -22,9 +22,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include
-#include "DebugTools/Implementation/CylinderRendererTransformation.h"
+#include "../Implementation/CylinderRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Test {
diff --git a/src/DebugTools/Test/ForceRendererTest.cpp b/src/Magnum/DebugTools/Test/ForceRendererTest.cpp
similarity index 97%
rename from src/DebugTools/Test/ForceRendererTest.cpp
rename to src/Magnum/DebugTools/Test/ForceRendererTest.cpp
index 314e60ffd..cb2e3a71f 100644
--- a/src/DebugTools/Test/ForceRendererTest.cpp
+++ b/src/Magnum/DebugTools/Test/ForceRendererTest.cpp
@@ -22,9 +22,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include
-#include "DebugTools/Implementation/ForceRendererTransformation.h"
+#include "../Implementation/ForceRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Implementation { namespace Test {
diff --git a/src/DebugTools/Test/LineSegmentRendererTest.cpp b/src/Magnum/DebugTools/Test/LineSegmentRendererTest.cpp
similarity index 92%
rename from src/DebugTools/Test/LineSegmentRendererTest.cpp
rename to src/Magnum/DebugTools/Test/LineSegmentRendererTest.cpp
index 5ad628301..05856e8c2 100644
--- a/src/DebugTools/Test/LineSegmentRendererTest.cpp
+++ b/src/Magnum/DebugTools/Test/LineSegmentRendererTest.cpp
@@ -22,12 +22,13 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include
-#include "Math/Matrix3.h"
-#include "Math/Matrix4.h"
-#include "Magnum.h"
-#include "DebugTools/Implementation/LineSegmentRendererTransformation.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/Math/Matrix3.h"
+#include "Magnum/Math/Matrix4.h"
+
+#include "../Implementation/LineSegmentRendererTransformation.h"
namespace Magnum { namespace DebugTools { namespace Test {
diff --git a/src/DebugTools/magnumDebugToolsVisibility.h b/src/Magnum/DebugTools/visibility.h
similarity index 89%
rename from src/DebugTools/magnumDebugToolsVisibility.h
rename to src/Magnum/DebugTools/visibility.h
index 2499c5d24..71077d7ad 100644
--- a/src/DebugTools/magnumDebugToolsVisibility.h
+++ b/src/Magnum/DebugTools/visibility.h
@@ -1,5 +1,5 @@
-#ifndef Magnum_DebugTools_magnumDebugToolsVisibility_h
-#define Magnum_DebugTools_magnumDebugToolsVisibility_h
+#ifndef Magnum_DebugTools_visibility_h
+#define Magnum_DebugTools_visibility_h
/*
This file is part of Magnum.
@@ -24,9 +24,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include
-#include "magnumConfigure.h"
+#include "Magnum/configure.h"
#ifndef MAGNUM_BUILD_STATIC
#ifdef MagnumDebugTools_EXPORTS
diff --git a/src/DefaultFramebuffer.cpp b/src/Magnum/DefaultFramebuffer.cpp
similarity index 95%
rename from src/DefaultFramebuffer.cpp
rename to src/Magnum/DefaultFramebuffer.cpp
index 38c97d059..7d7d2d2d3 100644
--- a/src/DefaultFramebuffer.cpp
+++ b/src/Magnum/DefaultFramebuffer.cpp
@@ -24,12 +24,12 @@
#include "DefaultFramebuffer.h"
-#include
+#include
-#include "Context.h"
-#include "Extensions.h"
-#include "Implementation/State.h"
-#include "Implementation/FramebufferState.h"
+#include "Magnum/Context.h"
+#include "Magnum/Extensions.h"
+#include "Magnum/Implementation/State.h"
+#include "Magnum/Implementation/FramebufferState.h"
namespace Magnum {
diff --git a/src/DefaultFramebuffer.h b/src/Magnum/DefaultFramebuffer.h
similarity index 93%
rename from src/DefaultFramebuffer.h
rename to src/Magnum/DefaultFramebuffer.h
index eb8706cbd..5f27e9136 100644
--- a/src/DefaultFramebuffer.h
+++ b/src/Magnum/DefaultFramebuffer.h
@@ -25,10 +25,10 @@
*/
/** @file
- * @brief Class Magnum::DefaultFramebuffer
+ * @brief Class @ref Magnum::DefaultFramebuffer
*/
-#include "AbstractFramebuffer.h"
+#include "Magnum/AbstractFramebuffer.h"
namespace Magnum {
@@ -36,8 +36,9 @@ namespace Magnum {
@brief Default framebuffer
Default framebuffer, i.e. the actual screen surface. It is automatically
-created when Context is created and it is available through global variable
-@ref defaultFramebuffer. It is by default mapped to whole screen surface.
+created when @ref Context is created and it is available through global
+variable @ref defaultFramebuffer. It is by default mapped to whole screen
+surface.
@section DefaultFramebuffer-usage Usage
@@ -72,7 +73,7 @@ multiple framebuffers.
See also @ref AbstractFramebuffer-performance-optimization "relevant section in AbstractFramebuffer".
If extension @extension{EXT,direct_state_access} is available, functions
-mapForDraw() and mapForRead() use DSA to avoid unnecessary calls to
+@ref mapForDraw() and @ref mapForRead() use DSA to avoid unnecessary calls to
@fn_gl{BindFramebuffer}. See their respective documentation for more
information.
*/
@@ -83,7 +84,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Status
*
- * @see checkStatus()
+ * @see @ref checkStatus()
* @requires_gl30 %Extension @extension{ARB,framebuffer_object}
*/
enum class Status: GLenum {
@@ -105,7 +106,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Draw attachment
*
- * @see mapForDraw()
+ * @see @ref mapForDraw()
* @requires_gles30 Draw attachments for default framebuffer are
* available only in OpenGL ES 3.0.
*/
@@ -166,7 +167,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Read attachment
*
- * @see mapForRead()
+ * @see @ref mapForRead()
* @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
*/
enum class ReadAttachment: GLenum {
@@ -236,7 +237,7 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
/**
* @brief Invalidation attachment
*
- * @see invalidate()
+ * @see @ref invalidate()
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
*/
@@ -354,8 +355,8 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* If @extension{EXT,direct_state_access} is not available and the
* framebuffer is not currently bound, it is bound before the
* operation.
- * @see mapForRead(), @fn_gl{BindFramebuffer}, @fn_gl{DrawBuffer} or
- * @fn_gl_extension{FramebufferDrawBuffer,EXT,direct_state_access},
+ * @see @ref mapForRead(), @fn_gl{BindFramebuffer}, @fn_gl{DrawBuffer}
+ * or @fn_gl_extension{FramebufferDrawBuffer,EXT,direct_state_access},
* @fn_gl{DrawBuffers} in OpenGL ES 3.0
* @requires_gles30 Draw attachments for default framebuffer are
* available only in OpenGL ES 3.0.
@@ -392,9 +393,11 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @see @fn_gl{InvalidateFramebuffer} or @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
- * clear() instead where the extension is not supported.
+ * @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
+ * where the extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
- * Use clear() instead where the extension is not supported.
+ * Use @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
+ * where the extension is not supported.
*/
void invalidate(std::initializer_list attachments);
@@ -408,9 +411,11 @@ class MAGNUM_EXPORT DefaultFramebuffer: public AbstractFramebuffer {
* @see @fn_gl{InvalidateSubFramebuffer} or @fn_gles_extension{DiscardSubFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
- * clear() instead where the extension is not supported.
+ * @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
+ * where the extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
- * Use clear() instead where the extension is not supported.
+ * Use @ref Magnum::DefaultFramebuffer::clear() "clear()" instead
+ * where the extension is not supported.
*/
void invalidate(std::initializer_list attachments, const Range2Di& rectangle);
diff --git a/src/DimensionTraits.h b/src/Magnum/DimensionTraits.h
similarity index 98%
rename from src/DimensionTraits.h
rename to src/Magnum/DimensionTraits.h
index 69eb13a05..290adf35d 100644
--- a/src/DimensionTraits.h
+++ b/src/Magnum/DimensionTraits.h
@@ -24,8 +24,8 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Math/Math.h"
-#include "Types.h"
+#include "Magnum/Math/Math.h"
+#include "Magnum/Types.h"
/** @file
* @brief Class Magnum::DimensionTraits
diff --git a/src/Extensions.h b/src/Magnum/Extensions.h
similarity index 96%
rename from src/Extensions.h
rename to src/Magnum/Extensions.h
index a9df50b48..5db79256f 100644
--- a/src/Extensions.h
+++ b/src/Magnum/Extensions.h
@@ -28,7 +28,7 @@
* @brief Namespace Magnum::Extensions
*/
-#include "Version.h"
+#include "Magnum/Version.h"
namespace Magnum {
@@ -200,56 +200,83 @@ namespace GL {
#else
#line 1
namespace ANGLE {
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,ANGLE,framebuffer_blit, GLES200, GLES300) // #83
_extension(GL,ANGLE,framebuffer_multisample, GLES200, GLES300) // #84
_extension(GL,ANGLE,depth_texture, GLES200, GLES300) // #138
+ #endif
} namespace APPLE {
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,APPLE,framebuffer_multisample, GLES200, GLES300) // #78
+ #endif
_extension(GL,APPLE,texture_format_BGRA8888, GLES200, None) // #79
} namespace ARM {
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,ARM,rgba8, GLES200, GLES300) // #82
+ #endif
} namespace CHROMIUM {
_extension(GL,CHROMIUM,map_sub, GLES200, None)
} namespace EXT {
_extension(GL,EXT,texture_filter_anisotropic, GLES200, None) // #41
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,EXT,texture_type_2_10_10_10_REV, GLES200, GLES300) // #42
+ #endif
_extension(GL,EXT,texture_format_BGRA8888, GLES200, None) // #51
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,EXT,discard_framebuffer, GLES200, GLES300) // #64
_extension(GL,EXT,blend_minmax, GLES200, GLES300) // #65
+ #endif
_extension(GL,EXT,read_format_bgra, GLES200, None) // #66
_extension(GL,EXT,debug_label, GLES200, None) // #98
_extension(GL,EXT,debug_marker, GLES200, None) // #99
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,EXT,occlusion_query_boolean, GLES200, GLES300) // #100
+ #endif
_extension(GL,EXT,separate_shader_objects, GLES200, None) // #101
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,EXT,texture_rg, GLES200, GLES300) // #103
+ #endif
_extension(GL,EXT,sRGB, GLES200, None) // #105
_extension(GL,EXT,multisampled_render_to_texture, GLES200, None) // #106
_extension(GL,EXT,robustness, GLES200, None) // #107
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,EXT,texture_storage, GLES200, GLES300) // #108
_extension(GL,EXT,map_buffer_range, GLES200, GLES300) // #121
+ #endif
_extension(GL,EXT,disjoint_timer_query, GLES200, None) // #150
} namespace KHR {
_extension(GL,KHR,debug, GLES200, None) // #118
} namespace NV {
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,NV,draw_buffers, GLES200, GLES300) // #91
_extension(GL,NV,fbo_color_attachments, GLES200, GLES300) // #92
_extension(GL,NV,read_buffer, GLES200, GLES300) // #93
+ #endif
_extension(GL,NV,read_buffer_front, GLES200, None) // #93
_extension(GL,NV,read_depth, GLES200, None) // #94
_extension(GL,NV,read_stencil, GLES200, None) // #94
_extension(GL,NV,read_depth_stencil, GLES200, None) // #94
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,NV,framebuffer_blit, GLES200, GLES300) // #142
_extension(GL,NV,framebuffer_multisample, GLES200, GLES300) // #143
+ #endif
_extension(GL,NV,texture_border_clamp, GLES200, None) // #149
} namespace OES {
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,OES,depth24, GLES200, GLES300) // #24
+ #endif
_extension(GL,OES,depth32, GLES200, None) // #25
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,OES,element_index_uint, GLES200, GLES300) // #26
+ #endif
_extension(GL,OES,mapbuffer, GLES200, None) // #29
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,OES,rgb8_rgba8, GLES200, GLES300) // #30
+ #endif
_extension(GL,OES,stencil1, GLES200, None) // #31
_extension(GL,OES,stencil4, GLES200, None) // #32
_extension(GL,OES,texture_3D, GLES200, None) // #34
+ #ifdef MAGNUM_TARGET_GLES2
_extension(GL,OES,texture_half_float_linear, GLES200, GLES300) // #35
_extension(GL,OES,texture_float_linear, GLES200, GLES300) // #35
_extension(GL,OES,texture_half_float, GLES200, GLES300) // #36
@@ -261,6 +288,7 @@ namespace GL {
_extension(GL,OES,vertex_array_object, GLES200, GLES300) // #71
_extension(GL,OES,required_internalformat, GLES200, GLES300) // #115
_extension(GL,OES,surfaceless_context, GLES200, GLES300) // #116
+ #endif
}
#endif
}
diff --git a/src/Framebuffer.cpp b/src/Magnum/Framebuffer.cpp
similarity index 97%
rename from src/Framebuffer.cpp
rename to src/Magnum/Framebuffer.cpp
index 39d50211b..7e69eca4b 100644
--- a/src/Framebuffer.cpp
+++ b/src/Magnum/Framebuffer.cpp
@@ -24,12 +24,16 @@
#include "Framebuffer.h"
-#include "BufferImage.h"
-#include "Context.h"
-#include "Extensions.h"
-#include "Image.h"
-#include "Renderbuffer.h"
-#include "Texture.h"
+#include
+
+#ifndef MAGNUM_TARGET_GLES2
+#include "Magnum/BufferImage.h"
+#endif
+#include "Magnum/Context.h"
+#include "Magnum/Extensions.h"
+#include "Magnum/Image.h"
+#include "Magnum/Renderbuffer.h"
+#include "Magnum/Texture.h"
#include "Implementation/DebugState.h"
#include "Implementation/State.h"
diff --git a/src/Framebuffer.h b/src/Magnum/Framebuffer.h
similarity index 87%
rename from src/Framebuffer.h
rename to src/Magnum/Framebuffer.h
index fdf5f3e86..435c04e2c 100644
--- a/src/Framebuffer.h
+++ b/src/Magnum/Framebuffer.h
@@ -25,11 +25,11 @@
*/
/** @file
- * @brief Class Magnum::Framebuffer
+ * @brief Class @ref Magnum::Framebuffer
*/
-#include "AbstractFramebuffer.h"
-#include "CubeMapTexture.h"
+#include "Magnum/AbstractFramebuffer.h"
+#include "Magnum/CubeMapTexture.h"
#ifdef _X11_XLIB_H_ /* Xlib.h, I hate you sincerely */
#undef Status
@@ -40,9 +40,9 @@ namespace Magnum {
/**
@brief %Framebuffer
-Unlike DefaultFramebuffer, which is used for on-screen rendering, this class
-is used for off-screen rendering, usable either in windowless applications,
-texture generation or for various post-processing effects.
+Unlike @ref DefaultFramebuffer, which is used for on-screen rendering, this
+class is used for off-screen rendering, usable either in windowless
+applications, texture generation or for various post-processing effects.
@section Framebuffer-usage Example usage
@@ -71,10 +71,9 @@ framebuffer.mapForDraw({{MyShader::ColorOutput, Framebuffer::ColorAttachment(0)}
{MyShader::NormalOutput, Framebuffer::ColorAttachment(1)}});
@endcode
-The actual @ref Platform::GlutApplication::drawEvent() "drawEvent()" might
-look like this. First you clear all buffers you need, perform drawing to
-off-screen framebuffer, then bind the default and render the textures on
-screen:
+The actual @ref Platform::Sdl2Application::drawEvent() "drawEvent()" might look
+like this. First you clear all buffers you need, perform drawing to off-screen
+framebuffer, then bind the default and render the textures on screen:
@code
void drawEvent() {
defaultFramebuffer.clear(FramebufferClear::Color)
@@ -93,10 +92,10 @@ void drawEvent() {
See also @ref AbstractFramebuffer-performance-optimization "relevant section in AbstractFramebuffer".
If extension @extension{EXT,direct_state_access} is available, functions
-mapForDraw(), mapForRead(), attachRenderbuffer(), attachTexture1D(),
-attachTexture2D(), attachCubeMapTexture() and attachTexture3D() use DSA
-to avoid unnecessary calls to @fn_gl{BindFramebuffer}. See their respective
-documentation for more information.
+@ref mapForDraw(), @ref mapForRead(), @ref attachRenderbuffer(),
+@ref attachTexture1D(), @ref attachTexture2D(), @ref attachCubeMapTexture() and
+@ref attachTexture3D() use DSA to avoid unnecessary calls to @fn_gl{BindFramebuffer}.
+See their respective documentation for more information.
@requires_gl30 %Extension @extension{ARB,framebuffer_object}
@todo `MAX_COLOR_ATTACHMENTS`
@@ -108,8 +107,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Color attachment
*
- * @see Attachment, attachRenderbuffer(), attachTexture1D(),
- * attachTexture2D(), attachCubeMapTexture(), attachTexture3D()
+ * @see @ref BufferAttachment, @ref attachRenderbuffer(),
+ * @ref attachTexture1D(), @ref attachTexture2D(),
+ * @ref attachCubeMapTexture(), @ref attachTexture3D()
*/
class ColorAttachment {
friend class Framebuffer;
@@ -117,7 +117,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
public:
/**
* @brief Constructor
- * @param id Color attachment id
+ * @param id Color attachment ID
*
* @requires_gles30 %Extension @es_extension{NV,fbo_color_attachments}
* is required for @p id greater than 0.
@@ -139,7 +139,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Draw attachment
*
- * @see mapForDraw()
+ * @see @ref mapForDraw()
*/
class DrawAttachment {
public:
@@ -166,8 +166,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief %Buffer attachment
*
- * @see attachRenderbuffer(), attachTexture1D(), attachTexture2D(),
- * attachCubeMapTexture(), attachTexture3D()
+ * @see @ref attachRenderbuffer(), @ref attachTexture1D(),
+ * @ref attachTexture2D(), @ref attachCubeMapTexture(),
+ * @ref attachTexture3D()
*/
class MAGNUM_EXPORT BufferAttachment {
public:
@@ -182,7 +183,11 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @brief Both depth and stencil buffer
*
* @requires_gles30 Combined depth and stencil attachment is
- * not available in OpenGL ES 2.0.
+ * not available in OpenGL ES 2.0. Attach the same object
+ * to both @ref Magnum::Framebuffer::BufferAttachment::Depth
+ * "BufferAttachment::Depth" and @ref Magnum::Framebuffer::BufferAttachment::Stencil
+ * "BufferAttachment::Stencil" instead.
+ * @todo Support this in ES2 (bind to both depth and stencil internally)
*/
static const BufferAttachment DepthStencil;
#endif
@@ -207,7 +212,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Invalidation attachment
*
- * @see invalidate()
+ * @see @ref invalidate()
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}
*/
@@ -239,7 +244,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
/**
* @brief Status
*
- * @see checkStatus()
+ * @see @ref checkStatus()
*/
enum class Status: GLenum {
/** The framebuffer is complete */
@@ -287,10 +292,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#endif
#ifndef MAGNUM_TARGET_GLES
- /** @todo Why exactly this is not needed? */
/**
* Mismatched layered color attachments
- * @requires_gl Not available in OpenGL ES.
+ * @requires_gl Geometry shaders are not available in OpenGL ES.
*/
IncompleteLayerTargets = GL_FRAMEBUFFER_INCOMPLETE_LAYER_TARGETS
#endif
@@ -312,7 +316,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @brief Constructor
*
* Generates new OpenGL framebuffer.
- * @see setViewport(), @fn_gl{GenFramebuffers}
+ * @see @ref setViewport(), @fn_gl{GenFramebuffers}
*/
explicit Framebuffer(const Range2Di& viewport);
@@ -385,7 +389,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
*
* @p attachments is list of shader outputs mapped to framebuffer
* color attachment IDs. %Shader outputs which are not listed are not
- * used, you can achieve the same by passing Framebuffer::DrawAttachment::None
+ * used, you can achieve the same by passing @ref Framebuffer::DrawAttachment::None
* as color attachment ID. Example usage:
* @code
* framebuffer.mapForDraw({{MyShader::ColorOutput, Framebuffer::ColorAttachment(0)},
@@ -425,6 +429,23 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
return *this;
}
+ /**
+ * @brief Map given color attachment for reading
+ * @param attachment Color attachment
+ * @return Reference to self (for method chaining)
+ *
+ * If @extension{EXT,direct_state_access} is not available and the
+ * framebufferbuffer is not currently bound, it is bound before the
+ * operation.
+ * @see @ref mapForDraw(), @fn_gl{BindFramebuffer}, @fn_gl{ReadBuffer}
+ * or @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access}
+ * @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
+ */
+ Framebuffer& mapForRead(ColorAttachment attachment) {
+ (this->*readBufferImplementation)(GLenum(attachment));
+ return *this;
+ }
+
/**
* @brief Invalidate framebuffer
* @param attachments Attachments to invalidate
@@ -434,9 +455,11 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @fn_gl{InvalidateFramebuffer} or @fn_gles_extension{DiscardFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
- * clear() instead where the extension is not supported.
+ * @ref Magnum::Framebuffer::clear() "clear()" instead where the
+ * extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
- * Use clear() instead where the extension is not supported.
+ * Use @ref Magnum::Framebuffer::clear() "clear()" instead where
+ * the extension is not supported.
*/
void invalidate(std::initializer_list attachments);
@@ -450,29 +473,14 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* @see @fn_gl{InvalidateSubFramebuffer} or @fn_gles_extension{DiscardSubFramebuffer,EXT,discard_framebuffer}
* on OpenGL ES 2.0
* @requires_gl43 %Extension @extension{ARB,invalidate_subdata}. Use
- * clear() instead where the extension is not supported.
+ * @ref Magnum::Framebuffer::clear() "clear()" instead where the
+ * extension is not supported.
* @requires_gles30 %Extension @es_extension{EXT,discard_framebuffer}.
- * Use clear() instead where the extension is not supported.
+ * Use @ref Magnum::Framebuffer::clear() "clear()" instead where
+ * the extension is not supported.
*/
void invalidate(std::initializer_list attachments, const Range2Di& rectangle);
- /**
- * @brief Map given color attachment for reading
- * @param attachment Color attachment
- * @return Reference to self (for method chaining)
- *
- * If @extension{EXT,direct_state_access} is not available and the
- * framebufferbuffer is not currently bound, it is bound before the
- * operation.
- * @see mapForDraw(), @fn_gl{BindFramebuffer}, @fn_gl{ReadBuffer} or
- * @fn_gl_extension{FramebufferReadBuffer,EXT,direct_state_access}
- * @requires_gles30 %Extension @es_extension2{NV,read_buffer,GL_NV_read_buffer}
- */
- Framebuffer& mapForRead(ColorAttachment attachment) {
- (this->*readBufferImplementation)(GLenum(attachment));
- return *this;
- }
-
/**
* @brief Attach renderbuffer to given buffer
* @param attachment %Buffer attachment
@@ -501,8 +509,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* If @extension{EXT,direct_state_access} is not available and the
* framebufferbuffer is not currently bound, it is bound before the
* operation.
- * @see @fn_gl{BindFramebuffer}, @fn_gl{FramebufferTexture} or
- * @fn_gl_extension{NamedFramebufferTexture1D,EXT,direct_state_access}
+ * @see @fn_gl{BindFramebuffer}, @fn_gl2{FramebufferTexture1D,FramebufferTexture}
+ * or @fn_gl_extension{NamedFramebufferTexture1D,EXT,direct_state_access}
* @requires_gl Only 2D and 3D textures are available in OpenGL ES.
*/
Framebuffer& attachTexture1D(BufferAttachment attachment, Texture1D& texture, Int level) {
@@ -521,8 +529,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* If @extension{EXT,direct_state_access} is not available and the
* framebufferbuffer is not currently bound, it is bound before the
* operation.
- * @see attachCubeMapTexture(), @fn_gl{BindFramebuffer}, @fn_gl{FramebufferTexture}
- * or @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access}
+ * @see @ref attachCubeMapTexture(), @fn_gl{BindFramebuffer},
+ * @fn_gl2{FramebufferTexture2D,FramebufferTexture} or
+ * @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access}
*/
Framebuffer& attachTexture2D(BufferAttachment attachment, Texture2D& texture, Int level);
@@ -537,8 +546,9 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* If @extension{EXT,direct_state_access} is not available and the
* framebufferbuffer is not currently bound, it is bound before the
* operation.
- * @see attachTexture2D(), @fn_gl{BindFramebuffer}, @fn_gl{FramebufferTexture}
- * or @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access}
+ * @see @ref attachTexture2D(), @fn_gl{BindFramebuffer},
+ * @fn_gl2{FramebufferTexture2D,FramebufferTexture} or
+ * @fn_gl_extension{NamedFramebufferTexture2D,EXT,direct_state_access}
*/
Framebuffer& attachCubeMapTexture(BufferAttachment attachment, CubeMapTexture& texture, CubeMapTexture::Coordinate coordinate, Int level) {
(this->*texture2DImplementation)(attachment, GLenum(coordinate), texture.id(), level);
@@ -556,8 +566,8 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
* If @extension{EXT,direct_state_access} is not available and the
* framebufferbuffer is not currently bound, it is bound before the
* operation.
- * @see @fn_gl{BindFramebuffer}, @fn_gl{FramebufferTexture} or
- * @fn_gl_extension{NamedFramebufferTexture3D,EXT,direct_state_access}
+ * @see @fn_gl{BindFramebuffer}, @fn_gl2{FramebufferTexture3D,FramebufferTexture}
+ * or @fn_gl_extension{NamedFramebufferTexture3D,EXT,direct_state_access}
* @requires_es_extension %Extension @es_extension{OES,texture_3D}
*/
Framebuffer& attachTexture3D(BufferAttachment attachment, Texture3D& texture, Int level, Int layer) {
@@ -596,7 +606,7 @@ class MAGNUM_EXPORT Framebuffer: public AbstractFramebuffer, public AbstractObje
#ifndef MAGNUM_TARGET_GLES
void MAGNUM_LOCAL texture2DImplementationDSA(BufferAttachment attachment, GLenum textureTarget, GLuint textureId, GLint level);
#endif
- static MAGNUM_LOCAL Texture2DImplementation texture2DImplementation;
+ static Texture2DImplementation texture2DImplementation;
typedef void(Framebuffer::*Texture3DImplementation)(BufferAttachment, Texture3D&, GLint, GLint);
void MAGNUM_LOCAL texture3DImplementationDefault(BufferAttachment attachment, Texture3D& texture, GLint level, GLint layer);
diff --git a/src/Image.cpp b/src/Magnum/Image.cpp
similarity index 100%
rename from src/Image.cpp
rename to src/Magnum/Image.cpp
diff --git a/src/Image.h b/src/Magnum/Image.h
similarity index 89%
rename from src/Image.h
rename to src/Magnum/Image.h
index 9c9881e86..530349b08 100644
--- a/src/Image.h
+++ b/src/Magnum/Image.h
@@ -28,7 +28,7 @@
* @brief Class @ref Magnum::Image, typedef @ref Magnum::Image1D, @ref Magnum::Image2D, @ref Magnum::Image3D
*/
-#include "ImageReference.h"
+#include "Magnum/ImageReference.h"
namespace Magnum {
@@ -96,13 +96,30 @@ template class Image: public AbstractImage {
/** @brief %Image size */
typename DimensionTraits::VectorType size() const { return _size; }
+ /**
+ * @brief Size of data required to store image of given size
+ *
+ * Takes color format, type and row alignment of this image into
+ * account.
+ * @see @ref pixelSize()
+ */
+ std::size_t dataSize(const typename DimensionTraits::VectorType& size) const {
+ return AbstractImage::dataSize(size);
+ }
+
/**
* @brief Pointer to raw data
*
* @see @ref release()
*/
- unsigned char* data() { return _data; }
- const unsigned char* data() const { return _data; } /**< @overload */
+ template T* data() {
+ return reinterpret_cast(_data);
+ }
+
+ /** @overload */
+ template const T* data() const {
+ return reinterpret_cast(_data);
+ }
/**
* @brief Set image data
diff --git a/src/ImageFormat.h b/src/Magnum/ImageFormat.h
similarity index 93%
rename from src/ImageFormat.h
rename to src/Magnum/ImageFormat.h
index 68b65db46..df7597aa3 100644
--- a/src/ImageFormat.h
+++ b/src/Magnum/ImageFormat.h
@@ -24,12 +24,14 @@
DEALINGS IN THE SOFTWARE.
*/
+#ifdef MAGNUM_BUILD_DEPRECATED
/** @file
* @brief Enum @ref Magnum::ImageFormat, @ref Magnum::ImageType
* @deprecated Use @ref ColorFormat.h instead.
*/
+#endif
-#include "ColorFormat.h"
+#include "Magnum/ColorFormat.h"
#ifdef MAGNUM_BUILD_DEPRECATED
namespace Magnum {
@@ -48,7 +50,7 @@ typedef CORRADE_DEPRECATED("use ColorType instead") ColorType ImageType;
}
#else
-#error
+#error this header is available only on deprecated build
#endif
#endif
diff --git a/src/ImageReference.h b/src/Magnum/ImageReference.h
similarity index 90%
rename from src/ImageReference.h
rename to src/Magnum/ImageReference.h
index d2f754e16..c785c3a35 100644
--- a/src/ImageReference.h
+++ b/src/Magnum/ImageReference.h
@@ -28,9 +28,9 @@
* @brief Class @ref Magnum::ImageReference, typedef @ref Magnum::ImageReference1D, @ref Magnum::ImageReference2D, @ref Magnum::ImageReference3D
*/
-#include "Math/Vector3.h"
-#include "AbstractImage.h"
-#include "DimensionTraits.h"
+#include "Magnum/Math/Vector3.h"
+#include "Magnum/AbstractImage.h"
+#include "Magnum/DimensionTraits.h"
namespace Magnum {
@@ -76,9 +76,19 @@ template class ImageReference: public AbstractImage {
/** @brief %Image size */
constexpr typename DimensionTraits::VectorType size() const { return _size; }
+ /** @copydoc Image::dataSize() */
+ std::size_t dataSize(const typename DimensionTraits::VectorType& size) const {
+ return AbstractImage::dataSize(size);
+ }
+
/** @brief Pointer to raw data */
constexpr const unsigned char* data() const { return _data; }
+ /** @overload */
+ template const T* data() const {
+ return reinterpret_cast(_data);
+ }
+
/**
* @brief Set image data
* @param data %Image data
diff --git a/src/Implementation/BufferState.cpp b/src/Magnum/Implementation/BufferState.cpp
similarity index 98%
rename from src/Implementation/BufferState.cpp
rename to src/Magnum/Implementation/BufferState.cpp
index e844f8991..d34618806 100644
--- a/src/Implementation/BufferState.cpp
+++ b/src/Magnum/Implementation/BufferState.cpp
@@ -24,7 +24,7 @@
#include "BufferState.h"
-#include
+#include
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/BufferState.h b/src/Magnum/Implementation/BufferState.h
similarity index 98%
rename from src/Implementation/BufferState.h
rename to src/Magnum/Implementation/BufferState.h
index 6ca93515e..ab6873c2f 100644
--- a/src/Implementation/BufferState.h
+++ b/src/Magnum/Implementation/BufferState.h
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Buffer.h"
+#include "Magnum/Buffer.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/DebugState.cpp b/src/Magnum/Implementation/DebugState.cpp
similarity index 96%
rename from src/Implementation/DebugState.cpp
rename to src/Magnum/Implementation/DebugState.cpp
index e00b1bb62..401b256be 100644
--- a/src/Implementation/DebugState.cpp
+++ b/src/Magnum/Implementation/DebugState.cpp
@@ -24,9 +24,9 @@
#include "DebugState.h"
-#include "AbstractObject.h"
-#include "Context.h"
-#include "Extensions.h"
+#include "Magnum/AbstractObject.h"
+#include "Magnum/Context.h"
+#include "Magnum/Extensions.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/DebugState.h b/src/Magnum/Implementation/DebugState.h
similarity index 98%
rename from src/Implementation/DebugState.h
rename to src/Magnum/Implementation/DebugState.h
index 0b3ec18f1..bac702475 100644
--- a/src/Implementation/DebugState.h
+++ b/src/Magnum/Implementation/DebugState.h
@@ -26,7 +26,7 @@
#include
-#include "DebugMessage.h"
+#include "Magnum/DebugMessage.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/FramebufferState.h b/src/Magnum/Implementation/FramebufferState.h
similarity index 95%
rename from src/Implementation/FramebufferState.h
rename to src/Magnum/Implementation/FramebufferState.h
index 87f72120d..13470de16 100644
--- a/src/Implementation/FramebufferState.h
+++ b/src/Magnum/Implementation/FramebufferState.h
@@ -24,9 +24,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Math/Range.h"
-#include "Magnum.h"
-#include "OpenGL.h"
+#include "Magnum/Magnum.h"
+#include "Magnum/OpenGL.h"
+#include "Magnum/Math/Range.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/MeshState.h b/src/Magnum/Implementation/MeshState.h
similarity index 98%
rename from src/Implementation/MeshState.h
rename to src/Magnum/Implementation/MeshState.h
index e9b9f2dfb..a9b10f84f 100644
--- a/src/Implementation/MeshState.h
+++ b/src/Magnum/Implementation/MeshState.h
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Magnum.h"
+#include "Magnum/Magnum.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/RendererState.h b/src/Magnum/Implementation/RendererState.h
similarity index 98%
rename from src/Implementation/RendererState.h
rename to src/Magnum/Implementation/RendererState.h
index e356c2e82..fea0bbb87 100644
--- a/src/Implementation/RendererState.h
+++ b/src/Magnum/Implementation/RendererState.h
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Renderer.h"
+#include "Magnum/Renderer.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/ShaderProgramState.h b/src/Magnum/Implementation/ShaderProgramState.h
similarity index 98%
rename from src/Implementation/ShaderProgramState.h
rename to src/Magnum/Implementation/ShaderProgramState.h
index dd3afc347..bc1bab74b 100644
--- a/src/Implementation/ShaderProgramState.h
+++ b/src/Magnum/Implementation/ShaderProgramState.h
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "OpenGL.h"
+#include "Magnum/OpenGL.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/ShaderState.h b/src/Magnum/Implementation/ShaderState.h
similarity index 97%
rename from src/Implementation/ShaderState.h
rename to src/Magnum/Implementation/ShaderState.h
index 678c114c9..345505870 100644
--- a/src/Implementation/ShaderState.h
+++ b/src/Magnum/Implementation/ShaderState.h
@@ -24,9 +24,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "OpenGL.h"
-#include "Types.h"
-#include "magnumConfigure.h"
+#include "Magnum/OpenGL.h"
+#include "Magnum/Types.h"
+#include "Magnum/configure.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/State.cpp b/src/Magnum/Implementation/State.cpp
similarity index 86%
rename from src/Implementation/State.cpp
rename to src/Magnum/Implementation/State.cpp
index ff35e3c64..27cc5d709 100644
--- a/src/Implementation/State.cpp
+++ b/src/Magnum/Implementation/State.cpp
@@ -24,16 +24,17 @@
#include "State.h"
-#include "Context.h"
-#include "Extensions.h"
-#include "Implementation/BufferState.h"
-#include "Implementation/DebugState.h"
-#include "Implementation/FramebufferState.h"
-#include "Implementation/MeshState.h"
-#include "Implementation/RendererState.h"
-#include "Implementation/ShaderState.h"
-#include "Implementation/ShaderProgramState.h"
-#include "Implementation/TextureState.h"
+#include "Magnum/Context.h"
+#include "Magnum/Extensions.h"
+
+#include "BufferState.h"
+#include "DebugState.h"
+#include "FramebufferState.h"
+#include "MeshState.h"
+#include "RendererState.h"
+#include "ShaderState.h"
+#include "ShaderProgramState.h"
+#include "TextureState.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/State.h b/src/Magnum/Implementation/State.h
similarity index 98%
rename from src/Implementation/State.h
rename to src/Magnum/Implementation/State.h
index 36570baa3..252f3e07f 100644
--- a/src/Implementation/State.h
+++ b/src/Magnum/Implementation/State.h
@@ -24,7 +24,7 @@
DEALINGS IN THE SOFTWARE.
*/
-#include "Magnum.h"
+#include "Magnum/Magnum.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Implementation/TextureState.cpp b/src/Magnum/Implementation/TextureState.cpp
similarity index 100%
rename from src/Implementation/TextureState.cpp
rename to src/Magnum/Implementation/TextureState.cpp
diff --git a/src/Implementation/TextureState.h b/src/Magnum/Implementation/TextureState.h
similarity index 98%
rename from src/Implementation/TextureState.h
rename to src/Magnum/Implementation/TextureState.h
index ab5d237fa..881a5eafe 100644
--- a/src/Implementation/TextureState.h
+++ b/src/Magnum/Implementation/TextureState.h
@@ -26,7 +26,7 @@
#include
-#include "OpenGL.h"
+#include "Magnum/OpenGL.h"
namespace Magnum { namespace Implementation {
diff --git a/src/Magnum.h b/src/Magnum/Magnum.h
similarity index 98%
rename from src/Magnum.h
rename to src/Magnum/Magnum.h
index 1206eb0f9..b2103bcd9 100644
--- a/src/Magnum.h
+++ b/src/Magnum/Magnum.h
@@ -28,14 +28,13 @@
* @brief Forward declarations for Magnum namespace
*/
-#include
+#include
-#include "Math/Math.h"
-#include "Types.h"
-#include "magnumConfigure.h"
+#include "Magnum/Types.h"
+#include "Magnum/Math/Math.h"
#ifdef MAGNUM_BUILD_DEPRECATED
-#include
+#include
#endif
#ifndef DOXYGEN_GENERATING_OUTPUT
@@ -553,7 +552,9 @@ enum class BufferTextureFormat: GLenum;
template class BasicColor3;
template class BasicColor4;
typedef BasicColor3 Color3;
+typedef BasicColor3 Color3ub;
typedef BasicColor4 Color4;
+typedef BasicColor4 Color4ub;
#ifndef CORRADE_GCC45_COMPATIBILITY
enum class ColorFormat: GLenum;
diff --git a/src/Math/Algorithms/CMakeLists.txt b/src/Magnum/Math/Algorithms/CMakeLists.txt
similarity index 100%
rename from src/Math/Algorithms/CMakeLists.txt
rename to src/Magnum/Math/Algorithms/CMakeLists.txt
diff --git a/src/Math/Algorithms/GaussJordan.h b/src/Magnum/Math/Algorithms/GaussJordan.h
similarity index 98%
rename from src/Math/Algorithms/GaussJordan.h
rename to src/Magnum/Math/Algorithms/GaussJordan.h
index 37bacfe51..c7ca79e94 100644
--- a/src/Math/Algorithms/GaussJordan.h
+++ b/src/Magnum/Math/Algorithms/GaussJordan.h
@@ -28,7 +28,7 @@
* @brief Function Magnum::Math::Algorithms::gaussJordanInPlaceTransposed(), Magnum::Math::Algorithms::gaussJordanInPlace()
*/
-#include "Math/RectangularMatrix.h"
+#include "Magnum/Math/RectangularMatrix.h"
namespace Magnum { namespace Math { namespace Algorithms {
diff --git a/src/Math/Algorithms/GramSchmidt.h b/src/Magnum/Math/Algorithms/GramSchmidt.h
similarity index 98%
rename from src/Math/Algorithms/GramSchmidt.h
rename to src/Magnum/Math/Algorithms/GramSchmidt.h
index 5346fe9ee..8fbe5322d 100644
--- a/src/Math/Algorithms/GramSchmidt.h
+++ b/src/Magnum/Math/Algorithms/GramSchmidt.h
@@ -28,7 +28,7 @@
* @brief Function Magnum::Math::Algorithms::gramSchmidtOrthogonalizeInPlace(), Magnum::Math::Algorithms::gramSchmidtOrthogonalize(), Magnum::Math::Algorithms::gramSchmidtOrthonormalizeInPlace(), Magnum::Math::Algorithms::gramSchmidtOrthonormalize()
*/
-#include "Math/RectangularMatrix.h"
+#include "Magnum/Math/RectangularMatrix.h"
namespace Magnum { namespace Math { namespace Algorithms {
diff --git a/src/Math/Algorithms/Svd.h b/src/Magnum/Math/Algorithms/Svd.h
similarity index 99%
rename from src/Math/Algorithms/Svd.h
rename to src/Magnum/Math/Algorithms/Svd.h
index 15839bcc8..b31fea63a 100644
--- a/src/Math/Algorithms/Svd.h
+++ b/src/Magnum/Math/Algorithms/Svd.h
@@ -30,8 +30,8 @@
#include
-#include "Math/Functions.h"
-#include "Math/Matrix.h"
+#include "Magnum/Math/Functions.h"
+#include "Magnum/Math/Matrix.h"
namespace Magnum { namespace Math { namespace Algorithms {
diff --git a/src/Math/Algorithms/Test/CMakeLists.txt b/src/Magnum/Math/Algorithms/Test/CMakeLists.txt
similarity index 100%
rename from src/Math/Algorithms/Test/CMakeLists.txt
rename to src/Magnum/Math/Algorithms/Test/CMakeLists.txt
diff --git a/src/Math/Algorithms/Test/GaussJordanTest.cpp b/src/Magnum/Math/Algorithms/Test/GaussJordanTest.cpp
similarity index 97%
rename from src/Math/Algorithms/Test/GaussJordanTest.cpp
rename to src/Magnum/Math/Algorithms/Test/GaussJordanTest.cpp
index 20260b9f4..8eec14163 100644
--- a/src/Math/Algorithms/Test/GaussJordanTest.cpp
+++ b/src/Magnum/Math/Algorithms/Test/GaussJordanTest.cpp
@@ -22,9 +22,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include
-#include "Math/Algorithms/GaussJordan.h"
+#include "Magnum/Math/Algorithms/GaussJordan.h"
namespace Magnum { namespace Math { namespace Algorithms { namespace Test {
diff --git a/src/Math/Algorithms/Test/GramSchmidtTest.cpp b/src/Magnum/Math/Algorithms/Test/GramSchmidtTest.cpp
similarity index 97%
rename from src/Math/Algorithms/Test/GramSchmidtTest.cpp
rename to src/Magnum/Math/Algorithms/Test/GramSchmidtTest.cpp
index 4001b1dd9..7b2552280 100644
--- a/src/Math/Algorithms/Test/GramSchmidtTest.cpp
+++ b/src/Magnum/Math/Algorithms/Test/GramSchmidtTest.cpp
@@ -22,9 +22,9 @@
DEALINGS IN THE SOFTWARE.
*/
-#include
+#include