I am thinking of making a simplistic C++ GUI library and figured that it would be a little lame to learn X 's interface (to make up a nice C++ wrapper around it) when something new (and hopefully, more friendly) is about to make an entrance.

But I could not find clear information about what interfaces I'll be able to use, and the 'hierarchy' of them.
Seeing some articles about Qt (and other) applications already (to an extent) being able to run on Wayland, I'm curious about what replaced the native X server calls.

I'm also confused about the 'who sits on top of whom' in Wayland.
Can I do everything (w.r.t graphics) with OpenGL(/ES) ?

I'm, thus, basically hunting for information about what I'd have to learn for it. (...my level of knowledge being fair competence with standard C++, some libraries and parts of the Linux and posix interface)

(I'll be grateful if someone can dig up some old articles/documents from here or somewhere else that talks about this, that I may not have found by searches)