# Path: ggame/asset.py
# class Frame(object):  # pylint: disable=useless-object-inheritance
#     """
#     Frame is a utility class for expressing the idea of a rectangular region.
# 
#     Initializing parameters describe the position of the upper-left corner
#     of the frame, and the frame's width and height. The units are *typically*
#     in pixels, though a frame can be generic.
# 
#     :param int x: X-coordinate of frame upper-left corner
#     :param int y: Y-coordinate of frame upper-left corner
#     :param int w: Width of the frame
#     :param int h: Height of the frame
#     """
# 
#     def __init__(self, x, y, w, h):
# 
#         self.gfx = GFX_Rectangle(x, y, w, h)
#         """
#         `_gfx` is a reference to the underlying object provided by the system.
#         """
#         self.x = x
#         self.y = y
#         self.w = w
#         self.h = h
# 
#     @property
#     def x(self):
#         """
#         X-coordinate of the upper left hand corner of this frame.
#         """
#         return self.gfx.x
# 
#     @x.setter
#     def x(self, value):
#         self.gfx.x = value
# 
#     @property
#     def y(self):
#         """
#         Y-coordinate of the upper left hand corner of this frame.
#         """
#         return self.gfx.y
# 
#     @y.setter
#     def y(self, value):
#         self.gfx.y = value
# 
#     @property
#     def w(self):
#         """
#         Width of the frame.
#         """
#         return self.gfx.width
# 
#     @w.setter
#     def w(self, value):
#         self.gfx.width = value
# 
#     @property
#     def h(self):
#         """
#         Height of the frame.
#         """
#         return self.gfx.height
# 
#     @h.setter
#     def h(self, value):
#         self.gfx.height = value
# 
#     @property
#     def center(self):
#         """
#         The `center` property computes a coordinate pair (tuple) for the
#         center of the frame.
# 
#         The `center` property, when set, redefines the `x` and `y` properties
#         of the frame in order to make the center agree with the coordinates
#         (tuple) assigned to it.
#         """
# 
#         return (self.x + self.w // 2, self.y + self.h // 2)
# 
#     @center.setter
#     def center(self, value):
#         c = self.center
#         self.x += value[0] - c[0]
#         self.y += value[1] - c[1]


from ggame.point import ImagePoint
from ggame.asset import Frame
        kwargs.setdefault("frame", Frame(0, 0, 110, 150))
        super().__init__(
            self.getImagePath("toggle-up-down.png"),
            [True, False],
            initindex,
            *args,
            **kwargs
        )
        self.scale = 0.4


class GlassButton(InputImageButton):
    """
    Glass button input control that triggers a callback when clicked.

    :Required Inputs:

    :param function callback: Reference to a function to execute, passing this button
        object as an argument.
    :param (float,float) pos: Position in physical or logical units. May be a
        :class:`ggame.point.Point` instance, a literal (x,y) pair, or a function
        that returns an (x,y) pair.

    Example:

    .. literalinclude:: ../examples/inputpointglassbutton.py

    """

    def __init__(self, callback, *args, **kwargs):

# Path: ggame/asset.py
# class Frame(object):  # pylint: disable=useless-object-inheritance
#     """
#     Frame is a utility class for expressing the idea of a rectangular region.
# 
#     Initializing parameters describe the position of the upper-left corner
#     of the frame, and the frame's width and height. The units are *typically*
#     in pixels, though a frame can be generic.
# 
#     :param int x: X-coordinate of frame upper-left corner
#     :param int y: Y-coordinate of frame upper-left corner
#     :param int w: Width of the frame
#     :param int h: Height of the frame
#     """
# 
#     def __init__(self, x, y, w, h):
# 
#         self.gfx = GFX_Rectangle(x, y, w, h)
#         """
#         `_gfx` is a reference to the underlying object provided by the system.
#         """
#         self.x = x
#         self.y = y
#         self.w = w
#         self.h = h
# 
#     @property
#     def x(self):
#         """
#         X-coordinate of the upper left hand corner of this frame.
#         """
#         return self.gfx.x
# 
#     @x.setter
#     def x(self, value):
#         self.gfx.x = value
# 
#     @property
#     def y(self):
#         """
#         Y-coordinate of the upper left hand corner of this frame.
#         """
#         return self.gfx.y
# 
#     @y.setter
#     def y(self, value):
#         self.gfx.y = value
# 
#     @property
#     def w(self):
#         """
#         Width of the frame.
#         """
#         return self.gfx.width
# 
#     @w.setter
#     def w(self, value):
#         self.gfx.width = value
# 
#     @property
#     def h(self):
#         """
#         Height of the frame.
#         """
#         return self.gfx.height
# 
#     @h.setter
#     def h(self, value):
#         self.gfx.height = value
# 
#     @property
#     def center(self):
#         """
#         The `center` property computes a coordinate pair (tuple) for the
#         center of the frame.
# 
#         The `center` property, when set, redefines the `x` and `y` properties
#         of the frame in order to make the center agree with the coordinates
#         (tuple) assigned to it.
#         """
# 
#         return (self.x + self.w // 2, self.y + self.h // 2)
# 
#     @center.setter
#     def center(self, value):
#         c = self.center
#         self.x += value[0] - c[0]
#         self.y += value[1] - c[1]


# Path: ggame/inputpoint.py
from ggame.point import ImagePoint
from ggame.asset import Frame

        kwargs.setdefault("frame", Frame(0, 0, 110, 150))
        super().__init__(
            self.getImagePath("toggle-up-down.png"),
            [True, False],
            initindex,
            *args,
            **kwargs
        )
        self.scale = 0.4


class GlassButton(InputImageButton):
    """
    Glass button input control that triggers a callback when clicked.

    :Required Inputs:

    :param function callback: Reference to a function to execute, passing this button
        object as an argument.
    :param (float,float) pos: Position in physical or logical units. May be a
        :class:`ggame.point.Point` instance, a literal (x,y) pair, or a function
        that returns an (x,y) pair.

    Example:

    .. literalinclude:: ../examples/inputpointglassbutton.py

    """

    def __init__(self, callback, *args, **kwargs):

        kwargs.setdefault("frame", Frame(0, 0, 100, 100))