import math
from PIL import Image, ImageDraw

def draw_wrench(draw, color):
    # Centers
    cx_open, cy_open = 810, 160
    cx_closed, cy_closed = 720, 250
    
    # Draw shaft
    # Direction vector from closed to open: (90, -90)
    # Unit vector: dx = 0.7071, dy = -0.7071
    # Perpendicular vector: px = 0.7071, py = 0.7071
    dx, dy = 0.7071, -0.7071
    px, py = 0.7071, 0.7071
    half_w = 12
    
    p1 = (cx_closed - half_w * px, cy_closed - half_w * py)
    p2 = (cx_closed + half_w * px, cy_closed + half_w * py)
    p3 = (cx_open + half_w * px, cy_open + half_w * py)
    p4 = (cx_open - half_w * px, cy_open - half_w * py)
    
    draw.polygon([p1, p2, p3, p4], fill=color)
    
    # Draw open end outer circle
    draw.ellipse([cx_open - 38, cy_open - 38, cx_open + 38, cy_open + 38], fill=color)
    
    # Draw closed end outer circle
    draw.ellipse([cx_closed - 30, cy_closed - 30, cx_closed + 30, cy_closed + 30], fill=color)
    
    # Cut out the slot in open end (white polygon)
    # Slot of width 22, length 50, starting at cx_open, cy_open and going in direction (dx, dy)
    slot_half_w = 11
    s1 = (cx_open - slot_half_w * px, cy_open - slot_half_w * py)
    s2 = (cx_open + slot_half_w * px, cy_open + slot_half_w * py)
    s3 = (cx_open + 50 * dx + slot_half_w * px, cy_open + 50 * dy + slot_half_w * py)
    s4 = (cx_open + 50 * dx - slot_half_w * px, cy_open + 50 * dy - slot_half_w * py)
    draw.polygon([s1, s2, s3, s4], fill=(255, 255, 255, 255))
    
    # Draw a small circle at the base of the slot to make it round and clean
    draw.ellipse([cx_open - 11, cy_open - 11, cx_open + 11, cy_open + 11], fill=(255, 255, 255, 255))
    
    # Cut out closed end inner hole (white circle)
    draw.ellipse([cx_closed - 15, cy_closed - 15, cx_closed + 15, cy_closed + 15], fill=(255, 255, 255, 255))

im = Image.open('scratch/logo_s_only.png')
draw = ImageDraw.Draw(im)
color = (29, 32, 47, 255)

draw_wrench(draw, color)
im.save('scratch/service_logo_test.png')
print("Saved service logo to scratch/service_logo_test.png")
