def create_star(cls): poly = cls() poly.append(core.PointF(1.0, 0.5)) for i in range(1, 5): val = 0.8 * i * math.pi point = core.PointF(0.5 + 0.5 * math.cos(val), 0.5 + 0.5 * math.sin(val)) poly.append(point) return poly
def create_diamond(cls): points = [ core.PointF(0.4, 0.5), core.PointF(0.5, 0.4), core.PointF(0.6, 0.5), core.PointF(0.5, 0.6), core.PointF(0.4, 0.5), ] poly = gui.PolygonF() poly.add_points(*points) return poly
def serialize_fields(self): return dict( enabled=self.isEnabled(), opacity=self.opacity(), pos=core.PointF(self.pos()), # z=self.z(), rotation=self.rotation(), scale=self.scale(), transform_origin_point=core.PointF(self.transformOriginPoint()), visible=self.isVisible(), graphics_effect=self.graphicsEffect(), )
def handle_input( self, input_type: InputStr, position: types.PointFType, timestamp: int = 0 ) -> bool: if isinstance(position, tuple): position = core.PointF(*position) if input_type not in INPUT: raise InvalidParamError(input_type, INPUT) return self.handleInput(INPUT[input_type], position, timestamp)
def test_linef(): line = core.LineF() p1 = core.PointF(0, 0) p2 = core.PointF(1, 0) line[0] = p1 line[1] = p2 assert line[0] == p1 assert line[1] == p2 assert line.get_center() == core.PointF(0.5, 0) line.get_normal_vector() line.get_unit_vector() line.to_line() line2 = core.LineF(1, 0, 0, 0) assert line2 == reversed(line) assert abs(line) == 1 for p in line: pass
def test_painterpath(): path = gui.PainterPath() rect = core.RectF(0, 0, 1, 1) path.addRect(rect) assert len(path) == 5 assert bool(path) assert core.PointF(0.5, 0.5) in path path[1] = (0.5, 0.5) path.add_rect(QtCore.QRect(0, 0, 1, 1))
def hit_test(self, point: types.PointFType, fuzzy: bool = False) -> int | None: if isinstance(point, tuple): point = core.PointF(*point) accuracy = ( QtCore.Qt.HitTestAccuracy.FuzzyHit if fuzzy else QtCore.Qt.HitTestAccuracy.ExactHit ) result = self.hitTest(point, accuracy) if result == -1: return None return result
def get_start_center_point(self) -> core.PointF: return core.PointF(self.startCenterPoint())
def get_last_center_point(self) -> core.PointF: return core.PointF(self.lastCenterPoint())
def set_p2(self, point: types.PointFType): self.setP2(core.PointF(*point) if isinstance(point, tuple) else point)
def get_position(self) -> core.PointF: return core.PointF(self.position())
def get_delta(self) -> core.PointF: return core.PointF(self.delta())
def get_final_stop(self) -> core.PointF: return core.PointF(self.finalStop())
def get_final_position(self) -> core.PointF: return core.PointF(self.finalPosition())
def get_point(self, index: int) -> core.PointF: return core.PointF(self.at(index))
def get_center(self) -> core.PointF: return core.PointF(self.center())
def get_focal_point(self) -> core.PointF: return core.PointF(self.focalPoint())
def get_scroll_position(self) -> core.PointF: return core.PointF(self.scrollPosition())
def test_pointf(): p = core.PointF() repr(p)
def get_p2(self) -> core.PointF: return core.PointF(self.p2())
def get_velocity(self) -> core.PointF: return core.PointF(self.velocity())
def get_last_offset(self) -> core.PointF: return core.PointF(self.lastOffset())
def __contains__(self, point: types.PointFType) -> bool: if isinstance(point, tuple): point = core.PointF(*point) return self.containsPoint(point, QtCore.Qt.FillRule.OddEvenFill)
def get_offset(self) -> core.PointF: return core.PointF(self.offset())
def add_points(self, *points: types.PointFType): for p in points: if isinstance(p, tuple): p = core.PointF(*p) self.append(p)
def to_pointf(self) -> core.PointF: return core.PointF(self.toPointF())
def get_start(self) -> core.PointF: return core.PointF(self.start())
def get_pixel_per_meter(self) -> core.PointF: return core.PointF(self.pixelPerMeter())
def get_hot_spot(self) -> core.PointF: return core.PointF(self.hotSpot())
def get_p1(self) -> core.PointF: return core.PointF(self.p1())