from __future__ import annotations

import logging
from typing import Protocol

from PIL import Image

log = logging.getLogger(__name__)


class DisplayInterface(Protocol):
    def show(self, image: Image.Image) -> None: ...


class NullDisplay:
    def show(self, image: Image.Image) -> None:
        log.debug("NullDisplay.show: %dx%d", image.width, image.height)


class WaveshareDisplay:
    def show(self, image: Image.Image) -> None:
        raise NotImplementedError
