def METHOD_NAME(self, event):
    # Determine which arrow was clicked; use a rectangular approximation.
    x = event.x - (self.x + self.width / 2)
    y = event.y - (self.y + self.height / 2)
    half_length = self.triangle_length / 2 * self.scale
    half_width = self.triangle_width / 2 * self.scale
    offset = self.spacing * self.scale
    # Create dict mapping direction to (x, y, x2, y2)
    near = offset - half_length
    far = offset + half_length
    rects = {
        "n": array((-half_width, near, half_width, far)),
        "e": array((near, -half_width, far, half_width)),
        "s": array((-half_width, -far, half_width, -near)),
        "w": array((-far, -half_width, -near, half_width)),
    }
    if self.enable_center:
        rects["c"] = array((-near, -near, near, near))
    for direction, rect in rects.items():
        if (rect[0] <= x <= rect[2]) and (rect[1] <= y <= rect[3]):
            self.event_state = "clicked"
            self.clicked = direction
            self.mouse_down(direction)
            self.request_redraw()
            break
    event.handled = True