diff options
author | David Robillard <d@drobilla.net> | 2021-01-06 23:53:31 +0100 |
---|---|---|
committer | David Robillard <d@drobilla.net> | 2021-01-06 23:53:31 +0100 |
commit | d2a6fd3f725f7f174535c49d78d07567e12c84d8 (patch) | |
tree | 8ebbe1d224363f94610e64af167a2592390787b4 /doc/summary.rst | |
parent | 31d059bf849045f45c8c9db361efd093e88a109c (diff) | |
download | pugl-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.rst | 22 |
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/ |