@staticmethod
def pinball_states(width=5, ball='*'):
    """Get pinball-style animation states

        Example::

            lh = Spinner(Spinner.pinball_states())

        :param int width: desired state width (default: 5)
        :param str ball: ball character (default: '*')
        :returns: pinball states
        :rtype: [str]
        """
    if width <= 1:
        return '|\\'
    elif width == 2:
        return ['||', '\\/']
    elif width == 3:
        return ['\\*|', '|*/']
    w3 = width - 3
    rstates = []
    lstates = []
    for i in range(1, w3):
        lsp = ' ' * i
        rsp = ' ' * (w3 - i)
        rstates.append('|' + lsp + ball + rsp + '|')
        lstates.append('|' + rsp + ball + lsp + '|')
    sp = ' ' * w3
    return ['\\' + ball + sp + '|'] + rstates + ['|' + sp + ball + '/'
        ] + lstates
