from PIL import Image, ImageDraw
import os

# Caminho do ícone original (alta resolução, ex: 512x512 px)
ICON_PATH = "maker_icon.png"

# Pasta de saída (res/mipmap dentro do seu projeto Android)
OUTPUT_DIR = "C:\\xampp\\htdocs\\debug\\BOT-C\\CHAMADO"

# Tamanhos recomendados para cada densidade
sizes = {
    "mipmap-mdpi": 48,
    "mipmap-hdpi": 72,
    "mipmap-xhdpi": 96,
    "mipmap-xxhdpi": 144,
    "mipmap-xxxhdpi": 192
}

def make_round_icon(img, size):
    """Cria versão redonda do ícone"""
    # Redimensiona
    img = img.resize((size, size), Image.LANCZOS).convert("RGBA")

    # Cria máscara circular
    mask = Image.new("L", (size, size), 0)
    draw = ImageDraw.Draw(mask)
    draw.ellipse((0, 0, size, size), fill=255)

    # Aplica máscara
    rounded = Image.new("RGBA", (size, size))
    rounded.paste(img, (0, 0), mask=mask)
    return rounded

def generate_icons():
    # Abre o ícone original
    img = Image.open(ICON_PATH)

    for folder, size in sizes.items():
        # Cria pasta se não existir
        path = os.path.join(OUTPUT_DIR, folder)
        os.makedirs(path, exist_ok=True)

        # Versão normal
        resized = img.resize((size, size), Image.LANCZOS)
        resized.save(os.path.join(path, "maker_icon.png"), format="PNG")

        # Versão redonda
        rounded = make_round_icon(img, size)
        rounded.save(os.path.join(path, "maker_icon_round.png"), format="PNG")

        print(f"✔ Ícones gerados em {path} ({size}px)")

if __name__ == "__main__":
    generate_icons()
