در جمعه 4 مهٔ 2018، ساعت 2:29:53 (UTC+4:30)، David Ludwig نوشته:
> I am wondering to what degree others might be thinking of similar things. Looking over older commentary here, and looking over conversations elsewhere (via Reddit, Twitter, etc.), it seems like I might not be the only one.
Of course not.
> Do people here (if anyone is still here!) find the prospect of a windowing API in Standard C++ to be appealing?
Sure. Plenty of them.
> If so, or if not, why?
GUI Is an important component of any modern OS.
OTH, complexity and diversity of GUI building blocks is a serious obstacle. Diversity and incompatiblity of protocoles used by various OS's is a major concern.
> Would a windowing API mandate the need for some kind of input-event API? It seems to me like it would, but maybe I'm wrong?
>
> Assuming there is to be a "Standard" windowing API, should it be tied to a specific graphics API or set of APIs, or could it be reasonably agnostic of any such API?
The more generic, the more appealing but the more difficult to design.
AFAIK such GUI API consists of - at least - following features:
1. A widget server (internal or external) that handles abstract windowing primitives(size, location, visiblity...) as well as s messaging system.
2. Event-loop manager and corresponding callback system to receive and covert messages into events an register callbacks to respond for each event. 'boost::signal2' has been around - for a while - to handle the callbacks and there has been interest in extdnding boost::asio for event-loop management.
3.flexible rendering management to be able to choose between different graphic servers(internal, native(OS default), 3rd party alternatives(opengl...)...).
This id already too much to be concluded in just a few proposals. I have not seen any approved API in 'boost' as a great idea pool for std proposals.
QT has been widely used a cross-platform library. But it does not conform to some std coventions:
1. Identifier naming differs and QT does not by-default make use of namespaces.
2. It does not integrate with std, redefines its own independent container and streaming library.
Another downside of QT is IMHO being not open-source and being controlled by a specific company, which makes it hard to implement new/special OS.
Most other existing libraries are designed with structured C API's and share most of downsides of QT as mention earlier.
In short words, I really wish to see an elegant std GUI lib around but I do not hope - at least not in near future. Somebody - please - prove me wrong.