A theme‑aware icon that can be recoloured with a flat colour or a gradient.
The original PNG must be a white shape on a transparent background.
Scaling is performed once per requested size.
def __init__(self: Any, icon_filename: str, size: Optional[int] = None) -> Any
def get_surface(self: Any, color: Union[Color, Tuple[int, int, int], ColorKeys, None], gradient_type: Literal['linear', 'radial'] = 'linear', gradient_angle: float = 0.0) -> pygame.Surface
def _apply_flat_color(self: Any, color: Union[Color, Tuple[int, int, int], None]) -> pygame.Surface
def _apply_gradient(self: Any, color_keys: ColorKeys, gradient_type: str = 'linear', angle: float = 0.0) -> pygame.Surface
def clear_cache(self: Any) -> None
Factory class for all built‑in icons.
Each static method returns an Icon instance for the corresponding PNG.
The optional `size` parameter sets the desired square size.
_ALL_ICON_NAMES: Any = ['success', 'info', 'warn', 'error', 'home', 'folder', 'plus', 'cross', 'search', 'settings', 'save', 'load', 'picture']
def SUCCESS(cls: Any, size: Optional[int] = None) -> Icon
def INFO(cls: Any, size: Optional[int] = None) -> Icon
def WARN(cls: Any, size: Optional[int] = None) -> Icon
def ERROR(cls: Any, size: Optional[int] = None) -> Icon
def HOME(cls: Any, size: Optional[int] = None) -> Icon
def HOUSE(cls: Any, size: Optional[int] = None) -> Icon
def FOLDER(cls: Any, size: Optional[int] = None) -> Icon
def PLUS(cls: Any, size: Optional[int] = None) -> Icon
def CROSS(cls: Any, size: Optional[int] = None) -> Icon
def SEARCH(cls: Any, size: Optional[int] = None) -> Icon
def SETTINGS(cls: Any, size: Optional[int] = None) -> Icon
def SAVE(cls: Any, size: Optional[int] = None) -> Icon
def LOAD(cls: Any, size: Optional[int] = None) -> Icon
def PICTURE(cls: Any, size: Optional[int] = None) -> Icon
def UNLOCK(cls: Any, size: Optional[int] = None) -> Icon
def LOCK(cls: Any, size: Optional[int] = None) -> Icon
def KEY(cls: Any, size: Optional[int] = None) -> Icon
def FILE(cls: Any, size: Optional[int] = None) -> Icon
def WRENCH(cls: Any, size: Optional[int] = None) -> Icon
def HAMMER(cls: Any, size: Optional[int] = None) -> Icon
def SHIELD(cls: Any, size: Optional[int] = None) -> Icon
def ENGINE(cls: Any, size: Optional[int] = None) -> Icon
def BACK(cls: Any, size: Optional[int] = None) -> Icon
def STEAM(cls: Any, size: Optional[int] = None) -> Icon
def DISCORD(cls: Any, size: Optional[int] = None) -> Icon
def YOUTUBE(cls: Any, size: Optional[int] = None) -> Icon
def GITHUB(cls: Any, size: Optional[int] = None) -> Icon
def get_icon(cls: Any, name: str, size: Optional[int] = None) -> Icon
def get_all(cls: Any, size: Optional[int] = None) -> List[Icon]
def get_all_dict(cls: Any, size: Optional[int] = None) -> Dict[str, Icon]
def get_all_names(cls: Any) -> List[str]