Refactor image_masque
Cette PR est un complément de !4741, seuls les 6 derniers commits sont spécifiques, au dessus de l'autre branche.
Ils concerent un refactor plus profond du filtre |image_masque
:
- le code est découpé en sous fonctions pour être plus lisible et maintenable
- on optimise le calcul en évitant de générer une grande image qui contient un petit masque pour gérer la superposition, on utilise plutot des offsets x et y pour lire les pixels du masque correspondant aux pixels de l'image et on gère le cas où l'on est plus dans le masque (sans effet dans ce cas)
- on ajoute un parametre de position
repeat
qui permet de répéter le masque enrepeat-x
,repeat-y
ourepeat
, ce qui permet de texturer des grands images avec des petits masques de type pattern - chaque mode de masque est implémenté par une fonction
_image_masque_pixel_mode_xxxx()
qui fait le cacul de la fusion du pixel image et pixel masque pour le mode concerné. - en conséquence, il est possible d'ajouter ses propres mode de fusion en implémentant une fonction
_image_masque_pixel_mode_xxxx()
correspondante