Tant qu'on y était, on s'est dit qu'on pouvait faire les grosses modifications de structure qu'on rechignait à entreprendre jusqu'ici. Celle-ci ne change pas les fonctionnalités, mais clarifie notre code source: historiquement, sur Mac OS, les premières gestion des transparences, c'est-à-dire les zones qui, sur une image, laissent voir ce qu'il y a derrière, ont été construites avec 0 = opaque, et valeur maximum = transparent Donc une valeur de transparence à 0 montrait ce pixel de l'image, et une valeur de transparence au maximum laissait voir ce qu'il y avait derrière Or, avec l'arrivée de la "couche alpha", les valeurs de transparence stockées dans les images graphiques de type PNG, les valeurs correspondaient à l'opacité, soit 0 = transparent et valeur maximum = opaque ACAM, notre système de compatibilité entre plateformes, est vieux, et lorsque nous avons commencé à mettre en place notre propre système de transparence, devançant celui système, nous avons choisi d'utiliser les valeurs de transparence que nous connaissions à l'époque. Résultat, dans ACAM, il y avait en permanence des conversions de couche alpha d'un système à l'autre : chargement d'un PNG, inversion de la couche alpha, et à nouveau inversion pour le faire apparaître à l'écran. A tel point que nous étions nous-même perdus et ne savions plus si 0 était transparent ou opaque. Nous avons donc repris tout cela, pour toujours utiliser la nouvelle nomenclature, soit 0=transparent. Mais cela se situait à un très bas niveau, donc impactant la totalité des affichages graphiques, et nécessitant une bonne cinquantaine de modifications. Cela retarde la sortie de la version alpha d'un jour ou deux, mais cela permettra de le faire tester nos modifications en profondeur. |