Browse Source

More documentation crosslinking and fixes.

pull/34/head
Vladimír Vondruš 13 years ago
parent
commit
1c10a5f595
  1. 11
      doc/debug-tools.dox
  2. 2
      doc/features.dox
  3. 20
      doc/matrix-vector.dox
  4. 47
      doc/namespaces.dox
  5. 33
      doc/platform.dox
  6. 25
      doc/scenegraph.dox
  7. 15
      doc/shapes.dox
  8. 21
      doc/transformations.dox
  9. 31
      doc/types.dox
  10. 5
      src/Platform/GlutApplication.h
  11. 6
      src/Platform/GlxApplication.h
  12. 5
      src/Platform/NaClApplication.h
  13. 5
      src/Platform/Sdl2Application.h
  14. 6
      src/Platform/WindowlessGlxApplication.h
  15. 4
      src/Platform/WindowlessNaClApplication.h
  16. 6
      src/Platform/XEglApplication.h

11
doc/debug-tools.dox

@ -24,15 +24,17 @@
namespace Magnum { namespace Magnum {
/** @page debug-tools Debugging helpers /** @page debug-tools Debugging helpers
@brief Convenience classes to help you during development. @brief Convenience classes to help you during development.
@tableofcontents - Previous page: @ref shapes
DebugTools library provides various helper classes to help you with @ref DebugTools library provides various helper classes to help you with
prototyping and debugging applications without the need to write too much prototyping and debugging applications without the need to write too much
common code. They probably have no usage in production code, but can be useful common code. They probably have no usage in production code, but can be useful
in development. in development. See documentation of @ref DebugTools namespace for more
information about building and usage with CMake.
@tableofcontents
@section debug-tools-renderers Debug renderers @section debug-tools-renderers Debug renderers
@ -75,5 +77,6 @@ new DebugTools::ObjectRenderer2D(*object, "my", debugDrawables);
See DebugTools::ObjectRenderer and DebugTools::ShapeRenderer for more See DebugTools::ObjectRenderer and DebugTools::ShapeRenderer for more
information. information.
- Previous page: @ref shapes
*/ */
} }

2
doc/features.dox

@ -24,7 +24,7 @@
namespace Magnum { namespace Magnum {
/** @page features Feature overview /** @page features Feature overview
@brief Fundamental principles and design goals @brief Fundamental principles and design goals.
- @subpage platform -- @copybrief platform - @subpage platform -- @copybrief platform
- @subpage types -- @copybrief types - @subpage types -- @copybrief types

20
doc/matrix-vector.dox

@ -24,15 +24,18 @@
namespace Magnum { namespace Magnum {
/** @page matrix-vector Operations with matrices and vectors /** @page matrix-vector Operations with matrices and vectors
@brief Introduction to essential classes of the graphics pipeline. @brief Introduction to essential classes of the graphics pipeline.
@tableofcontents - Previous page: @ref types
- Next page: @ref transformations
Matrices and vectors are the most important part of graphics programming and Matrices and vectors are the most important part of graphics programming and
one of goals of %Magnum is to make their usage as intuitive as possible. This one of goals of %Magnum is to make their usage as intuitive as possible. They
page will overview their usage and introduce some tricks to make your life are contained in @ref Math namespace and common variants also have aliases in
easier. root @ref Magnum namespace. See documentation of these namespaces for more
information about usage with CMake.
@tableofcontents
@section matrix-vector-hierarchy Matrix and vector classes @section matrix-vector-hierarchy Matrix and vector classes
@ -256,5 +259,10 @@ mat[2][0] = 5; // first element of third column
alternatives which operate on columns. It's then up to user decision to alternatives which operate on columns. It's then up to user decision to
operate with transposed matrices or use the slower non-transposed operate with transposed matrices or use the slower non-transposed
alternative of the algorithm. alternative of the algorithm.
 
- Previous page: @ref types
- Next page: @ref transformations
*/ */
}} }

47
doc/namespaces.dox

