diff options
Diffstat (limited to 'subprojects/d2tk/pugl/doc/summary.rst')
-rw-r--r-- | subprojects/d2tk/pugl/doc/summary.rst | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/subprojects/d2tk/pugl/doc/summary.rst b/subprojects/d2tk/pugl/doc/summary.rst new file mode 100644 index 00000000..f05515fb --- /dev/null +++ b/subprojects/d2tk/pugl/doc/summary.rst @@ -0,0 +1,22 @@ +Pugl is an API for writing portable and embeddable GUIs. +Pugl is not a toolkit or framework, +but a minimal portability layer that sets up a drawing context and delivers events. + +Compared to other libraries, +Pugl is particularly suitable for use in plugins or other loadable modules. +There is no implicit context or static data in the library, +so it may be statically linked and used multiple times in the same process. + +Pugl has a modular design that separates the core library from graphics backends. +The core library is graphics agnostic, +it implements platform support and depends only on standard system libraries. +MacOS, Windows, and X11 are currently supported as platforms. + +Graphics backends are separate so that applications only depend on the API that they use. +Pugl includes graphics backends for Cairo_, OpenGL_, and Vulkan_. +It is also possible to use some other graphics API by implementing a custom backend, +or simply accessing the native platform handle for a window. + +.. _Cairo: https://www.cairographics.org/ +.. _OpenGL: https://www.opengl.org/ +.. _Vulkan: https://www.khronos.org/vulkan/ |