#pragma once #include namespace NXKit { class UITraitEnvironment { public: std::shared_ptr traitCollection() const { return _traitCollection; } virtual void traitCollectionDidChange(std::shared_ptr previousTraitCollection); protected: friend bool applicationRunLoop(); friend class UIWindow; friend class UIViewController; friend class UIView; std::shared_ptr _traitCollection; virtual void invalidateTraitCollection() {} }; }