@ -44,16 +44,15 @@ to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and
/** @namespace Magnum::Platform /** @namespace Magnum::Platform
@brief Platform-specific application and context creation @brief Platform-specific application and context creation
Base classes for creating applications with various toolkits. See @ref platform Base classes for creating applications with various toolkits.
for introduction.
Parts of this namespace are built if `WITH_*APPLICATION` is enabled in CMake, Parts of this namespace are built if `WITH_*APPLICATION` is enabled in CMake,
with each library having specific toolkit dependencies and platform with each library having specific toolkit dependencies and platform
requirements. To use particular application library, you need to request given requirements. To use particular application library, you need to request given
`*Application` component in CMake, add `${MAGNUM_*APPLICATION_INCLUDE_DIRS}` to `*Application` component in CMake, add `${MAGNUM_*APPLICATION_INCLUDE_DIRS}` to
include path and link to `${MAGNUM_*APPLICATION_LIBRARIES}`. See particular include path and link to `${MAGNUM_*APPLICATION_LIBRARIES}`. See particular
`*Application` class documentation, @ref building and @ref cmake for more `*Application` class documentation, @ref building, @ref cmake and @ref platform
information. for more information.
*/ */
/** @dir Math /** @dir Math
@ -62,12 +61,11 @@ information.
/** @namespace Magnum::Math /** @namespace Magnum::Math
@brief %Math library @brief %Math library
Template classes for matrix and vector calculations. See @ref matrix-vector Template classes for matrix and vector calculations.
and @ref transformations for introduction.
This library is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}` This library is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}`
to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building,
@ref cmake for more information. @ref cmake, @ref matrix-vector and @ref transformations for more information.
*/ */
/** @dir Math/Algorithms /** @dir Math/Algorithms
@ -108,8 +106,9 @@ This library depends on **OpenAL** library. It is built if `WITH_AUDIO` is
enabled in CMake. To use this library, you need to request `%Audio` component enabled in CMake. To use this library, you need to request `%Audio` component
in CMake, add `${MAGNUM_AUDIO_INCLUDE_DIRS}` to include path and link to in CMake, add `${MAGNUM_AUDIO_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_AUDIO_LIBRARIES}`. See @ref building and @ref cmake for more `${MAGNUM_AUDIO_LIBRARIES}`. See @ref building and @ref cmake for more
information. Additional plugins are part of plugin repository, see information. Additional plugins are part of plugin repository, see particular
@ref building-plugins and @ref cmake-plugins for more information. `*Importer` class documentation, @ref building-plugins and @ref cmake-plugins
for more information.
*/ */
/** @dir DebugTools /** @dir DebugTools
@ -118,13 +117,12 @@ information. Additional plugins are part of plugin repository, see
/** @namespace Magnum::DebugTools /** @namespace Magnum::DebugTools
@brief %Debug tools @brief %Debug tools
Debugging helpers, renderers and profilers. See @ref debug-tools for Debugging helpers, renderers and profilers.
introduction.
This library is built if `WITH_DEBUGTOOLS` is enabled in CMake. To use this This library is built if `WITH_DEBUGTOOLS` is enabled in CMake. To use this
library, you need to request `%DebugTools` component in CMake and link to library, you need to request `%DebugTools` component in CMake and link to
`${MAGNUM_DEBUGTOOLS_LIBRARIES}`. See @ref building and @ref cmake for more `${MAGNUM_DEBUGTOOLS_LIBRARIES}`. See @ref building, @ref cmake and
information. @ref debug-tools for more information.
*/ */
/** @dir MeshTools /** @dir MeshTools
@ -162,13 +160,12 @@ information.
@namespace Magnum::SceneGraph @namespace Magnum::SceneGraph
@brief %Scene graph library @brief %Scene graph library
Managing object hierarchy, transformations and interactions. See Managing object hierarchy, transformations and interactions.
@ref scenegraph for introduction.
This library is built if `WITH_SCENEGRAPH` is enabled in CMake. To use this This library is built if `WITH_SCENEGRAPH` is enabled in CMake. To use this
library, you need to request `%SceneGraph` component in CMake and link to library, you need to request `%SceneGraph` component in CMake and link to
`${MAGNUM_SCENEGRAPH_LIBRARIES}`. See @ref building and @ref cmake for more `${MAGNUM_SCENEGRAPH_LIBRARIES}`. See @ref building, @ref cmake and
information. @ref scenegraph for more information.
*/ */
/** @dir Shaders /** @dir Shaders
@ -191,12 +188,12 @@ information.
/** @namespace Magnum::Shapes /** @namespace Magnum::Shapes
@brief %Shape library @brief %Shape library
Collision detection system. See @ref shapes for introduction. Collision detection system.
This library is built if `WITH_SHAPES` is enabled in CMake. To use this This library is built if `WITH_SHAPES` is enabled in CMake. To use this
library, you need to request `%Shapes` component in CMake and link to library, you need to request `%Shapes` component in CMake and link to
`${MAGNUM_SHAPES_LIBRARIES}`. See @ref building and @ref cmake for more `${MAGNUM_SHAPES_LIBRARIES}`. See @ref building, @ref cmake and @ref shapes for
information. more information.
*/ */
/** @dir Text /** @dir Text
@ -210,8 +207,9 @@ Font texture creation and text layouting.
This library is built if `WITH_TEXT` is enabled in CMake. To use this library, This library is built if `WITH_TEXT` is enabled in CMake. To use this library,
you need to request `%Text` component in CMake and link to `${MAGNUM_TEXT_LIBRARIES}`. you need to request `%Text` component in CMake and link to `${MAGNUM_TEXT_LIBRARIES}`.
See @ref building and @ref cmake for more information. Additional plugins are See @ref building and @ref cmake for more information. Additional plugins are
part of plugin repository, see @ref building-plugins and @ref cmake-plugins for part of plugin repository, see particular `*Font` and `*FontConverter` class
more information. documentation, @ref building-plugins and @ref cmake-plugins for more
information.
*/ */
/** @dir TextureTools /** @dir TextureTools
@ -240,6 +238,7 @@ for direct access to the data.
This library is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}` This library is built by default. To use it, you need to add `${MAGNUM_INCLUDE_DIRS}`
to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and to include path and link to `${MAGNUM_LIBRARIES}`. See @ref building and
@ref cmake for more information. Additional plugins are part of plugin @ref cmake for more information. Additional plugins are part of plugin
repository, see @ref building-plugins and @ref cmake-plugins for more repository, see particular `*Importer` and `*ImageConverter` class
documentation, @ref building-plugins and @ref cmake-plugins for more
information. information.
*/ */

