Source code for pygame_menu.widgets.widget.none

"""
pygame-menu
https://github.com/ppizarror/pygame-menu

NONE WIDGET
None widget definition.

License:
-------------------------------------------------------------------------------
The MIT License (MIT)
Copyright 2017-2021 Pablo Pizarro R. @ppizarror

Permission is hereby granted, free of charge, to any person obtaining a
copy of this software and associated documentation files (the "Software"),
to deal in the Software without restriction, including without limitation
the rights to use, copy, modify, merge, publish, distribute, sublicense,
and/or sell copies of the Software, and to permit persons to whom the Software
is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-------------------------------------------------------------------------------
"""

__all__ = ['NoneWidget']

import pygame

from pygame_menu.utils import make_surface
from pygame_menu.widgets.core.widget import Widget, WidgetTransformationNotImplemented

from pygame_menu._types import Optional, NumberType, EventVectorType


# noinspection PyMissingOrEmptyDocstring
[docs]class NoneWidget(Widget): """ None widget. Useful if used for filling column/row layout. None widget don't accept values, padding, margin, cursors, position, sound, controls, and cannot be selected. Also, none widget cannot accept callbacks, except draw and update callbacks. .. note:: NoneWidget does not accept any transformation. :param widget_id: ID of the widget """ def __init__( self, widget_id: str = '' ) -> None: super(NoneWidget, self).__init__(widget_id=widget_id) self.is_selectable = False self._surface = make_surface(0, 0, alpha=True) def _apply_font(self) -> None: pass def set_padding(self, *args, **kwargs) -> 'NoneWidget': return self def get_selected_time(self) -> NumberType: return 0 def set_title(self, *args, **kwargs) -> 'NoneWidget': return self def get_rect(self, *args, **kwargs) -> 'pygame.Rect': return pygame.Rect(0, 0, 0, 0) def set_background_color(self, *args, **kwargs) -> 'NoneWidget': return self def _draw_background_color(self, *args, **kwargs) -> None: pass def _draw_border(self, *args, **kwargs) -> None: pass def set_selection_effect(self, *args, **kwargs) -> 'NoneWidget': return self def apply(self, *args) -> None: pass def change(self, *args) -> None: pass def _draw(self, *args, **kwargs) -> None: pass def _render(self, *args, **kwargs) -> Optional[bool]: pass def set_margin(self, *args, **kwargs) -> 'NoneWidget': return self def _apply_transforms(self, *args, **kwargs) -> None: pass def set_font(self, *args, **kwargs) -> 'NoneWidget': return self def update_font(self, *args, **kwargs) -> 'NoneWidget': return self def set_position(self, *args, **kwargs) -> 'NoneWidget': return self def scale(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def resize(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def set_max_width(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def set_max_height(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def rotate(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def flip(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def translate(self, *args, **kwargs) -> 'NoneWidget': raise WidgetTransformationNotImplemented() def set_alignment(self, *args, **kwargs) -> 'NoneWidget': return self def select(self, *args, **kwargs) -> 'NoneWidget': return self def set_font_shadow(self, *args, **kwargs) -> 'NoneWidget': return self def set_sound(self, *args, **kwargs) -> 'NoneWidget': return self def set_cursor(self, *args, **kwargs) -> 'NoneWidget': return self def set_controls(self, *args, **kwargs) -> 'NoneWidget': return self def set_border(self, *args, **kwargs) -> 'NoneWidget': return self def _check_mouseover(self, *args, **kwargs) -> bool: self._mouseover = False return False def mouseleave(self, *args, **kwargs) -> 'NoneWidget': return self def mouseover(self, *args, **kwargs) -> 'NoneWidget': return self def set_onchange(self, *args, **kwargs) -> 'NoneWidget': self._onchange = None return self def set_onreturn(self, *args, **kwargs) -> 'NoneWidget': self._onreturn = None return self def set_onmouseleave(self, *args, **kwargs) -> 'NoneWidget': self._onmouseleave = None return self def set_onmouseover(self, *args, **kwargs) -> 'NoneWidget': self._onmouseover = None return self def set_onselect(self, *args, **kwargs) -> 'NoneWidget': self._onselect = None return self
[docs] def set_tab_size(self, *args, **kwargs) -> 'NoneWidget': return self
[docs] def update(self, events: EventVectorType) -> bool: self.apply_update_callbacks(events) return False