#pragma once #include #include namespace NXKit { class UIImageView: public UIView { public: static std::shared_ptr init() { return new_shared(); } explicit UIImageView(std::shared_ptr image = nullptr); explicit UIImageView(NXRect frame); void setImage(const std::shared_ptr& image); std::shared_ptr image() { return _image; } // void sizeToFit() override; NXSize sizeThatFits(NXSize size) override; bool applyXMLAttribute(const std::string& name, const std::string& value) override; private: std::shared_ptr _image; void updateTextureFromImage(); }; }