33
doc/platform.dox

@ -24,19 +24,22 @@
namespace Magnum { namespace Platform { namespace Magnum { namespace Platform {
/** @page platform Platform support /** @page platform Platform support
@brief Integration into windowing toolkits and creation of windowless contexts.
@brief Integration into windowing toolkits and creation of windowless contexts - Next page: @ref types
@tableofcontents @ref Platform namespace contains classes integrating %Magnum engine into
various toolkits, both windowed and windowless. Each class has slightly
different dependencies and platform requirements, see documentation of
@ref Platform namespace and particular `*Application` classes for more
information about building and usage with CMake.
Platform namespace provides classes integrating %Magnum engine into various @tableofcontents
toolkits, both windowed and windowless. All the classes have common API to
achieve static polymorphism, so basically you can use different toolkits on
different platforms and the only thing you need to change is the class name,
everything else is the same.
Basic usage is to subclass the chosen `*Application` class and implement All the classes have common API to achieve static polymorphism, so basically
required methods. you can use different toolkits on different platforms and the only thing you
need to change is the class name, everything else is the same. Basic usage is
to subclass the chosen `*Application` class and implement required methods.
@section platform-windowed Windowed applications @section platform-windowed Windowed applications
@ -52,7 +55,7 @@ directly in `main()`, but for convenience and portability it's better to use
To simplify the porting, the library provides `Platform::Application` typedef To simplify the porting, the library provides `Platform::Application` typedef
and `MAGNUM_APPLICATION_MAIN()` macro (but only if only one application header and `MAGNUM_APPLICATION_MAIN()` macro (but only if only one application header
is included, to avoid ambiguity). Changing the code to use different toolkit is is included, to avoid ambiguity). Changing the code to use different toolkit is
then matter of replacing only the `#include` statement. then matter of replacing only the <tt>#</tt>`include` statement.
Barebone application implementation which will just clear the window to dark Barebone application implementation which will just clear the window to dark
blue color: blue color:
@ -107,10 +110,11 @@ macro.
Similarly as with windowed applications, to simplify the porting, the library Similarly as with windowed applications, to simplify the porting, the library
provides `Platform::WindowlessApplication` typedef and `MAGNUM_WINDOWLESSAPPLICATION_MAIN()` provides `Platform::WindowlessApplication` typedef and `MAGNUM_WINDOWLESSAPPLICATION_MAIN()`
macro, but only if only one windowless application header is included. Changing macro, but only if only one windowless application header is included. Changing
the code to use different toolkit is then matter of replacing only the `#include` the code to use different toolkit is then matter of replacing only the
statement. Aliases for windowless applications are separated from aliases for <tt>#</tt>`include` statement. Aliases for windowless applications are
windowed applications, because projects commonly contain both graphics separated from aliases for windowed applications, because projects commonly
application and command-line tools (for data preparation etc.). contain both graphics application and command-line tools (for data preparation
etc.).
Barebone application which will just print out current OpenGL version and Barebone application which will just print out current OpenGL version and
renderer string and exits: renderer string and exits:
@ -218,5 +222,6 @@ MyApplication::MyApplication(int& argc, char** argv): Platform::Application(argc
} }
@endcode @endcode
- Next page: @ref types
*/ */
}} }}

