# {py:mod}`simvx.core.atlas` ```{py:module} simvx.core.atlas ``` ```{autodoc2-docstring} simvx.core.atlas :allowtitles: ``` ## Module Contents ### Classes ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`AtlasTexture ` - ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture :summary: ``` * - {py:obj}`TextureAtlas ` - ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas :summary: ``` * - {py:obj}`SpriteSheet ` - ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet :summary: ``` ```` ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`pack_atlas ` - ```{autodoc2-docstring} simvx.core.atlas.pack_atlas :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`log ` - ```{autodoc2-docstring} simvx.core.atlas.log :summary: ``` * - {py:obj}`__all__ ` - ```{autodoc2-docstring} simvx.core.atlas.__all__ :summary: ``` ```` ### API ````{py:data} log :canonical: simvx.core.atlas.log :value: > 'getLogger(...)' ```{autodoc2-docstring} simvx.core.atlas.log ``` ```` ````{py:data} __all__ :canonical: simvx.core.atlas.__all__ :value: > ['AtlasTexture', 'TextureAtlas', 'SpriteSheet', 'pack_atlas'] ```{autodoc2-docstring} simvx.core.atlas.__all__ ``` ```` `````{py:class} AtlasTexture(atlas: simvx.core.atlas.TextureAtlas | str | None = None, region: tuple[int, int, int, int] = (0, 0, 0, 0), margin: tuple[int, int, int, int] = (0, 0, 0, 0)) :canonical: simvx.core.atlas.AtlasTexture ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.__init__ ``` ````{py:attribute} __slots__ :canonical: simvx.core.atlas.AtlasTexture.__slots__ :value: > ('atlas', 'region', 'margin') ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.__slots__ ``` ```` ````{py:property} x :canonical: simvx.core.atlas.AtlasTexture.x :type: int ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.x ``` ```` ````{py:property} y :canonical: simvx.core.atlas.AtlasTexture.y :type: int ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.y ``` ```` ````{py:property} width :canonical: simvx.core.atlas.AtlasTexture.width :type: int ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.width ``` ```` ````{py:property} height :canonical: simvx.core.atlas.AtlasTexture.height :type: int ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.height ``` ```` ````{py:method} get_uv_rect(atlas_width: int, atlas_height: int) -> tuple[float, float, float, float] :canonical: simvx.core.atlas.AtlasTexture.get_uv_rect ```{autodoc2-docstring} simvx.core.atlas.AtlasTexture.get_uv_rect ``` ```` ````{py:method} __repr__() -> str :canonical: simvx.core.atlas.AtlasTexture.__repr__ ```` ````{py:method} __eq__(other: object) -> bool :canonical: simvx.core.atlas.AtlasTexture.__eq__ ```` ````` `````{py:class} TextureAtlas(width: int = 0, height: int = 0, texture_path: str | None = None) :canonical: simvx.core.atlas.TextureAtlas ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.__init__ ``` ````{py:method} add_region(name: str, x: int, y: int, w: int, h: int) -> simvx.core.atlas.AtlasTexture :canonical: simvx.core.atlas.TextureAtlas.add_region ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.add_region ``` ```` ````{py:method} get_region(name: str) -> simvx.core.atlas.AtlasTexture | None :canonical: simvx.core.atlas.TextureAtlas.get_region ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.get_region ``` ```` ````{py:method} remove_region(name: str) -> bool :canonical: simvx.core.atlas.TextureAtlas.remove_region ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.remove_region ``` ```` ````{py:method} has_region(name: str) -> bool :canonical: simvx.core.atlas.TextureAtlas.has_region ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.has_region ``` ```` ````{py:property} region_count :canonical: simvx.core.atlas.TextureAtlas.region_count :type: int ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.region_count ``` ```` ````{py:property} region_names :canonical: simvx.core.atlas.TextureAtlas.region_names :type: list[str] ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.region_names ``` ```` ````{py:method} get_uv(name: str) -> tuple[float, float, float, float] :canonical: simvx.core.atlas.TextureAtlas.get_uv ```{autodoc2-docstring} simvx.core.atlas.TextureAtlas.get_uv ``` ```` ````{py:method} __repr__() -> str :canonical: simvx.core.atlas.TextureAtlas.__repr__ ```` ````` `````{py:class} SpriteSheet(texture_path: str | None = None, frame_width: int = 0, frame_height: int = 0, columns: int = 0, rows: int = 0, margin: int = 0, spacing: int = 0) :canonical: simvx.core.atlas.SpriteSheet Bases: {py:obj}`simvx.core.atlas.TextureAtlas` ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet ``` ```{rubric} Initialization ``` ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet.__init__ ``` ````{py:property} frame_count :canonical: simvx.core.atlas.SpriteSheet.frame_count :type: int ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet.frame_count ``` ```` ````{py:method} get_frame(index: int) -> simvx.core.atlas.AtlasTexture | None :canonical: simvx.core.atlas.SpriteSheet.get_frame ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet.get_frame ``` ```` ````{py:method} get_frame_rect(index: int) -> tuple[int, int, int, int] :canonical: simvx.core.atlas.SpriteSheet.get_frame_rect ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet.get_frame_rect ``` ```` ````{py:method} get_frame_uv(index: int) -> tuple[float, float, float, float] :canonical: simvx.core.atlas.SpriteSheet.get_frame_uv ```{autodoc2-docstring} simvx.core.atlas.SpriteSheet.get_frame_uv ``` ```` ````{py:method} __repr__() -> str :canonical: simvx.core.atlas.SpriteSheet.__repr__ ```` ````{py:method} add_region(name: str, x: int, y: int, w: int, h: int) -> simvx.core.atlas.AtlasTexture :canonical: simvx.core.atlas.SpriteSheet.add_region ```` ````{py:method} get_region(name: str) -> simvx.core.atlas.AtlasTexture | None :canonical: simvx.core.atlas.SpriteSheet.get_region ```` ````{py:method} remove_region(name: str) -> bool :canonical: simvx.core.atlas.SpriteSheet.remove_region ```` ````{py:method} has_region(name: str) -> bool :canonical: simvx.core.atlas.SpriteSheet.has_region ```` ````{py:property} region_count :canonical: simvx.core.atlas.SpriteSheet.region_count :type: int ```` ````{py:property} region_names :canonical: simvx.core.atlas.SpriteSheet.region_names :type: list[str] ```` ````{py:method} get_uv(name: str) -> tuple[float, float, float, float] :canonical: simvx.core.atlas.SpriteSheet.get_uv ```` ````` ````{py:function} pack_atlas(sizes: list[tuple[str, int, int]], padding: int = 1) -> tuple[int, int, dict[str, tuple[int, int, int, int]]] :canonical: simvx.core.atlas.pack_atlas ```{autodoc2-docstring} simvx.core.atlas.pack_atlas ``` ````