from enum import Enum


class ShowdownClicksPrompt(str, Enum):
    PROMPT_NORMALIZED_CLICK = """Given the screenshot and the instruction below, output a click that completes the instruction.
FYI, the screenshot resolution is {resolution}.

Just write your action as follows:

Action: click(0.XXX, 0.YYY)

With 0.XXX and 0.YYY the normalized coordinates of the click position on the screenshot, representing relative horizontal (X-axis) and vertical (Y-axis) positions on the screen respectively.

For example, this action would click towards the top left of the screen:
Action: click(0.254, 0.753)

Keep the answer concise and to the point. The action should be formatted as above.

Now write the click needed to complete the instruction:
Instruction: {instruction}
"""

    PROMPT_ABSOLUTE_CLICK = """Given the screenshot and the instruction below, output a click that completes the instruction.
FYI, the screenshot resolution is {resolution}.

Just write your action as follows:

Action: click(x, y)
With x the number of pixels from the left edge and y the number of pixels from the top edge.

Now write the click needed to complete the instruction:
Instruction: {instruction}
"""

    PROMPT_ABSOLUTE_CLICK_UITARS = """Given the screenshot and the instruction below, output a click that completes the instruction.
FYI, the screenshot resolution is {resolution}.

Just write your action as follows:

Action: click(point='<point>x y</point>')

With x the number of pixels from the left edge and y the number of pixels from the top edge.

Now write the click needed to complete the instruction:
Instruction: {instruction}
"""

    PROMPT_ABSOLUTE_CLICK_H = """Localize an element on the GUI image according to my instructions and output a click position as Click(x, y) with x num pixels from the left edge and y num pixels from the top edge
    {instruction}"""
