aboutsummaryrefslogtreecommitdiffstats
path: root/src
AgeCommit message (Collapse)AuthorFilesLines
2020-11-25Rename puglShowWindow and puglHideWindow to puglShow an puglHideDavid Robillard4-6/+18
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 Robillard4-12/+36
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 Robillard3-9/+9
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/+5
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-22X11: Fix position of child windows and clean up window creation codeDavid Robillard1-50/+68
This fixes an issue where the default frame position would be set based on the screen size for child windows. This went unnoticed so far because most plugins, like pugl_embed_demo, explicitly set the frame and so avoided this code path. Also generally tidy up puglRealize() along the way to make it a bit more readable.
2020-11-10Fix asan errors on X11David Robillard1-12/+10
Fun with union punning. The different sizes mean that stuff on the stack could be copied to the destination event. I don't think this would cause a concrete issue (the contents of the event past the expose are irrelevant) but asan quite reasonably has a problem with it.
2020-11-01Run clang-tidy on all headers and fix various issuesDavid Robillard2-3/+5
It's a nightmare trying to get this thing to check everything.
2020-10-31Cleanup: Remove unnecessary includeDavid Robillard1-1/+0
2020-10-31Fix Cairo build on Mac and WindowsDavid Robillard2-2/+2
2020-10-30Remove logging APIDavid Robillard4-70/+5
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-30Simplify header namesDavid Robillard11-13/+13
2020-10-30Move implementation source files to a conventional src directoryDavid Robillard23-0/+7013
I think this attempt to be optionally header-only was misguided, particularly installing source code to the system include path. Typically anyone vendoring code just includes the repository and builds from there anyway. This commit moves all the implementation code to a typical src directory (Don't Be Weird). I still think there is some value in simple "inline" deployment, but that would be better achieved another way, like producing a single-file amalgamation that builds anywhere, ala sqlite.