path: root/subprojects/d2tk/pugl/doc/summary.rst
diff options
authorHanspeter Portner <dev@open-music-kontrollers.ch>2021-04-14 11:04:21 +0200
committerHanspeter Portner <dev@open-music-kontrollers.ch>2021-04-14 11:04:21 +0200
commitd46b7d1a180d24ee5573e3aa3fddc7fa54a495b8 (patch)
tree782d7c77768ae36e60f758591f82e05a27ff7cbb /subprojects/d2tk/pugl/doc/summary.rst
parent73e3c79b4246e1d8fd371485237387b5ebdcdd2f (diff)
parent969ce6ed699729f54af943e880873de6f78a3e85 (diff)
Merge commit '969ce6ed699729f54af943e880873de6f78a3e85'
Diffstat (limited to 'subprojects/d2tk/pugl/doc/summary.rst')
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/