def make_remaining_list_shapes(self, data):
        shapes_on_image = []
        list = data.get(VIZ_KEY_BALL_POSSIBLE_LIST, [])

        rectangle_width = 100
        left = self.image_width - rectangle_width

        number = 0
        texts = []
        for ball in list:
            distance = ball.distance
            u = ball.u
            v = ball.v
            rating = ball.rating
            radius = ball.radius
            rating_text = "rat: %.0f" % rating
            distance_text = "Dist: %.0f" % distance
            u_text = "u: %.0f " % u
            v_text = "v: %.0f" % v
            y_start = number * 60 + 10
            start_text = "Ball " + str(number)

            x, y, radius = transform_relative_to_pixel(ball.x, ball.y, radius, self.image_width, self.image_height)

            # make white number
            shapes_on_image.extend(white_text(x, y, str(number)))

            # text for the legend
            legend_string = [start_text, rating_text, distance_text, u_text, v_text]
            texts.extend(legend_string)
            number += 1

        return shapes_on_image, texts
 def make_far_out_shapes(self, data):
     shapes = []
     for info in data[VIZ_KEY_BALL_FAR_OUT]:
         x, y, radius, dist = info
         x, y, radius = transform_relative_to_pixel(x, y, radius, self.image_width, self.image_height)
         relation = dist / self.max_ball_distance
         shapes.extend(red_ball(x, y, radius))
         shapes.extend(white_text(x, y, "F: %.0f" % relation))
     return shapes
    def legend_header(self, width, nr_colums, x_start, y_start):
        x = x_start
        y = y_start

        shapes = []
        shapes.extend(white_text(x, y, "General Information"))
        x += width/nr_colums
        shapes.extend(white_text(x, y, "Ball Information"))
        x += width/nr_colums
        shapes.extend(white_text(x, y, "Goal Information"))
        x += width/nr_colums
        shapes.extend(white_text(x, y, "Key Bindings"))
        x += width/nr_colums
        shapes.extend(white_text(x, y, "")) #still keybining
        y += 3
        shapes.extend(white_line(0, y, width, y))

        return shapes