/usr/lib/python3/dist-packages/defcon/objects/point.py is in python3-defcon 0.3.5-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 | from __future__ import absolute_import
class Point(object):
"""
This object represents a single point.
"""
__slots__ = ["_x", "_y", "_segmentType", "_smooth", "_name", "_identifier"]
def __init__(self, coordinates, segmentType=None, smooth=False, name=None, identifier=None):
(x, y) = coordinates
super(Point, self).__init__()
self._x = x
self._y = y
self._segmentType = segmentType
self._smooth = smooth
self._name = name
self._identifier = identifier
def __repr__(self):
return "<%s position: (%s, %s) type: %s smooth: %s name: %s identifier: %s>" % (self.__class__.__name__, self.x, self.y, str(self.segmentType), str(self.smooth), str(self.name), str(self.identifier))
def _get_segmentType(self):
return self._segmentType
def _set_segmentType(self, value):
self._segmentType = value
segmentType = property(_get_segmentType, _set_segmentType, doc="The segment type. The positibilies are *move*, *line*, *curve*, *qcurve* and *None* (indicating that this is an off-curve point).")
def _get_x(self):
return self._x
def _set_x(self, value):
self._x = value
x = property(_get_x, _set_x, doc="The x coordinate.")
def _get_y(self):
return self._y
def _set_y(self, value):
self._y = value
y = property(_get_y, _set_y, doc="The y coordinate.")
def _get_smooth(self):
return self._smooth
def _set_smooth(self, value):
self._smooth = value
smooth = property(_get_smooth, _set_smooth, doc="A boolean indicating the smooth state of the point.")
def _get_name(self):
return self._name
def _set_name(self, value):
self._name = value
name = property(_get_name, _set_name, doc="An arbitrary name for the point.")
def move(self, values):
"""
Move the component by **(x, y)**.
"""
(x, y) = values
self.x += x
self.y += y
# ----------
# Identifier
# ----------
def _get_identifier(self):
return self._identifier
def _set_identifier(self, value):
# don't allow overwritting an existing identifier
if self._identifier is not None:
return
self._identifier = value
identifier = property(_get_identifier, _set_identifier, doc="The identifier.")
if __name__ == "__main__":
import doctest
doctest.testmod()
|