How does wxWidgets support platform-specific features?
This is a hotly-debated topic amongst the developers. My own philosophy is to make wxWidgets as platform-independent as possible, but allow in a few classes (functions, window styles) that are platform-specific. For example, Windows metafiles and Windows 95 taskbar icons have their own classes on Windows, but nowhere else. Because these classes are provided and are wxWidgets-compatible, it doesn’t take much coding effort for an application programmer to add support for some functionality that the user on a particular platform might otherwise miss. Also, some classes that started off as platform-specific, such as the MDI classes, have been emulated on other platforms. I can imagine that even wxTaskBarIcon may be implemented for Unix desktops one day. In other words, wxWidgets is not a ‘lowest common denominator’ approach, but it will still be possible to write portable programs using the core API. Forbidding some platform-specific classes would be a stupid approach that would alienate m