def findKeyframe(self, pos): x, y = pos for keyframe, value in self.keyframes.iteritems(): kx, ky = value if (between(kx - KW_MOUSE_WIDTH, x, kx + KW_MOUSE_WIDTH) and between(ky - KW_MOUSE_HEIGHT, y, ky + KW_MOUSE_HEIGHT)): return keyframe return None
def findKeyframe(self, pos): x, y = pos for keyframe, value in self.keyframes.iteritems(): kx, ky = value if between(kx - KW_MOUSE_WIDTH, x, kx + KW_MOUSE_WIDTH) and between(ky - KW_MOUSE_HEIGHT, y, ky + KW_MOUSE_HEIGHT): return keyframe return None
def findSegment(self, time): before = self.interpolator.start after = self.interpolator.end for keyframe in self.keyframes.iterkeys(): if between(before.time, keyframe.time, time): before = keyframe if between(time, keyframe.time, after.time): after = keyframe assert before.time <= after.time return before, after
def do_simple_is_item_at(self, x, y, cr, pointer_event): if between(0, x, self.visible_width) and between(KW_LABEL_Y_OVERFLOW, y, self.height + KW_LABEL_Y_OVERFLOW): x += self.bounds.x1 y += self.bounds.y1 cr.new_path() self.make_curve(cr) self.make_keyframes(cr) cr.set_line_width(10.0) return cr.in_stroke(x, y) or bool(self.findKeyframe((x, y))) return False