Investigate using http://code.google.com/p/angleproject/ "The goal of ANGLE is to allow Windows users to seamlessly run WebGL content by translating OpenGL ES 2.0 API calls to DirectX 9 API calls." for ClanLib
"ideally you'd also support _NET_WM_PING, WM_CLIENT_MACHINE and _NET_WM_PID that way a linux user can kill our app like in Windows if it goes unresponsive"
Is this function required: void CL_Win32Window::modify_window(const CL_DisplayWindowDescription &desc)
Adds extra complexity, to modify a window that has already been created. Should we force the user, to call set_size() etc manually.
This function is not supported in linux.
Its strange that every image thing has the constructor: CL_Blah(graphicsContext, resName, resources), except CL_Texture, which looks like CL_Texture(resName, resources, graphicsContext)