#####################
#### OPPGAVE 1  #####
#####################

def draw_face_fixed(canvas):
    # Face background
    canvas.create_oval(0, 0, 400, 400, fill='pink')

    # Eyes
    canvas.create_oval(100, 100, 130, 150, fill='red')
    canvas.create_oval(270, 100, 300, 150, fill='red')

    # Mouth
    canvas.create_line(
        100, 300,
        200, 370,
        300, 300,
        fill='red', width=8, smooth=True
    )


#####################
#### OPPGAVE 2  #####
#####################

def draw_face_scaled(canvas, width, height):
    scale_x = width/400
    scale_y = height/400
        # Face background
    canvas.create_oval(
        0 * scale_x, 0 * scale_y,
        400 * scale_x, 400 * scale_y,
        fill='pink'
    )

    # Eyes
    canvas.create_oval(
        100 * scale_x, 100 * scale_y,
        130 * scale_x, 150 * scale_y,
        fill='red'
    )
    canvas.create_oval(
        270 * scale_x, 100 * scale_y,
        300 * scale_x, 150 * scale_y,
    fill='red')

    # Mouth
    canvas.create_line(
        100 * scale_x, 300 * scale_y,
        200 * scale_x, 370 * scale_y,
        300 * scale_x, 300 * scale_y,
        fill='red', width=8, smooth=True
    )


#####################
#### OPPGAVE 3  #####
#####################

def draw_face_shifted(canvas, x_lft, y_top, width, height):
    scale_x = width/400
    scale_y = height/400

    # Face background
    canvas.create_oval(
        0 * scale_x + x_lft, 0 * scale_y + y_top,
        400 * scale_x + x_lft, 400 * scale_y + y_top,
        fill='pink'
    )

    # Eyes
    canvas.create_oval(
        100 * scale_x + x_lft, 100 * scale_y + y_top,
        130 * scale_x + x_lft, 150 * scale_y + y_top,
        fill='red'
    )
    canvas.create_oval(
        270 * scale_x + x_lft, 100 * scale_y + y_top,
        300 * scale_x + x_lft, 150 * scale_y + y_top,
    fill='red')

    # Mouth
    canvas.create_line(
        100 * scale_x + x_lft, 300 * scale_y + y_top,
        200 * scale_x + x_lft, 370 * scale_y + y_top,
        300 * scale_x + x_lft, 300 * scale_y + y_top,
        fill='red', width=8, smooth=True
    )


#####################
#### OPPGAVE 3  #####
#####################

def draw_face_at(canvas, x_center, y_center, radius):
    x_lft = x_center - radius
    y_top = y_center - radius
    width = 2 * radius
    height = 2 * radius
    draw_face_shifted(canvas, x_lft, y_top, width, height)


if __name__ == "__main__":
    import face_view
