# {py:mod}`simvx.core.port_helpers.procedural_textures` ```{py:module} simvx.core.port_helpers.procedural_textures ``` ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures :allowtitles: ``` ## Module Contents ### Functions ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`solid ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.solid :summary: ``` * - {py:obj}`checkerboard ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.checkerboard :summary: ``` * - {py:obj}`packed_grid ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.packed_grid :summary: ``` * - {py:obj}`sprite_atlas ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.sprite_atlas :summary: ``` * - {py:obj}`glyph ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.glyph :summary: ``` * - {py:obj}`text_strip ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.text_strip :summary: ``` ```` ### Data ````{list-table} :class: autosummary longtable :align: left * - {py:obj}`RGBA ` - ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.RGBA :summary: ``` ```` ### API ````{py:data} RGBA :canonical: simvx.core.port_helpers.procedural_textures.RGBA :value: > None ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.RGBA ``` ```` ````{py:function} solid(size: int | tuple[int, int], colour: simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int]) -> numpy.ndarray :canonical: simvx.core.port_helpers.procedural_textures.solid ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.solid ``` ```` ````{py:function} checkerboard(size: int | tuple[int, int] = 64, cell: int = 8, light: simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int] = (220, 220, 220), dark: simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int] = (60, 60, 60)) -> numpy.ndarray :canonical: simvx.core.port_helpers.procedural_textures.checkerboard ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.checkerboard ``` ```` ````{py:function} packed_grid(cell_size: int, columns: int, rows: int, colours: collections.abc.Sequence[simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int]], *, line_colour: simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int] | None = None, line_width: int = 0) -> numpy.ndarray :canonical: simvx.core.port_helpers.procedural_textures.packed_grid ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.packed_grid ``` ```` ````{py:function} sprite_atlas(frames: collections.abc.Iterable[numpy.ndarray], *, columns: int | None = None) -> tuple[numpy.ndarray, int, int] :canonical: simvx.core.port_helpers.procedural_textures.sprite_atlas ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.sprite_atlas ``` ```` ````{py:function} glyph(ch: str, *, scale: int = 1, colour: simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int] = (255, 255, 255), background: simvx.core.port_helpers.procedural_textures.RGBA = (0, 0, 0, 0)) -> numpy.ndarray :canonical: simvx.core.port_helpers.procedural_textures.glyph ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.glyph ``` ```` ````{py:function} text_strip(text: str, *, scale: int = 2, colour: simvx.core.port_helpers.procedural_textures.RGBA | tuple[int, int, int] = (255, 255, 255), spacing: int = 1, background: simvx.core.port_helpers.procedural_textures.RGBA = (0, 0, 0, 0)) -> numpy.ndarray :canonical: simvx.core.port_helpers.procedural_textures.text_strip ```{autodoc2-docstring} simvx.core.port_helpers.procedural_textures.text_strip ``` ````