Bonjour à tous,

J'ai un document SVG que j'intègre en ajax dans une div à l'aide de l'api SnapSvg.
J'ai codé un petit bout de code pour pouvoir zoomer sur le document avec la molette. Pour cela je modifie le scale du contener SVG :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
setViewPortMatrix = function( snap, matrix ) {
	var vt = snap.attr('transform').localMatrix;
	snap.transform(vt.add(matrix).toTransformString());
}
zoom = function(v){
	setViewPortMatrix(Snap("#viewport"), new Snap.Matrix().scale(v, v));
}
Tout cela fonctionne mais le problème est quand je veux faire un script qui ce déplace et zoom automatiquement sur un élément du svg.
Il faut que je me fasse une translation du viewport de X pixels, et un zoom à l'echelle X, mais je n'arrive pas à calculer ces données car getBBox().width et getBBox().height me renvoi toujours la taille d'origine de l’élément, même si celui ci est scalé.
Ce qui me sauverais c'est de connaître l'echelle courante du viewport mais il me semble que c'est impossible...