Source code for ggame.line

from ggame.mathapp import _MathVisual
from ggame.asset import LineAsset


[docs]class LineSegment(_MathVisual): """ Create a line segment on the screen. This is a subclass of :class:`~ggame.sprite.Sprite` and :class:`~ggame.mathapp._MathVisual` but most of the inherited members are of little use and are not shown in the documentation. :param \*args: See below :param \**kwargs: See below :Required Arguments: * **pos** (*tuple(float,float)*) Starting point of the segment, which may be a literal tuple of floats, or a reference to any object or function that returns or evaluates to a tuple of floats. * **end** (*tuple(float,float)*) Ending point of the segment (see above) :Optional Keyword Arguments: * **positioning** (*str*) One of 'logical' or 'physical' * **style** (*LineStyle*) Valid :class:`~ggame.asset.LineStyle` object Example:: from ggame.point import Point from ggame.line import LineSegment from ggame.mathapp import MathApp p1 = Point((2,1)) ls = LineSegment(p1, Point((1,1))) MathApp().run() """ _posinputsdef = ['pos','end'] def __init__(self, *args, **kwargs): super().__init__(LineAsset(0,0, self._defaultstyle), *args, **kwargs) self._touchAsset() def _buildAsset(self): start = self._pposinputs.pos end = self._pposinputs.end self.position = start return LineAsset(end[0]-start[0], end[1]-start[1], self._stdinputs.style())
[docs] def physicalPointTouching(self, ppos): """ This method always returns False. """ return False
[docs] def translate(self, pdisp): """ This method is not implemented. """ pass