Age | Commit message (Collapse) | Author | Files | Lines |
|
Working on Vulkan clarified what has always been slightly smelly about the
design and organization here: not everything that is API specific is really in
a "backend" (a PuglBackend). The concrete example is puglGetProcAddress(),
which only makes sense for GL and is actually implemented in the "backend"
files. Arguably puglGetContext() is also such a thing.
So, rename the headers so they can be the place where API-specific things go in
general, which happens to include a backend most of the time. The stub is a
bit of an exception to this, but whatever. The includes look tidier this way.
In place of the old headers are compatibility stubs that just emit a warning
and include the new version, which will be maintained for a while.
|
|
This allows backends which use basic software rendering (like Cairo) to share
the common basic window format setup code.
|
|
|
|
|
|
|
|
Also save and restore cairo context state around callbacks, so applications
don't need to worry about smashing cairo state across exposures.
|
|
|
|
Taking a page from C++ convention, where "detail" is for things that should not
be included in user code.
|