25
doc/scenegraph.dox

@ -26,16 +26,22 @@ namespace Magnum { namespace SceneGraph {
/** @page scenegraph Using scene graph /** @page scenegraph Using scene graph
@brief Overview of scene management capabilities. @brief Overview of scene management capabilities.
@tableofcontents - Previous page: @ref transformations
- Next page: @ref shapes
%Scene graph provides way to hiearchically manage your objects, their %Scene graph provides way to hiearchically manage your objects, their
transformation, physics interaction, animation and rendering. There are transformation, physics interaction, animation and rendering. The library is
naturally many possible combinations (2D vs. 3D, different transformation contained in @ref SceneGraph namespace, see its documentation for more
representations, animated vs. static, object can have collision shape, information about building and usage with CMake.
participate in physics events, have forward vs. deferred rendering...). To
make everything possible without combinatiorial explosion and allow the users @tableofcontents
to provide their own features, scene graph in %Magnum is composed of three
main components: There are naturally many possible feature combinations (2D vs. 3D, different
transformation representations, animated vs. static, object can have collision
shape, participate in physics events, have forward vs. deferred rendering...)
and to make everything possible without combinatiorial explosion and allow the
users to provide their own features, scene graph in %Magnum is composed of
three main components:
- objects, providing parent/children hierarchy - objects, providing parent/children hierarchy
- transformations, implementing particular transformation type - transformations, implementing particular transformation type
@ -291,5 +297,8 @@ class MyObject: MyFeature, public Object3D {
On destruction, Object3D destructor is called first, deleting MyFeature, On destruction, Object3D destructor is called first, deleting MyFeature,
which is wrong, because MyFeature is in the same object. After that (if the which is wrong, because MyFeature is in the same object. After that (if the
program didn't already crash) destructor of MyFeature is called (again). program didn't already crash) destructor of MyFeature is called (again).
- Previous page: @ref transformations
- Next page: @ref shapes
*/ */
}} }}

15
doc/shapes.dox

