As D has capabilities to interface directly with C++ virtual classes, it makes sense to use it for those classes that doesn't expose pointer to it through other class such as IEventReceiver. We need to create a class in D that inherit from exten (C++) IEventReceiver and then make it a base class for EventReceiver. That's the only way to support GUI events. As using DSFML/SDL events through postEventFromUser for GUI is ugly.
As D has capabilities to interface directly with C++ virtual classes, it makes sense to use it for those classes that doesn't expose pointer to it through other class such as IEventReceiver. We need to create a class in D that inherit from exten (C++) IEventReceiver and then make it a base class for EventReceiver. That's the only way to support GUI events. As using DSFML/SDL events through postEventFromUser for GUI is ugly.