aboutsummaryrefslogtreecommitdiffstats
path: root/doc/summary.rst
diff options
context:
space:
mode:
authorDavid Robillard <d@drobilla.net>2021-01-06 23:53:31 +0100
committerDavid Robillard <d@drobilla.net>2021-01-06 23:53:31 +0100
commitd2a6fd3f725f7f174535c49d78d07567e12c84d8 (patch)
tree8ebbe1d224363f94610e64af167a2592390787b4 /doc/summary.rst
parent31d059bf849045f45c8c9db361efd093e88a109c (diff)
downloadpugl-d2a6fd3f725f7f174535c49d78d07567e12c84d8.tar.gz
pugl-d2a6fd3f725f7f174535c49d78d07567e12c84d8.tar.bz2
pugl-d2a6fd3f725f7f174535c49d78d07567e12c84d8.zip
Split overview into multiple documents
Diffstat (limited to 'doc/summary.rst')
-rw-r--r--doc/summary.rst22
1 files changed, 22 insertions, 0 deletions
diff --git a/doc/summary.rst b/doc/summary.rst
new file mode 100644
index 0000000..f05515f
--- /dev/null
+++ b/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/