Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
殷洪(管理员)
/
raphael
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Registry
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
f4336cc1
authored
Jul 12, 2010
by
Dmitry Baranovskiy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Hot fix for rgba
parent
dfc1f88c
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
4 additions
and
4 deletions
+4
-4
raphael-min.js
+2
-2
raphael.js
+2
-2
No files found.
raphael-min.js
View file @
f4336cc1
...
@@ -43,8 +43,8 @@ C.getElementById(d.getAttribute("clip-path")[I](/(^url\(#|\)$)/g,A)))&&j.parentN
...
@@ -43,8 +43,8 @@ C.getElementById(d.getAttribute("clip-path")[I](/(^url\(#|\)$)/g,A)))&&j.parentN
(
f
.
height
||
0
);
case
"ry"
:
if
(
i
==
"ry"
&&
a
.
type
==
"rect"
)
break
;
case
"cy"
:
h
&&
(
i
==
"y"
||
i
==
"cy"
)
&&
(
h
[
2
]
+=
j
-
f
[
i
]);
d
[
W
](
i
,
j
);
a
.
pattern
&&
Ja
(
a
);
break
;
case
"r"
:
a
.
type
==
"rect"
?
u
(
d
,{
rx
:
j
,
ry
:
j
}):
d
[
W
](
i
,
j
);
break
;
case
"src"
:
a
.
type
==
"image"
&&
d
.
setAttributeNS
(
a
.
paper
.
xlink
,
"href"
,
j
);
break
;
case
"stroke-width"
:
d
.
style
.
strokeWidth
=
j
;
d
[
W
](
i
,
j
);
f
[
"stroke-dasharray"
]
&&
g
(
a
,
f
[
"stroke-dasharray"
]);
break
;
case
"stroke-dasharray"
:
g
(
a
,
j
);
break
;
case
"translation"
:
j
=
D
(
j
)[
G
](
V
);
j
[
0
]
=+
j
[
0
]
||
0
;
j
[
1
]
=+
j
[
1
]
||
0
;
if
(
h
){
h
[
1
]
+=
j
[
0
];
h
[
2
]
+=
j
[
1
]}
Aa
.
call
(
a
,
(
f
.
height
||
0
);
case
"ry"
:
if
(
i
==
"ry"
&&
a
.
type
==
"rect"
)
break
;
case
"cy"
:
h
&&
(
i
==
"y"
||
i
==
"cy"
)
&&
(
h
[
2
]
+=
j
-
f
[
i
]);
d
[
W
](
i
,
j
);
a
.
pattern
&&
Ja
(
a
);
break
;
case
"r"
:
a
.
type
==
"rect"
?
u
(
d
,{
rx
:
j
,
ry
:
j
}):
d
[
W
](
i
,
j
);
break
;
case
"src"
:
a
.
type
==
"image"
&&
d
.
setAttributeNS
(
a
.
paper
.
xlink
,
"href"
,
j
);
break
;
case
"stroke-width"
:
d
.
style
.
strokeWidth
=
j
;
d
[
W
](
i
,
j
);
f
[
"stroke-dasharray"
]
&&
g
(
a
,
f
[
"stroke-dasharray"
]);
break
;
case
"stroke-dasharray"
:
g
(
a
,
j
);
break
;
case
"translation"
:
j
=
D
(
j
)[
G
](
V
);
j
[
0
]
=+
j
[
0
]
||
0
;
j
[
1
]
=+
j
[
1
]
||
0
;
if
(
h
){
h
[
1
]
+=
j
[
0
];
h
[
2
]
+=
j
[
1
]}
Aa
.
call
(
a
,
j
[
0
],
j
[
1
]);
break
;
case
"scale"
:
j
=
D
(
j
)[
G
](
V
);
a
.
scale
(
+
j
[
0
]
||
1
,
+
j
[
1
]
||+
j
[
0
]
||
1
,
isNaN
(
y
(
j
[
2
]))?
null
:
+
j
[
2
],
isNaN
(
y
(
j
[
3
]))?
null
:
+
j
[
3
]);
break
;
case
ca
:
if
(
m
=
D
(
j
).
match
(
Sa
)){
r
=
u
(
"pattern"
);
var
q
=
u
(
"image"
);
r
.
id
=
"r"
+
(
l
.
_id
++
)[
O
](
36
);
u
(
r
,{
x
:
0
,
y
:
0
,
patternUnits
:
"userSpaceOnUse"
,
height
:
1
,
width
:
1
});
u
(
q
,{
x
:
0
,
y
:
0
});
q
.
setAttributeNS
(
a
.
paper
.
xlink
,
"href"
,
m
[
1
]);
r
[
x
](
q
);
j
=
C
.
createElement
(
"img"
);
j
.
style
.
cssText
=
"position:absolute;left:-9999em;top-9999em"
;
j
.
onload
=
function
(){
u
(
r
,{
width
:
this
.
offsetWidth
,
height
:
this
.
offsetHeight
});
j
[
0
],
j
[
1
]);
break
;
case
"scale"
:
j
=
D
(
j
)[
G
](
V
);
a
.
scale
(
+
j
[
0
]
||
1
,
+
j
[
1
]
||+
j
[
0
]
||
1
,
isNaN
(
y
(
j
[
2
]))?
null
:
+
j
[
2
],
isNaN
(
y
(
j
[
3
]))?
null
:
+
j
[
3
]);
break
;
case
ca
:
if
(
m
=
D
(
j
).
match
(
Sa
)){
r
=
u
(
"pattern"
);
var
q
=
u
(
"image"
);
r
.
id
=
"r"
+
(
l
.
_id
++
)[
O
](
36
);
u
(
r
,{
x
:
0
,
y
:
0
,
patternUnits
:
"userSpaceOnUse"
,
height
:
1
,
width
:
1
});
u
(
q
,{
x
:
0
,
y
:
0
});
q
.
setAttributeNS
(
a
.
paper
.
xlink
,
"href"
,
m
[
1
]);
r
[
x
](
q
);
j
=
C
.
createElement
(
"img"
);
j
.
style
.
cssText
=
"position:absolute;left:-9999em;top-9999em"
;
j
.
onload
=
function
(){
u
(
r
,{
width
:
this
.
offsetWidth
,
height
:
this
.
offsetHeight
});
u
(
q
,{
width
:
this
.
offsetWidth
,
height
:
this
.
offsetHeight
});
C
.
body
.
removeChild
(
this
);
a
.
paper
.
safari
()};
C
.
body
[
x
](
j
);
j
.
src
=
m
[
1
];
a
.
paper
.
defs
[
x
](
r
);
d
.
style
.
fill
=
"url(#"
+
r
.
id
+
")"
;
u
(
d
,{
fill
:
"url(#"
+
r
.
id
+
")"
});
a
.
pattern
=
r
;
a
.
pattern
&&
Ja
(
a
);
break
}
m
=
l
.
getRGB
(
j
);
if
(
m
.
error
){
if
(({
circle
:
1
,
ellipse
:
1
}[
z
](
a
.
type
)
||
D
(
j
).
charAt
()
!=
"r"
)
&&
pa
(
d
,
j
,
a
.
paper
)){
f
.
gradient
=
j
;
f
.
fill
=
"none"
;
break
}}
else
{
delete
b
.
gradient
;
delete
f
.
gradient
;
!
l
.
is
(
f
.
opacity
,
"undefined"
)
&&
l
.
is
(
b
.
opacity
,
"undefined"
)
&&
u
(
d
,{
opacity
:
f
.
opacity
});
!
l
.
is
(
f
[
"fill-opacity"
],
u
(
q
,{
width
:
this
.
offsetWidth
,
height
:
this
.
offsetHeight
});
C
.
body
.
removeChild
(
this
);
a
.
paper
.
safari
()};
C
.
body
[
x
](
j
);
j
.
src
=
m
[
1
];
a
.
paper
.
defs
[
x
](
r
);
d
.
style
.
fill
=
"url(#"
+
r
.
id
+
")"
;
u
(
d
,{
fill
:
"url(#"
+
r
.
id
+
")"
});
a
.
pattern
=
r
;
a
.
pattern
&&
Ja
(
a
);
break
}
m
=
l
.
getRGB
(
j
);
if
(
m
.
error
){
if
(({
circle
:
1
,
ellipse
:
1
}[
z
](
a
.
type
)
||
D
(
j
).
charAt
()
!=
"r"
)
&&
pa
(
d
,
j
,
a
.
paper
)){
f
.
gradient
=
j
;
f
.
fill
=
"none"
;
break
}}
else
{
delete
b
.
gradient
;
delete
f
.
gradient
;
!
l
.
is
(
f
.
opacity
,
"undefined"
)
&&
l
.
is
(
b
.
opacity
,
"undefined"
)
&&
u
(
d
,{
opacity
:
f
.
opacity
});
!
l
.
is
(
f
[
"fill-opacity"
],
"undefined"
)
&&
l
.
is
(
b
[
"fill-opacity"
],
"undefined"
)
&&
u
(
d
,{
"fill-opacity"
:
f
[
"fill-opacity"
]})}
m
[
z
](
"o"
)
&&
u
(
d
,{
"fill-opacity"
:
m
.
o
/
100
});
case
"stroke"
:
m
=
l
.
getRGB
(
j
);
d
[
W
](
i
,
m
.
hex
);
i
==
"stroke"
&&
m
[
z
](
"o"
)
&&
u
(
d
,{
"stroke-opacity"
:
m
.
o
/
100
});
break
;
case
"gradient"
:(({
circle
:
1
,
ellipse
:
1
})[
z
](
a
.
type
)
||
D
(
j
).
charAt
()
!=
"r"
)
&&
pa
(
d
,
j
,
a
.
paper
);
break
;
case
"opacity"
:
case
"fill-opacity"
:
if
(
f
.
gradient
){
if
(
m
=
C
.
getElementById
(
d
.
getAttribute
(
ca
)[
I
](
/^url
\(
#|
\)
$/g
,
A
))){
m
=
m
.
getElementsByTagName
(
"stop"
);
m
[
m
[
o
]
-
1
][
W
](
"stop-opacity"
,
"undefined"
)
&&
l
.
is
(
b
[
"fill-opacity"
],
"undefined"
)
&&
u
(
d
,{
"fill-opacity"
:
f
[
"fill-opacity"
]})}
m
[
z
](
"o"
)
&&
u
(
d
,{
"fill-opacity"
:
m
.
o
>
1
?
m
.
o
/
100
:
m
.
o
});
case
"stroke"
:
m
=
l
.
getRGB
(
j
);
d
[
W
](
i
,
m
.
hex
);
i
==
"stroke"
&&
m
[
z
](
"o"
)
&&
u
(
d
,{
"stroke-opacity"
:
m
.
o
>
1
?
m
.
o
/
100
:
m
.
o
});
break
;
case
"gradient"
:(({
circle
:
1
,
ellipse
:
1
})[
z
](
a
.
type
)
||
D
(
j
).
charAt
()
!=
"r"
)
&&
pa
(
d
,
j
,
a
.
paper
);
break
;
case
"opacity"
:
case
"fill-opacity"
:
if
(
f
.
gradient
){
if
(
m
=
C
.
getElementById
(
d
.
getAttribute
(
ca
)[
I
](
/^url
\(
#|
\)
$/g
,
A
))){
m
=
m
.
getElementsByTagName
(
"stop"
);
m
[
m
[
o
]
-
j
)}
break
}
default
:
i
==
"font-size"
&&
(
j
=
ha
(
j
,
10
)
+
"px"
);
m
=
i
[
I
](
/
(\-
.
)
/g
,
function
(
k
){
return
sa
.
call
(
k
.
substring
(
1
))});
d
.
style
[
m
]
=
j
;
d
[
W
](
i
,
j
);
break
}}
Db
(
a
,
b
);
if
(
h
)
a
.
rotate
(
h
.
join
(
N
));
else
y
(
e
)
&&
a
.
rotate
(
e
,
true
)},
eb
=
1.2
,
Db
=
function
(
a
,
b
){
if
(
!
(
a
.
type
!=
"text"
||!
(
b
[
z
](
"text"
)
||
b
[
z
](
"font"
)
||
b
[
z
](
"font-size"
)
||
b
[
z
](
"x"
)
||
b
[
z
](
"y"
)))){
var
c
=
a
.
attrs
,
d
=
a
.
node
,
f
=
d
.
firstChild
?
ha
(
C
.
defaultView
.
getComputedStyle
(
d
.
firstChild
,
A
).
getPropertyValue
(
"font-size"
),
10
):
10
;
if
(
b
[
z
](
"text"
)){
for
(
c
.
text
=
b
.
text
;
d
.
firstChild
;)
d
.
removeChild
(
d
.
firstChild
);
1
][
W
](
"stop-opacity"
,
j
)}
break
}
default
:
i
==
"font-size"
&&
(
j
=
ha
(
j
,
10
)
+
"px"
);
m
=
i
[
I
](
/
(\-
.
)
/g
,
function
(
k
){
return
sa
.
call
(
k
.
substring
(
1
))});
d
.
style
[
m
]
=
j
;
d
[
W
](
i
,
j
);
break
}}
Db
(
a
,
b
);
if
(
h
)
a
.
rotate
(
h
.
join
(
N
));
else
y
(
e
)
&&
a
.
rotate
(
e
,
true
)},
eb
=
1.2
,
Db
=
function
(
a
,
b
){
if
(
!
(
a
.
type
!=
"text"
||!
(
b
[
z
](
"text"
)
||
b
[
z
](
"font"
)
||
b
[
z
](
"font-size"
)
||
b
[
z
](
"x"
)
||
b
[
z
](
"y"
)))){
var
c
=
a
.
attrs
,
d
=
a
.
node
,
f
=
d
.
firstChild
?
ha
(
C
.
defaultView
.
getComputedStyle
(
d
.
firstChild
,
A
).
getPropertyValue
(
"font-size"
),
10
):
10
;
if
(
b
[
z
](
"text"
)){
for
(
c
.
text
=
b
.
text
;
d
.
firstChild
;)
d
.
removeChild
(
d
.
firstChild
);
b
=
D
(
b
.
text
)[
G
](
"\n"
);
for
(
var
e
=
0
,
g
=
b
[
o
];
e
<
g
;
e
++
)
if
(
b
[
e
]){
var
h
=
u
(
"tspan"
);
e
&&
u
(
h
,{
dy
:
f
*
eb
,
x
:
c
.
x
});
h
[
x
](
C
.
createTextNode
(
b
[
e
]));
d
[
x
](
h
)}}
else
{
b
=
d
.
getElementsByTagName
(
"tspan"
);
e
=
0
;
for
(
g
=
b
[
o
];
e
<
g
;
e
++
)
e
&&
u
(
b
[
e
],{
dy
:
f
*
eb
,
x
:
c
.
x
})}
u
(
d
,{
y
:
c
.
y
});
a
=
a
.
getBBox
();(
a
=
c
.
y
-
(
a
.
y
+
a
.
height
/
2
))
&&
isFinite
(
a
)
&&
u
(
d
,{
y
:
c
.
y
+
a
})}},
s
=
function
(
a
,
b
){
this
[
0
]
=
a
;
this
.
id
=
l
.
_oid
++
;
this
.
node
=
a
;
a
.
raphael
=
this
;
this
.
paper
=
b
;
this
.
attrs
=
this
.
attrs
||
{};
this
.
transformations
=
[];
this
.
_
=
{
tx
:
0
,
ty
:
0
,
rt
:{
deg
:
0
,
cx
:
0
,
cy
:
0
},
sx
:
1
,
sy
:
1
};
!
b
.
bottom
&&
b
=
D
(
b
.
text
)[
G
](
"\n"
);
for
(
var
e
=
0
,
g
=
b
[
o
];
e
<
g
;
e
++
)
if
(
b
[
e
]){
var
h
=
u
(
"tspan"
);
e
&&
u
(
h
,{
dy
:
f
*
eb
,
x
:
c
.
x
});
h
[
x
](
C
.
createTextNode
(
b
[
e
]));
d
[
x
](
h
)}}
else
{
b
=
d
.
getElementsByTagName
(
"tspan"
);
e
=
0
;
for
(
g
=
b
[
o
];
e
<
g
;
e
++
)
e
&&
u
(
b
[
e
],{
dy
:
f
*
eb
,
x
:
c
.
x
})}
u
(
d
,{
y
:
c
.
y
});
a
=
a
.
getBBox
();(
a
=
c
.
y
-
(
a
.
y
+
a
.
height
/
2
))
&&
isFinite
(
a
)
&&
u
(
d
,{
y
:
c
.
y
+
a
})}},
s
=
function
(
a
,
b
){
this
[
0
]
=
a
;
this
.
id
=
l
.
_oid
++
;
this
.
node
=
a
;
a
.
raphael
=
this
;
this
.
paper
=
b
;
this
.
attrs
=
this
.
attrs
||
{};
this
.
transformations
=
[];
this
.
_
=
{
tx
:
0
,
ty
:
0
,
rt
:{
deg
:
0
,
cx
:
0
,
cy
:
0
},
sx
:
1
,
sy
:
1
};
!
b
.
bottom
&&
(
b
.
bottom
=
this
);(
this
.
prev
=
b
.
top
)
&&
(
b
.
top
.
next
=
this
);
b
.
top
=
this
;
this
.
next
=
null
};
s
[
p
].
rotate
=
function
(
a
,
b
,
c
){
if
(
this
.
removed
)
return
this
;
if
(
a
==
null
){
if
(
this
.
_
.
rt
.
cx
)
return
[
this
.
_
.
rt
.
deg
,
this
.
_
.
rt
.
cx
,
this
.
_
.
rt
.
cy
][
R
](
N
);
return
this
.
_
.
rt
.
deg
}
var
d
=
this
.
getBBox
();
a
=
D
(
a
)[
G
](
V
);
if
(
a
[
o
]
-
1
){
b
=
y
(
a
[
1
]);
c
=
y
(
a
[
2
])}
a
=
y
(
a
[
0
]);
if
(
b
!=
null
)
this
.
_
.
rt
.
deg
=
a
;
else
this
.
_
.
rt
.
deg
+=
a
;
c
==
null
&&
(
b
=
null
);
this
.
_
.
rt
.
cx
=
b
;
this
.
_
.
rt
.
cy
=
c
;
b
=
b
==
null
?
d
.
x
+
d
.
width
/
2
:
b
;
c
=
c
==
null
?
d
.
y
+
d
.
height
/
2
:
c
;
if
(
this
.
_
.
rt
.
deg
){
this
.
transformations
[
0
]
=
(
b
.
bottom
=
this
);(
this
.
prev
=
b
.
top
)
&&
(
b
.
top
.
next
=
this
);
b
.
top
=
this
;
this
.
next
=
null
};
s
[
p
].
rotate
=
function
(
a
,
b
,
c
){
if
(
this
.
removed
)
return
this
;
if
(
a
==
null
){
if
(
this
.
_
.
rt
.
cx
)
return
[
this
.
_
.
rt
.
deg
,
this
.
_
.
rt
.
cx
,
this
.
_
.
rt
.
cy
][
R
](
N
);
return
this
.
_
.
rt
.
deg
}
var
d
=
this
.
getBBox
();
a
=
D
(
a
)[
G
](
V
);
if
(
a
[
o
]
-
1
){
b
=
y
(
a
[
1
]);
c
=
y
(
a
[
2
])}
a
=
y
(
a
[
0
]);
if
(
b
!=
null
)
this
.
_
.
rt
.
deg
=
a
;
else
this
.
_
.
rt
.
deg
+=
a
;
c
==
null
&&
(
b
=
null
);
this
.
_
.
rt
.
cx
=
b
;
this
.
_
.
rt
.
cy
=
c
;
b
=
b
==
null
?
d
.
x
+
d
.
width
/
2
:
b
;
c
=
c
==
null
?
d
.
y
+
d
.
height
/
2
:
c
;
if
(
this
.
_
.
rt
.
deg
){
this
.
transformations
[
0
]
=
l
.
format
(
"rotate({0} {1} {2})"
,
this
.
_
.
rt
.
deg
,
b
,
c
);
this
.
clip
&&
u
(
this
.
clip
,{
transform
:
l
.
format
(
"rotate({0} {1} {2})"
,
-
this
.
_
.
rt
.
deg
,
b
,
c
)})}
else
{
this
.
transformations
[
0
]
=
A
;
this
.
clip
&&
u
(
this
.
clip
,{
transform
:
A
})}
u
(
this
.
node
,{
transform
:
this
.
transformations
[
R
](
N
)});
return
this
};
s
[
p
].
hide
=
function
(){
!
this
.
removed
&&
(
this
.
node
.
style
.
display
=
"none"
);
return
this
};
s
[
p
].
show
=
function
(){
!
this
.
removed
&&
(
this
.
node
.
style
.
display
=
""
);
return
this
};
s
[
p
].
remove
=
function
(){
if
(
!
this
.
removed
){
ma
(
this
,
this
.
paper
);
this
.
node
.
parentNode
.
removeChild
(
this
.
node
);
l
.
format
(
"rotate({0} {1} {2})"
,
this
.
_
.
rt
.
deg
,
b
,
c
);
this
.
clip
&&
u
(
this
.
clip
,{
transform
:
l
.
format
(
"rotate({0} {1} {2})"
,
-
this
.
_
.
rt
.
deg
,
b
,
c
)})}
else
{
this
.
transformations
[
0
]
=
A
;
this
.
clip
&&
u
(
this
.
clip
,{
transform
:
A
})}
u
(
this
.
node
,{
transform
:
this
.
transformations
[
R
](
N
)});
return
this
};
s
[
p
].
hide
=
function
(){
!
this
.
removed
&&
(
this
.
node
.
style
.
display
=
"none"
);
return
this
};
s
[
p
].
show
=
function
(){
!
this
.
removed
&&
(
this
.
node
.
style
.
display
=
""
);
return
this
};
s
[
p
].
remove
=
function
(){
if
(
!
this
.
removed
){
ma
(
this
,
this
.
paper
);
this
.
node
.
parentNode
.
removeChild
(
this
.
node
);
...
...
raphael.js
View file @
f4336cc1
...
@@ -1360,11 +1360,11 @@ Raphael = (function () {
...
@@ -1360,11 +1360,11 @@ Raphael = (function () {
attrs
.
fill
=
"none"
;
attrs
.
fill
=
"none"
;
break
;
break
;
}
}
clr
[
has
](
"o"
)
&&
$
(
node
,
{
"fill-opacity"
:
clr
.
o
/
100
});
clr
[
has
](
"o"
)
&&
$
(
node
,
{
"fill-opacity"
:
clr
.
o
>
1
?
clr
.
o
/
100
:
clr
.
o
});
case
"stroke"
:
case
"stroke"
:
clr
=
R
.
getRGB
(
value
);
clr
=
R
.
getRGB
(
value
);
node
[
setAttribute
](
att
,
clr
.
hex
);
node
[
setAttribute
](
att
,
clr
.
hex
);
att
==
"stroke"
&&
clr
[
has
](
"o"
)
&&
$
(
node
,
{
"stroke-opacity"
:
clr
.
o
/
100
});
att
==
"stroke"
&&
clr
[
has
](
"o"
)
&&
$
(
node
,
{
"stroke-opacity"
:
clr
.
o
>
1
?
clr
.
o
/
100
:
clr
.
o
});
break
;
break
;
case
"gradient"
:
case
"gradient"
:
(({
circle
:
1
,
ellipse
:
1
})[
has
](
o
.
type
)
||
Str
(
value
).
charAt
()
!=
"r"
)
&&
addGradientFill
(
node
,
value
,
o
.
paper
);
(({
circle
:
1
,
ellipse
:
1
})[
has
](
o
.
type
)
||
Str
(
value
).
charAt
()
!=
"r"
)
&&
addGradientFill
(
node
,
value
,
o
.
paper
);
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment