22 lines
909 B
Python
22 lines
909 B
Python
"""Choisit l'implémentation d'overlay selon la plateforme.
|
|
|
|
Convention des trois frontières (`moteur/`, `interface/`, `systeme/`) : **un module
|
|
plat par plateforme** — `interface/cocoa.py`, `systeme/macos.py`, `moteur/mlx.py`.
|
|
On ne passe à un sous-paquet que le jour où une plateforme exige réellement
|
|
plusieurs fichiers. Sans cette règle écrite, la couche Windows aurait eu à deviner
|
|
lequel des deux motifs imiter.
|
|
"""
|
|
import sys
|
|
|
|
|
|
def classe_overlay_pour(plateforme=None):
|
|
"""Rend la CLASSE d'overlay (pas une instance : Cocoa exige `alloc().init()`)."""
|
|
plateforme = plateforme or sys.platform
|
|
if plateforme.startswith("darwin"):
|
|
from interface.cocoa import PulseWindow
|
|
return PulseWindow
|
|
if plateforme.startswith("win32"):
|
|
from interface.qt import OverlayQt
|
|
return OverlayQt
|
|
raise NotImplementedError(f"Aucune interface pour : {plateforme}")
|