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
bc25e83d
authored
Jun 26, 2009
by
Dmitry Baranovskiy
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
0.8.1
Minor fixes to getBBox and additional functionality to sets. Now set could contain set.
parent
47addb3c
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
44 additions
and
22 deletions
+44
-22
raphael.js
+44
-22
No files found.
raphael.js
View file @
bc25e83d
/*
* Raphael 0.8 - JavaScript Vector Library
* Raphael 0.8
.1
- JavaScript Vector Library
*
* Copyright (c) 2008 - 2009 Dmitry Baranovskiy (http://raphaeljs.com)
* Licensed under the MIT (http://www.opensource.org/licenses/mit-license.php) license.
...
...
@@ -126,7 +126,7 @@ window.Raphael = (function () {
}
var
htmlcolors
=
{
aliceblue
:
"#f0f8ff"
,
amethyst
:
"#96c"
,
antiquewhite
:
"#faebd7"
,
aqua
:
"#0ff"
,
aquamarine
:
"#7fffd4"
,
azure
:
"#f0ffff"
,
beige
:
"#f5f5dc"
,
bisque
:
"#ffe4c4"
,
black
:
"#000"
,
blanchedalmond
:
"#ffebcd"
,
blue
:
"#00f"
,
blueviolet
:
"#8a2be2"
,
brown
:
"#a52a2a"
,
burlywood
:
"#deb887"
,
cadetblue
:
"#5f9ea0"
,
chartreuse
:
"#7fff00"
,
chocolate
:
"#d2691e"
,
coral
:
"#ff7f50"
,
cornflowerblue
:
"#6495ed"
,
cornsilk
:
"#fff8dc"
,
crimson
:
"#dc143c"
,
cyan
:
"#0ff"
,
darkblue
:
"#00008b"
,
darkcyan
:
"#008b8b"
,
darkgoldenrod
:
"#b8860b"
,
darkgray
:
"#a9a9a9"
,
darkgreen
:
"#006400"
,
darkkhaki
:
"#bdb76b"
,
darkmagenta
:
"#8b008b"
,
darkolivegreen
:
"#556b2f"
,
darkorange
:
"#ff8c00"
,
darkorchid
:
"#9932cc"
,
darkred
:
"#8b0000"
,
darksalmon
:
"#e9967a"
,
darkseagreen
:
"#8fbc8f"
,
darkslateblue
:
"#483d8b"
,
darkslategray
:
"#2f4f4f"
,
darkturquoise
:
"#00ced1"
,
darkviolet
:
"#9400d3"
,
deeppink
:
"#ff1493"
,
deepskyblue
:
"#00bfff"
,
dimgray
:
"#696969"
,
dodgerblue
:
"#1e90ff"
,
firebrick
:
"#b22222"
,
floralwhite
:
"#fffaf0"
,
forestgreen
:
"#228b22"
,
fuchsia
:
"#f0f"
,
gainsboro
:
"#dcdcdc"
,
ghostwhite
:
"#f8f8ff"
,
gold
:
"#ffd700"
,
goldenrod
:
"#daa520"
,
gray
:
"#808080"
,
green
:
"#008000"
,
greenyellow
:
"#adff2f"
,
honeydew
:
"#f0fff0"
,
hotpink
:
"#ff69b4"
,
indianred
:
"#cd5c5c"
,
indigo
:
"#4b0082"
,
ivory
:
"#fffff0"
,
khaki
:
"#f0e68c"
,
lavender
:
"#e6e6fa"
,
lavenderblush
:
"#fff0f5"
,
lawngreen
:
"#7cfc00"
,
lemonchiffon
:
"#fffacd"
,
lightblue
:
"#add8e6"
,
lightcoral
:
"#f08080"
,
lightcyan
:
"#e0ffff"
,
lightgoldenrodyellow
:
"#fafad2"
,
lightgreen
:
"#90ee90"
,
lightgrey
:
"#d3d3d3"
,
lightpink
:
"#ffb6c1"
,
lightsalmon
:
"#ffa07a"
,
lightsalmon
:
"#ffa07a"
,
lightseagreen
:
"#20b2aa"
,
lightskyblue
:
"#87cefa"
,
lightslategray
:
"#789"
,
lightsteelblue
:
"#b0c4de"
,
lightyellow
:
"#ffffe0"
,
lime
:
"#0f0"
,
limegreen
:
"#32cd32"
,
linen
:
"#faf0e6"
,
magenta
:
"#f0f"
,
maroon
:
"#800000"
,
mediumaquamarine
:
"#66cdaa"
,
mediumblue
:
"#0000cd"
,
mediumorchid
:
"#ba55d3"
,
mediumpurple
:
"#9370db"
,
mediumseagreen
:
"#3cb371"
,
mediumslateblue
:
"#7b68ee"
,
mediumslateblue
:
"#7b68ee"
,
mediumspringgreen
:
"#00fa9a"
,
mediumturquoise
:
"#48d1cc"
,
mediumvioletred
:
"#c71585"
,
midnightblue
:
"#191970"
,
mintcream
:
"#f5fffa"
,
mistyrose
:
"#ffe4e1"
,
moccasin
:
"#ffe4b5"
,
navajowhite
:
"#ffdead"
,
navy
:
"#000080"
,
oldlace
:
"#fdf5e6"
,
olive
:
"#808000"
,
olivedrab
:
"#6b8e23"
,
orange
:
"#ffa500"
,
orangered
:
"#ff4500"
,
orchid
:
"#da70d6"
,
palegoldenrod
:
"#eee8aa"
,
palegreen
:
"#98fb98"
,
paleturquoise
:
"#afeeee"
,
palevioletred
:
"#db7093"
,
papayawhip
:
"#ffefd5"
,
peachpuff
:
"#ffdab9"
,
peru
:
"#cd853f"
,
pink
:
"#ffc0cb"
,
plum
:
"#dda0dd"
,
powderblue
:
"#b0e0e6"
,
purple
:
"#800080"
,
red
:
"#f00"
,
rosybrown
:
"#bc8f8f"
,
royalblue
:
"#4169e1"
,
saddlebrown
:
"#8b4513"
,
salmon
:
"#fa8072"
,
sandybrown
:
"#f4a460"
,
seagreen
:
"#2e8b57"
,
seashell
:
"#fff5ee"
,
sienna
:
"#a0522d"
,
silver
:
"#c0c0c0"
,
skyblue
:
"#87ceeb"
,
slateblue
:
"#6a5acd"
,
slategray
:
"#708090"
,
snow
:
"#fffafa"
,
springgreen
:
"#00ff7f"
,
steelblue
:
"#4682b4"
,
tan
:
"#d2b48c"
,
teal
:
"#008080"
,
thistle
:
"#d8bfd8"
,
tomato
:
"#ff6347"
,
turquoise
:
"#40e0d0"
,
violet
:
"#ee82ee"
,
wheat
:
"#f5deb3"
,
white
:
"#fff"
,
whitesmoke
:
"#f5f5f5"
,
yellow
:
"#ff0"
,
yellowgreen
:
"#9acd32"
},
res
;
if
(
colour
.
toString
(
).
toLowerCase
()
in
htmlcolors
)
{
if
(
(
colour
+
""
).
toLowerCase
()
in
htmlcolors
)
{
colour
=
htmlcolors
[
colour
.
toString
().
toLowerCase
()];
}
if
(
!
colour
)
{
...
...
@@ -273,14 +273,25 @@ window.Raphael = (function () {
}
var
minx
=
Math
.
min
.
apply
(
Math
,
x
),
miny
=
Math
.
min
.
apply
(
Math
,
y
);
return
{
x
:
minx
,
y
:
miny
,
width
:
Math
.
max
.
apply
(
Math
,
x
)
-
minx
,
height
:
Math
.
max
.
apply
(
Math
,
y
)
-
miny
,
X
:
x
,
Y
:
y
};
if
(
!
x
.
length
)
{
return
{
x
:
0
,
y
:
0
,
width
:
0
,
height
:
0
,
X
:
0
,
Y
:
0
};
}
else
{
return
{
x
:
minx
,
y
:
miny
,
width
:
Math
.
max
.
apply
(
Math
,
x
)
-
minx
,
height
:
Math
.
max
.
apply
(
Math
,
y
)
-
miny
,
X
:
x
,
Y
:
y
};
}
},
pathToRelative
=
function
(
pathArray
)
{
var
res
=
[];
...
...
@@ -965,7 +976,7 @@ window.Raphael = (function () {
o
.
scale
(
+
xy
[
0
]
||
1
,
+
xy
[
1
]
||
+
xy
[
0
]
||
1
,
+
xy
[
2
]
||
null
,
+
xy
[
3
]
||
null
);
break
;
case
"fill"
:
var
isURL
=
value
.
match
(
/^url
\(([^\)]
+
)\)
$/i
);
var
isURL
=
(
value
+
""
)
.
match
(
/^url
\(([^\)]
+
)\)
$/i
);
if
(
isURL
)
{
var
el
=
doc
.
createElementNS
(
o
.
paper
.
svgns
,
"pattern"
);
var
ig
=
doc
.
createElementNS
(
o
.
paper
.
svgns
,
"image"
);
...
...
@@ -2623,22 +2634,20 @@ window.Raphael = (function () {
};
// Set
var
Set
=
function
(
itemsArray
)
{
var
Set
=
function
()
{
this
.
items
=
[];
this
.
length
=
(
itemsArray
&&
itemsArray
.
length
)
||
0
;
if
(
itemsArray
&&
itemsArray
.
constructor
==
Array
)
{
for
(
var
i
=
itemsArray
.
length
;
i
--
;)
{
if
(
itemsArray
[
i
].
constructor
==
Element
)
{
this
.
items
[
this
.
items
.
length
]
=
itemsArray
[
i
];
}
this
.
length
=
0
;
for
(
var
i
=
0
,
ii
=
arguments
.
length
;
i
<
ii
;
i
++
)
{
if
(
arguments
[
i
]
&&
(
arguments
[
i
].
constructor
==
Element
||
arguments
[
i
].
constructor
==
Set
))
{
this
[
this
.
items
.
length
]
=
this
.
items
[
this
.
items
.
length
]
=
arguments
[
i
];
this
.
length
++
;
}
}
};
Set
.
prototype
.
push
=
function
(
item
)
{
if
(
item
&&
item
.
constructor
==
Element
)
{
if
(
item
&&
item
.
constructor
==
Element
||
item
.
constructor
==
Set
)
{
var
len
=
this
.
items
.
length
;
this
.
items
[
len
]
=
item
;
this
[
len
]
=
item
;
this
[
len
]
=
this
.
items
[
len
]
=
item
;
this
.
length
++
;
}
return
this
;
...
...
@@ -2655,13 +2664,26 @@ window.Raphael = (function () {
for
(
var
method
in
Element
.
prototype
)
{
Set
.
prototype
[
method
]
=
(
function
(
methodname
)
{
return
function
()
{
for
(
var
i
=
this
.
items
.
length
;
i
--
;
)
{
for
(
var
i
=
0
,
ii
=
this
.
items
.
length
;
i
<
ii
;
i
++
)
{
this
.
items
[
i
][
methodname
].
apply
(
this
.
items
[
i
],
arguments
);
}
return
this
;
};
})(
method
);
}
Set
.
prototype
.
attr
=
function
(
name
,
value
)
{
if
(
name
&&
name
instanceof
Array
&&
typeof
name
[
0
]
==
"object"
)
{
for
(
var
j
=
0
,
jj
=
name
.
length
;
j
<
jj
;
j
++
)
{
this
.
items
[
j
].
attr
(
name
[
j
]);
}
}
else
{
for
(
var
i
=
0
,
ii
=
this
.
items
.
length
;
i
<
ii
;
i
++
)
{
this
.
items
[
i
].
attr
.
apply
(
this
.
items
[
i
],
arguments
);
}
}
return
this
;
};
Set
.
prototype
.
getBBox
=
function
()
{
var
x
=
[],
y
=
[],
w
=
[],
h
=
[];
for
(
var
i
=
this
.
items
.
length
;
i
--
;)
{
...
...
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