@ -26,13 +26,19 @@ namespace Magnum { namespace Shapes {
/** @page shapes Collision detection /** @page shapes Collision detection
@brief Collection of simple shapes for high performance collision detection. @brief Collection of simple shapes for high performance collision detection.
- Previous page: @ref scenegraph
- Next page: @ref debug-tools
The essential thing in collision detection is to define a complex object with The essential thing in collision detection is to define a complex object with
collection of simple shapes, for which it is easy to detect collisions. These collection of simple shapes, for which it is easy to detect collisions. The
shapes can be either one-, two- or three-dimensional and they can be grouped library is contained in @ref Shapes namespace, see its documentation for more
together using various operations. information about building and usage with CMake.
@tableofcontents @tableofcontents
These shapes can be either one-, two- or three-dimensional and they can be
grouped together using various operations.
@section shapes-collection Available shapes @section shapes-collection Available shapes
%Magnum provides a set of simple shapes for collision detection, similarly to %Magnum provides a set of simple shapes for collision detection, similarly to
@ -140,5 +146,8 @@ auto shape = Shapes::Shape<Shapes::Sphere3D>(object, {{}, 23.0f});
See also @ref scenegraph for introduction. See also @ref scenegraph for introduction.
- Previous page: @ref scenegraph
- Next page: @ref debug-tools
*/ */
}}} }}}

21
doc/transformations.dox

@ -24,16 +24,22 @@
namespace Magnum { namespace Math { namespace Magnum { namespace Math {
/** @page transformations 2D and 3D transformations /** @page transformations 2D and 3D transformations
@brief Introduction to essential operations on vectors and points. @brief Introduction to essential operations on vectors and points.
@tableofcontents - Previous page: @ref matrix-vector
- Next page: @ref scenegraph
Transformations are essential operations involved in scene management -- object Transformations are essential operations involved in scene management -- object
relations, hierarchies, animations etc. %Magnum provides classes for relations, hierarchies, animations etc. They extend basic vectors and matrices
transformations in both 2D and 3D. Each class is suited for different purposes, in @ref Math namespace, see its documentation for more information about usage
but their usage is nearly the same to make your life simpler. This page will with CMake.
explain the basic operation and differences between various representations.
@tableofcontents
%Magnum provides classes for transformations in both 2D and 3D. Each class is
suited for different purposes, but their usage is nearly the same to make your
life simpler. This page will explain the basic operation and differences
between various representations.
@section transformations-representation Representing transformations @section transformations-representation Representing transformations
@ -310,5 +316,8 @@ are always of unit length, thus normalizing them reduces the drift.
DualQuaternion transformation; DualQuaternion transformation;
transformation = transformation.normalized(); transformation = transformation.normalized();
@endcode @endcode
- Previous page: @ref matrix-vector
- Next page: @ref scenegraph
*/ */
}} }}

31
doc/types.dox

