aboutsummaryrefslogtreecommitdiffstats
path: root/bindings/cxx
AgeCommit message (Collapse)AuthorFilesLines
2021-01-02Simplify clang-format configuration and format all codeDavid Robillard5-505/+485
2020-12-11Fix Vulkan C++ bindings on WindowsDavid Robillard1-2/+2
2020-11-26Use named groups to group documentationDavid Robillard1-4/+4
We'll need identifiers for these to refer to them in the Sphinx documentation.
2020-11-26Remove top-level documentation groupDavid Robillard1-3/+1
This will not be used in Sphinx.
2020-11-26Add missing documentation for pugl::Event fieldsDavid Robillard1-0/+2
2020-11-26Document PUGL_CHECK_CONSTRUCTIONDavid Robillard1-0/+11
2020-11-26Remove file documentationDavid Robillard5-28/+6
These will not be used in the Sphinx documentation, and most were self-explanatory and only there to make the Doxygen index look nice anyway. Where there was actually useful information, it has been preserved as regular comments.
2020-11-26Add pugl::World constructor overload that takes a flagDavid Robillard1-2/+9
Eventually we'll need an actual smart flags type here, but for now there's only one flag anyway, so simply define an overload that takes one.
2020-11-26Remove stub event handlers from pugl::ViewDavid Robillard1-119/+0
This was a bit weird since event dispatching can be handled by some other object. Just remove them, and have clients use a catch-all template to handle events that are not handled specially.
2020-11-25Rename puglShowWindow and puglHideWindow to puglShow an puglHideDavid Robillard1-6/+6
These names were confusing because a view is not necessarily a window. Since there's no room for ambiguity here, simply drop the superfluous word.
2020-11-25Move puglEnterContext and puglLeaveContext to GL backendsDavid Robillard1-0/+15
These only do anything for OpenGL, and it seems unlikely that they will ever be used for anything else. So, move them to the GL headers to remove clutter from the core API, and ensure that they are only used in GL applications that include the appropriate headers and link with a GL backend. Also add missing C++ bindings.
2020-11-25Pass vkGetInstanceProcAddr to puglCreateSurface instead of a loaderDavid Robillard1-2/+2
This allows puglCreateSurface() to be used with some other loader, or when linking to Vulkan at compile time.
2020-11-22Suppress various clang-tidy warningsDavid Robillard1-0/+2
These libc-specific warnings are a new level, even for LLVM. Using an opt-out style for this is probably not going to last.
2020-11-01Add missing returnDavid Robillard1-0/+1
2020-11-01Run clang-tidy on all headers and fix various issuesDavid Robillard6-6/+15
It's a nightmare trying to get this thing to check everything.
2020-11-01Make event handling in C++ more flexibleDavid Robillard2-131/+211
2020-11-01Reorder methods in C++ bindings to match C header groupsDavid Robillard1-6/+6
2020-10-31Use static polymorphism in C++ bindingsDavid Robillard3-248/+100
This removes virtual function overhead, and the weird situation of having to include pugl.ipp once (or worse, for pugl to provide a binary C++ library).
2020-10-31Make use of exceptions optionalDavid Robillard2-17/+39
2020-10-31Make most methods noexceptDavid Robillard1-34/+46
2020-10-31Remove use of cassert and type_traitsDavid Robillard1-39/+27
Losing assertions is unfortunate, but these slow down compile times, and in this case the scope of error is small enough that the risk is minimal.
2020-10-31Use a custom exception type for failed constructionDavid Robillard2-4/+24
This avoids an include of <exception>, which is slow, and is better practice anyway.
2020-10-31Remove pugl::ClockDavid Robillard1-46/+0
This is nice, but it bloats the header quite a bit for something that may not be used and requires the C++ standard library.
2020-10-31Remove use of std::unique_ptrDavid Robillard1-13/+17
Although it's generally a good idea to use known-solid std classes, in this case the wrapper is very simple so it's not worth including <memory>.
2020-10-31Cleanup: Remove unnecessary namespace qualificationsDavid Robillard2-27/+27
2020-10-30Remove logging APIDavid Robillard1-23/+0
This was missing from the C++ bindings and barely used anyway, so just remove it for now in the interests of simplicity and finalizing a stable API. The information previously logged in the X11 GL backend is now available programatically, so applications can print the same information portably if they like.
2020-10-30Clean up installed man pagesDavid Robillard1-5/+2
2020-10-30Simplify header namesDavid Robillard4-20/+20
2020-10-30Move C++ bindings to a separate directoryDavid Robillard7-0/+1243
This seemed messy and potentially misleading for what is fundamentally a C++ library. It also makes it possible to set separate clang-tidy and clang-format settings for each to avoid "tainting" the C settings, though currently the headers use the same checks.