Forums : Xul, Xbl, JS...

Aller à la discussion :  Plus récente Plus ancienne

# [RESOLU][XBL/SVG] probleme de rendu de dégradé dans un binding...

Envoyé par : Fabrice

Date : 19/08/2006 15:12

Bonjour à tous, j'ai donc decidé de passer un peu de temps à jouer avec XUL et SVG ;) plus exactement je souhaite me faire quelques petits widget en SVG. Je commence par une horloge simple. Je laisse ici volontairement de coté le javascript qui annime les aiguilles car mon probleme est ailleurs. Donc mon horloge est constituée d'un cercle bordé de noir et rempli d'un degradé d'orange, de trois aiguilles ;) et d'un petit cercle noir au centre pour masquer le point de rotation des aiguilles. Je précise de suite que ce SVG fonctionne très bien seul de son coté. Mon probleme est que je souhaite en faire un XBL et que le dégradé orange n'est pas rendu :( mon analyse du probleme est qu'il y a un probleme de conflit entre namespace. En effet dans le <bindings> j'ai xmlns= "http://www.mozilla.org/xbl" et dans <svg:svg> j'ai xmlns= "http://www.w3.org/2000/svg" ... y a t'il une solution à mon problème ?

voici mon code horloge.xml

<?xml version="1.0"?>
<bindings 
xmlns=     "http://www.mozilla.org/xbl"
xmlns:xbl= "http://www.mozilla.org/xbl" 
xmlns:html="http://www.w3.org/1999/xhtml"
xmlns:xul= "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
  <binding id="horloge">
    <content>
	<svg:svg
	xmlns:dc=   "http://purl.org/dc/elements/1.1/"
	xmlns:cc=   "http://web.resource.org/cc/"
	xmlns:rdf=  "http://www.w3.org/1999/02/22-rdf-syntax-ns#"	
	xmlns:svg=  "http://www.w3.org/2000/svg"
	xmlns=      "http://www.w3.org/2000/svg"
	xmlns:xlink="http://www.w3.org/1999/xlink"
	width=      "140"
	height=     "140">
		<svg:defs>
			<svg:linearGradient id="orange">
				<svg:stop
				style= "stop-color:#ffc000;stop-opacity:1;"
				offset="0"/>
				<svg:stop
				style= "stop-color:#ffff00;stop-opacity:1;"
				offset="1"/>
			</svg:linearGradient>
		</svg:defs>
		<svg:circle 
		cx=   "70" 
		cy=   "70" 
		r=    "60" 
		style="stroke-width: 5; stroke: black; fill: url(#orange);"/>
		<svg:g transform="translate(70,70) rotate(-90)">
			<svg:line 
			id=   "heure"   
			x1=   "0" 
			y1=   "0" 
			x2=   "0" 
			y2=   "30" 
			style="stroke: #1a0c80;stroke-width: 6px;"/>
			<svg:line 
			id=   "minute" 
			x1=   "0" 
			y1=   "0" 
			x2=   "0" 
			y2=   "40" 
			style="stroke: #1a0c80;stroke-width: 4px;"/>
			<svg:line 
			id=   "seconde" 
			x1=   "0" 
			y1=   "0" 
			x2=   "0" 
			y2=   "50" 
			style="stroke: #ffac66;stroke-width: 2px;"/>
		</svg:g>
		<svg:circle 
		cx=   "70" 
		cy=   "70" 
		r=    "5" 
		style="stroke: black; fill: black;"/>
	</svg:svg>
    </content>
  </binding>
</bindings>

La solution toute simple est de se passer de dégradé... mais bon. Si vous avez autre chose.

Fabrice

# Re: [XBL/SVG] probleme de rendu de dégradé dans un binding...

Envoyé par : thefab

Date : 19/08/2006 16:49

le dégradé orange n'est pas rendu

Uniquement le dégradé qui ne fonctionne pas, le reste fonctionne ?

<svg:svg> j'ai xmlns="http://www.w3.org/2000/svg"

Tu n'as pas besoin de mettre d'xmlns puisque tu n'as aucun élément non-préfixé. Si tout les éléments SVG sont préfixé svg: alors le seul espace de noms dont tu as besoin est xmlns:svg="http://www.w3.org/2000/svg"

# Re: [XBL/SVG] probleme de rendu de dégradé dans un binding...

Envoyé par : Fabrice

Date : 19/08/2006 20:04

Oui juste le dégradé. Le reste s'affiche très bien... je cherche toujours...

# Re: [XBL/SVG] probleme de rendu de dégradé dans un binding...

Envoyé par : thefab

Date : 21/08/2006 20:15

Alors ce n'est pas un problème d'espaces de noms, c'est que l'id #orange n'est pas pris en compte dans l'attribut style, mais fonctionne dans l'attribut fill !

Remplaces:

style="...; fill: url(#orange);"

Par:

fill="url(#orange);"

Fabrice

# Re: [RESOLU][XBL/SVG] probleme de rendu de dégradé dans un binding...

Envoyé par : Fabrice

Date : 21/08/2006 21:36

Alors là chapeau bas ! Merci c'est impec... fallait la trouver celle-la. ma p'tite pendule devrait gagner en esthetisme.

Merci encore,

Fabrice

Il n'est plus possible de poster des messages dans ce forum.


Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.

Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™ sont des marques de la fondation Mozilla.