@ -24,8 +24,13 @@
namespace Magnum { namespace Magnum {
/** @page types Type system /** @page types Type system
@brief Type aliases, naming and compatibility with OpenGL and GLSL types.
@brief Type aliases, naming and compatibility with OpenGL and GLSL types - Previous page: @ref platform
- Next page: @ref matrix-vector
The root @ref Magnum namespace defines a few aliases for essential types. See
its documentation for more information about usage with CMake.
@section types-builtin Builtin types @section types-builtin Builtin types
@ -66,17 +71,17 @@ underlying type.
| @ref Vector2i, @ref Vector3i, @ref Vector4i | `ivec2`, `ivec3`, `ivec4` | | @ref Vector2i, @ref Vector3i, @ref Vector4i | `ivec2`, `ivec3`, `ivec4` |
| @ref Vector2d, @ref Vector3d, @ref Vector4d | `dvec2`, `dvec3`, `dvec4` | | @ref Vector2d, @ref Vector3d, @ref Vector4d | `dvec2`, `dvec3`, `dvec4` |
| %Magnum matrix type | Equivalent GLSL type | | %Magnum matrix type | Equivalent GLSL type |
| --------------------------------- | ------------------------------------ | | ---------------------------------------------------------------- | ------------------------------------ |
| @ref Matrix2 or @ref Matrix2d | `mat2`/`mat2x2` or `dmat2`/`dmat2x2` | | @ref Matrix2x2 or @ref Matrix2x2d | `mat2`/`mat2x2` or `dmat2`/`dmat2x2` |
| @ref Matrix3 or @ref Matrix3d | `mat3`/`mat3x3` or `dmat3`/`dmat3x3` | | @ref Matrix3 / @ref Matrix3x3 or @ref Matrix3d / @ref Matrix3x3d | `mat3`/`mat3x3` or `dmat3`/`dmat3x3` |
| @ref Matrix4 or @ref Matrix4d | `mat4`/`mat4x4` or `dmat4`/`dmat4x4` | | @ref Matrix4 / @ref Matrix4x4 or @ref Matrix4d / @ref Matrix4x4d | `mat4`/`mat4x4` or `dmat4`/`dmat4x4` |
| @ref Matrix2x3 or @ref Matrix2x3d | `mat2x3` or `dmat2x3` | | @ref Matrix2x3 or @ref Matrix2x3d | `mat2x3` or `dmat2x3` |
| @ref Matrix3x2 or @ref Matrix3x2d | `mat3x2` or `dmat3x2` | | @ref Matrix3x2 or @ref Matrix3x2d | `mat3x2` or `dmat3x2` |
| @ref Matrix2x4 or @ref Matrix2x4d | `mat2x4` or `dmat2x4` | | @ref Matrix2x4 or @ref Matrix2x4d | `mat2x4` or `dmat2x4` |
| @ref Matrix4x2 or @ref Matrix4x2d | `mat4x2` or `dmat4x2` | | @ref Matrix4x2 or @ref Matrix4x2d | `mat4x2` or `dmat4x2` |
| @ref Matrix3x4 or @ref Matrix3x4d | `mat3x4` or `dmat3x4` | | @ref Matrix3x4 or @ref Matrix3x4d | `mat3x4` or `dmat3x4` |
| @ref Matrix4x3 or @ref Matrix4x3d | `mat4x3` or `dmat4x3` | | @ref Matrix4x3 or @ref Matrix4x3d | `mat4x3` or `dmat4x3` |
Any super- or sub-class of the same size and underlying type can be used Any super- or sub-class of the same size and underlying type can be used
equivalently (e.g. @ref Math::Vector or @ref Color3 instead of @ref Vector3). equivalently (e.g. @ref Math::Vector or @ref Color3 instead of @ref Vector3).
@ -96,5 +101,7 @@ quaternion to matrix).
For your convenience, there is also alias for class with often used constants -- For your convenience, there is also alias for class with often used constants --
@ref Constants or @ref Constantsd. @ref Constants or @ref Constantsd.
- Previous page: @ref platform
- Next page: @ref matrix-vector
*/ */
} }

5
src/Platform/GlutApplication.h

