50 std::set<rect, fragment_less_than> used;
51 std::set<rect, fragment_less_than> freed;
52 bool insert(
const size& aSize,
rect& aResult)
54 if (pack.
insert(aSize, aResult))
63 typedef std::pair<texture, fragments> page;
64 typedef std::list<page> pages;
65 typedef std::pair<pages::iterator, neogfx::sub_texture> entry;
66 typedef std::unordered_map<texture_id, entry> entries;
77 const size& page_size()
const;
i_sub_texture & sub_texture(texture_id aSubTextureId) override
i_sub_texture & create_sub_texture(const i_image &aImage) override
void destroy_sub_texture(i_sub_texture &aSubTexture) override
i_sub_texture & create_sub_texture(const size &aSize, dimension aDpiScaleFactor, texture_sampling aSampling, texture_data_format aDataFormat=texture_data_format::RGBA) override
i_sub_texture & create_sub_texture(const i_image &aImage, const rect &aImagePart) override
const i_sub_texture & sub_texture(texture_id aSubTextureId) const override
texture_atlas(const size &aPageSize)
bool operator()(const rect &aLhs, const rect &aRhs) const