diff DPF-Prymula-audioplugins/dpf/dgl/src/pugl-upstream/README.md @ 3:84e66ea83026

DPF-Prymula-audioplugins-0.231015-2
author prymula <prymula76@outlook.com>
date Mon, 16 Oct 2023 21:53:34 +0200
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/DPF-Prymula-audioplugins/dpf/dgl/src/pugl-upstream/README.md	Mon Oct 16 21:53:34 2023 +0200
@@ -0,0 +1,72 @@
+Pugl
+====
+
+Pugl (PlUgin Graphics Library) is a minimal portability layer for GUIs which is
+suitable for use in plugins.  It works on X11, MacOS, and Windows, and includes
+optional support for drawing with Vulkan, OpenGL, and Cairo.
+
+Pugl is vaguely similar to libraries like GLUT and GLFW, but has different
+goals and priorities:
+
+ * Minimal in scope, providing only a thin interface to isolate
+   platform-specific details from applications.
+
+ * Zero dependencies, aside from standard system libraries.
+
+ * Support for embedding in native windows, for example as a plugin or
+   component within a larger application that is not based on Pugl.
+
+ * Explicit context and no static data, so that several instances can be used
+   within a single program at once.
+
+ * Consistent event-based API that makes dispatching in application or toolkit
+   code easy with minimal boilerplate.
+
+ * Suitable for both continuously rendering applications like games, and
+   event-driven applications that only draw when necessary.
+
+ * Small, liberally licensed implementation that is suitable for vendoring
+   and/or static linking.  Pugl can be installed as a library, or used by
+   simply copying the implementation into a project.
+
+Stability
+---------
+
+Pugl is currently being developed towards a long-term stable API.  For the time
+being, however, the API may break occasionally.  Please report any relevant
+feedback, or file feature requests, so that we can ensure that the released API
+is stable for as long as possible.
+
+When the API changes, backwards compatibility is maintained where possible.
+These compatibility shims will be removed before release, so users are
+encouraged to build with `PUGL_DISABLE_DEPRECATED` defined.
+
+Documentation
+-------------
+
+Pugl is a C library that includes C++ bindings.
+Each API is documented separately:
+
+ * [C Documentation (single page)](https://lv2.gitlab.io/pugl/c/singlehtml/)
+ * [C Documentation (paginated)](https://lv2.gitlab.io/pugl/c/html/)
+ * [C++ Documentation (single page)](https://lv2.gitlab.io/pugl/cpp/singlehtml/)
+ * [C++ Documentation (paginated)](https://lv2.gitlab.io/pugl/cpp/html/)
+
+The documentation will also be built from the source if the `docs`
+configuration option is enabled, and both Doxygen and Sphinx are available.
+
+Testing
+-------
+
+Some unit tests are included, but unfortunately manual testing is still
+required.  The tests and example programs are built by default.  You can run
+all the tests at once via ninja:
+
+    meson setup build
+    cd build
+    ninja test
+
+The [examples](examples) directory contains several demonstration programs that
+can be used for manual testing.
+
+ -- David Robillard <d@drobilla.net>