@ -47,7 +47,7 @@ namespace Platform {
Application using GLUT toolkit. Supports keyboard handling for limited subset Application using GLUT toolkit. Supports keyboard handling for limited subset
of keys, mouse handling with support for changing cursor and mouse tracking and of keys, mouse handling with support for changing cursor and mouse tracking and
warping. See @ref platform for brief introduction. warping.
This application library is available only on desktop OpenGL (Linux, Windows, This application library is available only on desktop OpenGL (Linux, Windows,
OS X). It depends on **GLUT** library and is built if `WITH_GLUTAPPLICATION` is OS X). It depends on **GLUT** library and is built if `WITH_GLUTAPPLICATION` is
@ -55,7 +55,8 @@ enabled in CMake. To use it, you need to request `%GlutApplication` component
in CMake, add `${MAGNUM_GLUTAPPLICATION_INCLUDE_DIRS}` to include path and link in CMake, add `${MAGNUM_GLUTAPPLICATION_INCLUDE_DIRS}` to include path and link
to `${MAGNUM_GLUTAPPLICATION_LIBRARIES}`. If no other application is requested, to `${MAGNUM_GLUTAPPLICATION_LIBRARIES}`. If no other application is requested,
you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section GlutApplication-usage Usage @section GlutApplication-usage Usage

6
src/Platform/GlxApplication.h

@ -35,8 +35,7 @@ namespace Magnum { namespace Platform {
/** /**
@brief GLX application @brief GLX application
Application using pure X11 and GLX. Supports keyboard and mouse handling. See Application using pure X11 and GLX. Supports keyboard and mouse handling.
@ref platform for brief introduction.
This application library is available on desktop OpenGL and This application library is available on desktop OpenGL and
@ref MAGNUM_TARGET_DESKTOP_GLES "OpenGL ES emulation on desktop" on Linux. It @ref MAGNUM_TARGET_DESKTOP_GLES "OpenGL ES emulation on desktop" on Linux. It
@ -45,7 +44,8 @@ CMake. To use it, you need to request `%GlxApplication` component in CMake, add
`${MAGNUM_GLXAPPLICATION_INCLUDE_DIRS}` to include path and link to `${MAGNUM_GLXAPPLICATION_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_GLXAPPLICATION_LIBRARIES}`. If no other application is requested, you `${MAGNUM_GLXAPPLICATION_LIBRARIES}`. If no other application is requested, you
can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section GlxApplication-usage Usage @section GlxApplication-usage Usage

5
src/Platform/NaClApplication.h

@ -53,7 +53,7 @@ namespace Magnum { namespace Platform {
@brief NaCl application @brief NaCl application
Application running in [Google Chrome Native Client](https://developers.google.com/native-client/). Application running in [Google Chrome Native Client](https://developers.google.com/native-client/).
Supports keyboard and mouse handling. See @ref platform for brief introduction. Supports keyboard and mouse handling.
This application library is available only in @ref CORRADE_TARGET_NACL "Native Client". This application library is available only in @ref CORRADE_TARGET_NACL "Native Client".
It is built if `WITH_NACLAPPLICATION` is enabled in CMake. To use it, you need It is built if `WITH_NACLAPPLICATION` is enabled in CMake. To use it, you need
@ -61,7 +61,8 @@ to request `%NaClApplication` component in CMake, add
`${MAGNUM_NACLAPPLICATION_INCLUDE_DIRS}` to include path and link to `${MAGNUM_NACLAPPLICATION_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_NACLAPPLICATION_LIBRARIES}`. If no other application is requested, `${MAGNUM_NACLAPPLICATION_LIBRARIES}`. If no other application is requested,
you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section NaClApplication-usage Usage @section NaClApplication-usage Usage

5
src/Platform/Sdl2Application.h

@ -51,7 +51,7 @@ namespace Platform {
@brief SDL2 application @brief SDL2 application
Application using [Simple DirectMedia Layer](www.libsdl.org/) toolkit. Supports Application using [Simple DirectMedia Layer](www.libsdl.org/) toolkit. Supports
keyboard and mouse handling. See @ref platform for brief introduction. keyboard and mouse handling.
This application library is available on desktop OpenGL (Linux, Windows, OS X) This application library is available on desktop OpenGL (Linux, Windows, OS X)
and in @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". It depends on **SDL2** and in @ref CORRADE_TARGET_EMSCRIPTEN "Emscripten". It depends on **SDL2**
@ -62,7 +62,8 @@ to find SDL2), request `%Sdl2Application` component in CMake, add
`${MAGNUM_SDL2APPLICATION_INCLUDE_DIRS}` to include path and link to `${MAGNUM_SDL2APPLICATION_INCLUDE_DIRS}` to include path and link to
`${MAGNUM_SDL2APPLICATION_LIBRARIES}`. If no other application is requested, `${MAGNUM_SDL2APPLICATION_LIBRARIES}`. If no other application is requested,
you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section Sdl2Application-usage Usage @section Sdl2Application-usage Usage

6
src/Platform/WindowlessGlxApplication.h

@ -45,8 +45,7 @@ namespace Magnum { namespace Platform {
/** /**
@brief Windowless GLX application @brief Windowless GLX application
Application for offscreen rendering using pure X11 and GLX. See @ref platform Application for offscreen rendering using pure X11 and GLX.
for brief introduction.
This application library is available on desktop OpenGL and This application library is available on desktop OpenGL and
@ref MAGNUM_TARGET_DESKTOP_GLES "OpenGL ES emulation on desktop" on Linux. It @ref MAGNUM_TARGET_DESKTOP_GLES "OpenGL ES emulation on desktop" on Linux. It
@ -56,7 +55,8 @@ component in CMake, add `${MAGNUM_WINDOWLESSGLXAPPLICATION_INCLUDE_DIRS}` to
include path and link to `${MAGNUM_WINDOWLESSGLXAPPLICATION_LIBRARIES}`. If no include path and link to `${MAGNUM_WINDOWLESSGLXAPPLICATION_LIBRARIES}`. If no
other windowless application is requested, you can also use generic other windowless application is requested, you can also use generic
`${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}` and `${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting. `${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section WindowlessGlxApplication-usage Usage @section WindowlessGlxApplication-usage Usage

4
src/Platform/WindowlessNaClApplication.h

@ -52,7 +52,6 @@ namespace Magnum { namespace Platform {
Application for offscreen rendering running in Application for offscreen rendering running in
[Google Chrome Native Client](https://developers.google.com/native-client/). [Google Chrome Native Client](https://developers.google.com/native-client/).
See @ref platform for brief introduction.
This application library is available only in @ref CORRADE_TARGET_NACL "Native Client". This application library is available only in @ref CORRADE_TARGET_NACL "Native Client".
It is built if `WITH_WINDOWLESSNACLAPPLICATION` is enabled in CMake. To use it, It is built if `WITH_WINDOWLESSNACLAPPLICATION` is enabled in CMake. To use it,
@ -61,7 +60,8 @@ you need to request `%WindowlessNaClApplication` component in CMake, add
`${MAGNUM_WINDOWLESSNACLAPPLICATION_LIBRARIES}`. If no other windowless `${MAGNUM_WINDOWLESSNACLAPPLICATION_LIBRARIES}`. If no other windowless
application is requested, you can also use generic application is requested, you can also use generic
`${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}` and `${MAGNUM_WINDOWLESSAPPLICATION_INCLUDE_DIRS}` and
`${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting. `${MAGNUM_WINDOWLESSAPPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section WindowlessNaClApplication-usage Usage @section WindowlessNaClApplication-usage Usage

6
src/Platform/XEglApplication.h

@ -35,8 +35,7 @@ namespace Magnum { namespace Platform {
/** /**
@brief X/EGL application @brief X/EGL application
Application using pure X11 and EGL. Supports keyboard and mouse handling. See Application using pure X11 and EGL. Supports keyboard and mouse handling.
@ref platform for brief introduction.
This application library is available on both desktop OpenGL and This application library is available on both desktop OpenGL and
@ref MAGNUM_TARGET_GLES "OpenGL ES" on Linux. It depends on **X11** and **EGL** @ref MAGNUM_TARGET_GLES "OpenGL ES" on Linux. It depends on **X11** and **EGL**
@ -46,7 +45,8 @@ source to `modules/` dir in your project (so CMake is able to find EGL),
request `%XEglApplication` component in CMake, add `${MAGNUM_XEGLAPPLICATION_INCLUDE_DIRS}` request `%XEglApplication` component in CMake, add `${MAGNUM_XEGLAPPLICATION_INCLUDE_DIRS}`
to include path and link to `${MAGNUM_XEGLAPPLICATION_LIBRARIES}`. If no other to include path and link to `${MAGNUM_XEGLAPPLICATION_LIBRARIES}`. If no other
application is requested, you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}` application is requested, you can also use generic `${MAGNUM_APPLICATION_INCLUDE_DIRS}`
and `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. and `${MAGNUM_APPLICATION_LIBRARIES}` aliases to simplify porting. See
@ref building, @ref cmake and @ref platform for more information.
@section XEglApplication-usage Usage @section XEglApplication-usage Usage

Loading…
Cancel
Save