Page Menu
Home
Code
Search
Configure Global Search
Log In
Files
F390521
vml.js
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
22 KB
Subscribers
None
vml.js
View Options
/*
Copyright (c) 2004-2009, The Dojo Foundation All Rights Reserved.
Available via Academic Free License >= 2.1 OR the modified BSD license.
see: http://dojotoolkit.org/license for details
*/
if
(
!
dojo
.
_hasResource
[
"dojox.gfx.vml"
]){
dojo
.
_hasResource
[
"dojox.gfx.vml"
]
=
true
;
dojo
.
provide
(
"dojox.gfx.vml"
);
dojo
.
require
(
"dojox.gfx._base"
);
dojo
.
require
(
"dojox.gfx.shape"
);
dojo
.
require
(
"dojox.gfx.path"
);
dojo
.
require
(
"dojox.gfx.arc"
);
(
function
(){
var
d
=
dojo
,
g
=
dojox
.
gfx
,
m
=
g
.
matrix
,
gs
=
g
.
shape
,
_1
=
g
.
vml
;
_1
.
xmlns
=
"urn:schemas-microsoft-com:vml"
;
_1
.
text_alignment
=
{
start
:
"left"
,
middle
:
"center"
,
end
:
"right"
};
_1
.
_parseFloat
=
function
(
_2
){
return
_2
.
match
(
/^\d+f$/i
)
?
parseInt
(
_2
)
/
65536
:
parseFloat
(
_2
);
};
_1
.
_bool
=
{
"t"
:
1
,
"true"
:
1
};
d
.
extend
(
g
.
Shape
,{
setFill
:
function
(
_3
){
if
(
!
_3
){
this
.
fillStyle
=
null
;
this
.
rawNode
.
filled
=
"f"
;
return
this
;
}
var
i
,
f
,
fo
,
a
,
s
;
if
(
typeof
_3
==
"object"
&&
"type"
in
_3
){
switch
(
_3
.
type
){
case
"linear"
:
var
_4
=
this
.
_getRealMatrix
();
s
=
[];
f
=
g
.
makeParameters
(
g
.
defaultLinearGradient
,
_3
);
a
=
f
.
colors
;
this
.
fillStyle
=
f
;
d
.
forEach
(
a
,
function
(
v
,
i
,
a
){
a
[
i
].
color
=
g
.
normalizeColor
(
v
.
color
);
});
if
(
a
[
0
].
offset
>
0
){
s
.
push
(
"0 "
+
a
[
0
].
color
.
toHex
());
}
for
(
i
=
0
;
i
<
a
.
length
;
++
i
){
s
.
push
(
a
[
i
].
offset
.
toFixed
(
8
)
+
" "
+
a
[
i
].
color
.
toHex
());
}
i
=
a
.
length
-
1
;
if
(
a
[
i
].
offset
<
1
){
s
.
push
(
"1 "
+
a
[
i
].
color
.
toHex
());
}
fo
=
this
.
rawNode
.
fill
;
fo
.
colors
.
value
=
s
.
join
(
";"
);
fo
.
method
=
"sigma"
;
fo
.
type
=
"gradient"
;
var
_5
=
_4
?
m
.
multiplyPoint
(
_4
,
f
.
x1
,
f
.
y1
)
:
{
x
:
f
.
x1
,
y
:
f
.
y1
},
_6
=
_4
?
m
.
multiplyPoint
(
_4
,
f
.
x2
,
f
.
y2
)
:
{
x
:
f
.
x2
,
y
:
f
.
y2
};
fo
.
angle
=
(
m
.
_radToDeg
(
Math
.
atan2
(
_6
.
x
-
_5
.
x
,
_6
.
y
-
_5
.
y
))
+
180
)
%
360
;
fo
.
on
=
true
;
break
;
case
"radial"
:
f
=
g
.
makeParameters
(
g
.
defaultRadialGradient
,
_3
);
this
.
fillStyle
=
f
;
var
l
=
parseFloat
(
this
.
rawNode
.
style
.
left
),
t
=
parseFloat
(
this
.
rawNode
.
style
.
top
),
w
=
parseFloat
(
this
.
rawNode
.
style
.
width
),
h
=
parseFloat
(
this
.
rawNode
.
style
.
height
),
c
=
isNaN
(
w
)
?
1
:
2
*
f
.
r
/
w
;
a
=
[];
if
(
f
.
colors
[
0
].
offset
>
0
){
a
.
push
({
offset
:
1
,
color
:
g
.
normalizeColor
(
f
.
colors
[
0
].
color
)});
}
d
.
forEach
(
f
.
colors
,
function
(
v
,
i
){
a
.
push
({
offset
:
1
-
v
.
offset
*
c
,
color
:
g
.
normalizeColor
(
v
.
color
)});
});
i
=
a
.
length
-
1
;
while
(
i
>=
0
&&
a
[
i
].
offset
<
0
){
--
i
;
}
if
(
i
<
a
.
length
-
1
){
var
q
=
a
[
i
],
p
=
a
[
i
+
1
];
p
.
color
=
d
.
blendColors
(
q
.
color
,
p
.
color
,
q
.
offset
/
(
q
.
offset
-
p
.
offset
));
p
.
offset
=
0
;
while
(
a
.
length
-
i
>
2
){
a
.
pop
();
}
}
i
=
a
.
length
-
1
,
s
=
[];
if
(
a
[
i
].
offset
>
0
){
s
.
push
(
"0 "
+
a
[
i
].
color
.
toHex
());
}
for
(;
i
>=
0
;
--
i
){
s
.
push
(
a
[
i
].
offset
.
toFixed
(
8
)
+
" "
+
a
[
i
].
color
.
toHex
());
}
fo
=
this
.
rawNode
.
fill
;
fo
.
colors
.
value
=
s
.
join
(
";"
);
fo
.
method
=
"sigma"
;
fo
.
type
=
"gradientradial"
;
if
(
isNaN
(
w
)
||
isNaN
(
h
)
||
isNaN
(
l
)
||
isNaN
(
t
)){
fo
.
focusposition
=
"0.5 0.5"
;
}
else
{
fo
.
focusposition
=
((
f
.
cx
-
l
)
/
w
).
toFixed
(
8
)
+
" "
+
((
f
.
cy
-
t
)
/
h
).
toFixed
(
8
);
}
fo
.
focussize
=
"0 0"
;
fo
.
on
=
true
;
break
;
case
"pattern"
:
f
=
g
.
makeParameters
(
g
.
defaultPattern
,
_3
);
this
.
fillStyle
=
f
;
fo
=
this
.
rawNode
.
fill
;
fo
.
type
=
"tile"
;
fo
.
src
=
f
.
src
;
if
(
f
.
width
&&
f
.
height
){
fo
.
size
.
x
=
g
.
px2pt
(
f
.
width
);
fo
.
size
.
y
=
g
.
px2pt
(
f
.
height
);
}
fo
.
alignShape
=
"f"
;
fo
.
position
.
x
=
0
;
fo
.
position
.
y
=
0
;
fo
.
origin
.
x
=
f
.
width
?
f
.
x
/
f
.
width
:
0
;
fo
.
origin
.
y
=
f
.
height
?
f
.
y
/
f
.
height
:
0
;
fo
.
on
=
true
;
break
;
}
this
.
rawNode
.
fill
.
opacity
=
1
;
return
this
;
}
this
.
fillStyle
=
g
.
normalizeColor
(
_3
);
fo
=
this
.
rawNode
.
fill
;
if
(
!
fo
){
fo
=
this
.
rawNode
.
ownerDocument
.
createElement
(
"v:fill"
);
}
fo
.
method
=
"any"
;
fo
.
type
=
"solid"
;
fo
.
opacity
=
this
.
fillStyle
.
a
;
this
.
rawNode
.
fillcolor
=
this
.
fillStyle
.
toHex
();
this
.
rawNode
.
filled
=
true
;
return
this
;
},
setStroke
:
function
(
_7
){
if
(
!
_7
){
this
.
strokeStyle
=
null
;
this
.
rawNode
.
stroked
=
"f"
;
return
this
;
}
if
(
typeof
_7
==
"string"
||
d
.
isArray
(
_7
)
||
_7
instanceof
d
.
Color
){
_7
=
{
color
:
_7
};
}
var
s
=
this
.
strokeStyle
=
g
.
makeParameters
(
g
.
defaultStroke
,
_7
);
s
.
color
=
g
.
normalizeColor
(
s
.
color
);
var
rn
=
this
.
rawNode
;
rn
.
stroked
=
true
;
rn
.
strokecolor
=
s
.
color
.
toCss
();
rn
.
strokeweight
=
s
.
width
+
"px"
;
if
(
rn
.
stroke
){
rn
.
stroke
.
opacity
=
s
.
color
.
a
;
rn
.
stroke
.
endcap
=
this
.
_translate
(
this
.
_capMap
,
s
.
cap
);
if
(
typeof
s
.
join
==
"number"
){
rn
.
stroke
.
joinstyle
=
"miter"
;
rn
.
stroke
.
miterlimit
=
s
.
join
;
}
else
{
rn
.
stroke
.
joinstyle
=
s
.
join
;
}
rn
.
stroke
.
dashstyle
=
s
.
style
==
"none"
?
"Solid"
:
s
.
style
;
}
return
this
;
},
_capMap
:
{
butt
:
"flat"
},
_capMapReversed
:
{
flat
:
"butt"
},
_translate
:
function
(
_8
,
_9
){
return
(
_9
in
_8
)
?
_8
[
_9
]
:
_9
;
},
_applyTransform
:
function
(){
if
(
this
.
fillStyle
&&
this
.
fillStyle
.
type
==
"linear"
){
this
.
setFill
(
this
.
fillStyle
);
}
var
_a
=
this
.
_getRealMatrix
();
if
(
!
_a
){
return
this
;
}
var
_b
=
this
.
rawNode
.
skew
;
if
(
typeof
_b
==
"undefined"
){
for
(
var
i
=
0
;
i
<
this
.
rawNode
.
childNodes
.
length
;
++
i
){
if
(
this
.
rawNode
.
childNodes
[
i
].
tagName
==
"skew"
){
_b
=
this
.
rawNode
.
childNodes
[
i
];
break
;
}
}
}
if
(
_b
){
_b
.
on
=
"f"
;
var
mt
=
_a
.
xx
.
toFixed
(
8
)
+
" "
+
_a
.
xy
.
toFixed
(
8
)
+
" "
+
_a
.
yx
.
toFixed
(
8
)
+
" "
+
_a
.
yy
.
toFixed
(
8
)
+
" 0 0"
,
_c
=
Math
.
floor
(
_a
.
dx
).
toFixed
()
+
"px "
+
Math
.
floor
(
_a
.
dy
).
toFixed
()
+
"px"
,
s
=
this
.
rawNode
.
style
,
l
=
parseFloat
(
s
.
left
),
t
=
parseFloat
(
s
.
top
),
w
=
parseFloat
(
s
.
width
),
h
=
parseFloat
(
s
.
height
);
if
(
isNaN
(
l
)){
l
=
0
;
}
if
(
isNaN
(
t
)){
t
=
0
;
}
if
(
isNaN
(
w
)
||!
w
){
w
=
1
;
}
if
(
isNaN
(
h
)
||!
h
){
h
=
1
;
}
var
_d
=
(
-
l
/
w
-
0.5
).
toFixed
(
8
)
+
" "
+
(
-
t
/
h
-
0.5
).
toFixed
(
8
);
_b
.
matrix
=
mt
;
_b
.
origin
=
_d
;
_b
.
offset
=
_c
;
_b
.
on
=
true
;
}
return
this
;
},
_setDimensions
:
function
(
_e
,
_f
){
return
this
;
},
setRawNode
:
function
(
_10
){
_10
.
stroked
=
"f"
;
_10
.
filled
=
"f"
;
this
.
rawNode
=
_10
;
},
_moveToFront
:
function
(){
this
.
rawNode
.
parentNode
.
appendChild
(
this
.
rawNode
);
return
this
;
},
_moveToBack
:
function
(){
var
r
=
this
.
rawNode
,
p
=
r
.
parentNode
,
n
=
p
.
firstChild
;
p
.
insertBefore
(
r
,
n
);
if
(
n
.
tagName
==
"rect"
){
n
.
swapNode
(
r
);
}
return
this
;
},
_getRealMatrix
:
function
(){
return
this
.
parentMatrix
?
new
g
.
Matrix2D
([
this
.
parentMatrix
,
this
.
matrix
])
:
this
.
matrix
;
}});
dojo
.
declare
(
"dojox.gfx.Group"
,
g
.
Shape
,{
constructor
:
function
(){
_1
.
Container
.
_init
.
call
(
this
);
},
_applyTransform
:
function
(){
var
_11
=
this
.
_getRealMatrix
();
for
(
var
i
=
0
;
i
<
this
.
children
.
length
;
++
i
){
this
.
children
[
i
].
_updateParentMatrix
(
_11
);
}
return
this
;
},
_setDimensions
:
function
(
_12
,
_13
){
var
r
=
this
.
rawNode
,
rs
=
r
.
style
,
bs
=
this
.
bgNode
.
style
;
rs
.
width
=
_12
;
rs
.
height
=
_13
;
r
.
coordsize
=
_12
+
" "
+
_13
;
bs
.
width
=
_12
;
bs
.
height
=
_13
;
for
(
var
i
=
0
;
i
<
this
.
children
.
length
;
++
i
){
this
.
children
[
i
].
_setDimensions
(
_12
,
_13
);
}
return
this
;
}});
g
.
Group
.
nodeType
=
"group"
;
dojo
.
declare
(
"dojox.gfx.Rect"
,
gs
.
Rect
,{
setShape
:
function
(
_14
){
var
_15
=
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_14
);
this
.
bbox
=
null
;
var
r
=
Math
.
min
(
1
,(
_15
.
r
/
Math
.
min
(
parseFloat
(
_15
.
width
),
parseFloat
(
_15
.
height
)))).
toFixed
(
8
);
var
_16
=
this
.
rawNode
.
parentNode
,
_17
=
null
;
if
(
_16
){
if
(
_16
.
lastChild
!==
this
.
rawNode
){
for
(
var
i
=
0
;
i
<
_16
.
childNodes
.
length
;
++
i
){
if
(
_16
.
childNodes
[
i
]
===
this
.
rawNode
){
_17
=
_16
.
childNodes
[
i
+
1
];
break
;
}
}
}
_16
.
removeChild
(
this
.
rawNode
);
}
if
(
d
.
isIE
>
7
){
var
_18
=
this
.
rawNode
.
ownerDocument
.
createElement
(
"v:roundrect"
);
_18
.
arcsize
=
r
;
_18
.
style
.
display
=
"inline-block"
;
this
.
rawNode
=
_18
;
}
else
{
this
.
rawNode
.
arcsize
=
r
;
}
if
(
_16
){
if
(
_17
){
_16
.
insertBefore
(
this
.
rawNode
,
_17
);
}
else
{
_16
.
appendChild
(
this
.
rawNode
);
}
}
var
_19
=
this
.
rawNode
.
style
;
_19
.
left
=
_15
.
x
.
toFixed
();
_19
.
top
=
_15
.
y
.
toFixed
();
_19
.
width
=
(
typeof
_15
.
width
==
"string"
&&
_15
.
width
.
indexOf
(
"%"
)
>=
0
)
?
_15
.
width
:
_15
.
width
.
toFixed
();
_19
.
height
=
(
typeof
_15
.
width
==
"string"
&&
_15
.
height
.
indexOf
(
"%"
)
>=
0
)
?
_15
.
height
:
_15
.
height
.
toFixed
();
return
this
.
setTransform
(
this
.
matrix
).
setFill
(
this
.
fillStyle
).
setStroke
(
this
.
strokeStyle
);
}});
g
.
Rect
.
nodeType
=
"roundrect"
;
dojo
.
declare
(
"dojox.gfx.Ellipse"
,
gs
.
Ellipse
,{
setShape
:
function
(
_1a
){
var
_1b
=
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_1a
);
this
.
bbox
=
null
;
var
_1c
=
this
.
rawNode
.
style
;
_1c
.
left
=
(
_1b
.
cx
-
_1b
.
rx
).
toFixed
();
_1c
.
top
=
(
_1b
.
cy
-
_1b
.
ry
).
toFixed
();
_1c
.
width
=
(
_1b
.
rx
*
2
).
toFixed
();
_1c
.
height
=
(
_1b
.
ry
*
2
).
toFixed
();
return
this
.
setTransform
(
this
.
matrix
);
}});
g
.
Ellipse
.
nodeType
=
"oval"
;
dojo
.
declare
(
"dojox.gfx.Circle"
,
gs
.
Circle
,{
setShape
:
function
(
_1d
){
var
_1e
=
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_1d
);
this
.
bbox
=
null
;
var
_1f
=
this
.
rawNode
.
style
;
_1f
.
left
=
(
_1e
.
cx
-
_1e
.
r
).
toFixed
();
_1f
.
top
=
(
_1e
.
cy
-
_1e
.
r
).
toFixed
();
_1f
.
width
=
(
_1e
.
r
*
2
).
toFixed
();
_1f
.
height
=
(
_1e
.
r
*
2
).
toFixed
();
return
this
;
}});
g
.
Circle
.
nodeType
=
"oval"
;
dojo
.
declare
(
"dojox.gfx.Line"
,
gs
.
Line
,{
constructor
:
function
(
_20
){
if
(
_20
){
_20
.
setAttribute
(
"dojoGfxType"
,
"line"
);
}
},
setShape
:
function
(
_21
){
var
_22
=
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_21
);
this
.
bbox
=
null
;
this
.
rawNode
.
path
.
v
=
"m"
+
_22
.
x1
.
toFixed
()
+
" "
+
_22
.
y1
.
toFixed
()
+
"l"
+
_22
.
x2
.
toFixed
()
+
" "
+
_22
.
y2
.
toFixed
()
+
"e"
;
return
this
.
setTransform
(
this
.
matrix
);
}});
g
.
Line
.
nodeType
=
"shape"
;
dojo
.
declare
(
"dojox.gfx.Polyline"
,
gs
.
Polyline
,{
constructor
:
function
(
_23
){
if
(
_23
){
_23
.
setAttribute
(
"dojoGfxType"
,
"polyline"
);
}
},
setShape
:
function
(
_24
,
_25
){
if
(
_24
&&
_24
instanceof
Array
){
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,{
points
:
_24
});
if
(
_25
&&
this
.
shape
.
points
.
length
){
this
.
shape
.
points
.
push
(
this
.
shape
.
points
[
0
]);
}
}
else
{
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_24
);
}
this
.
bbox
=
null
;
this
.
_normalizePoints
();
var
_26
=
[],
p
=
this
.
shape
.
points
;
if
(
p
.
length
>
0
){
_26
.
push
(
"m"
);
_26
.
push
(
p
[
0
].
x
.
toFixed
(),
p
[
0
].
y
.
toFixed
());
if
(
p
.
length
>
1
){
_26
.
push
(
"l"
);
for
(
var
i
=
1
;
i
<
p
.
length
;
++
i
){
_26
.
push
(
p
[
i
].
x
.
toFixed
(),
p
[
i
].
y
.
toFixed
());
}
}
}
_26
.
push
(
"e"
);
this
.
rawNode
.
path
.
v
=
_26
.
join
(
" "
);
return
this
.
setTransform
(
this
.
matrix
);
}});
g
.
Polyline
.
nodeType
=
"shape"
;
dojo
.
declare
(
"dojox.gfx.Image"
,
gs
.
Image
,{
setShape
:
function
(
_27
){
var
_28
=
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_27
);
this
.
bbox
=
null
;
this
.
rawNode
.
firstChild
.
src
=
_28
.
src
;
return
this
.
setTransform
(
this
.
matrix
);
},
_applyTransform
:
function
(){
var
_29
=
this
.
_getRealMatrix
(),
_2a
=
this
.
rawNode
,
s
=
_2a
.
style
,
_2b
=
this
.
shape
;
if
(
_29
){
_29
=
m
.
multiply
(
_29
,{
dx
:
_2b
.
x
,
dy
:
_2b
.
y
});
}
else
{
_29
=
m
.
normalize
({
dx
:
_2b
.
x
,
dy
:
_2b
.
y
});
}
if
(
_29
.
xy
==
0
&&
_29
.
yx
==
0
&&
_29
.
xx
>
0
&&
_29
.
yy
>
0
){
s
.
filter
=
""
;
s
.
width
=
Math
.
floor
(
_29
.
xx
*
_2b
.
width
);
s
.
height
=
Math
.
floor
(
_29
.
yy
*
_2b
.
height
);
s
.
left
=
Math
.
floor
(
_29
.
dx
);
s
.
top
=
Math
.
floor
(
_29
.
dy
);
}
else
{
var
ps
=
_2a
.
parentNode
.
style
;
s
.
left
=
"0px"
;
s
.
top
=
"0px"
;
s
.
width
=
ps
.
width
;
s
.
height
=
ps
.
height
;
_29
=
m
.
multiply
(
_29
,{
xx
:
_2b
.
width
/
parseInt
(
s
.
width
),
yy
:
_2b
.
height
/
parseInt
(
s
.
height
)});
var
f
=
_2a
.
filters
[
"DXImageTransform.Microsoft.Matrix"
];
if
(
f
){
f
.
M11
=
_29
.
xx
;
f
.
M12
=
_29
.
xy
;
f
.
M21
=
_29
.
yx
;
f
.
M22
=
_29
.
yy
;
f
.
Dx
=
_29
.
dx
;
f
.
Dy
=
_29
.
dy
;
}
else
{
s
.
filter
=
"progid:DXImageTransform.Microsoft.Matrix(M11="
+
_29
.
xx
+
", M12="
+
_29
.
xy
+
", M21="
+
_29
.
yx
+
", M22="
+
_29
.
yy
+
", Dx="
+
_29
.
dx
+
", Dy="
+
_29
.
dy
+
")"
;
}
}
return
this
;
},
_setDimensions
:
function
(
_2c
,
_2d
){
var
r
=
this
.
rawNode
,
f
=
r
.
filters
[
"DXImageTransform.Microsoft.Matrix"
];
if
(
f
){
var
s
=
r
.
style
;
s
.
width
=
_2c
;
s
.
height
=
_2d
;
return
this
.
_applyTransform
();
}
return
this
;
}});
g
.
Image
.
nodeType
=
"rect"
;
dojo
.
declare
(
"dojox.gfx.Text"
,
gs
.
Text
,{
constructor
:
function
(
_2e
){
if
(
_2e
){
_2e
.
setAttribute
(
"dojoGfxType"
,
"text"
);
}
this
.
fontStyle
=
null
;
},
_alignment
:
{
start
:
"left"
,
middle
:
"center"
,
end
:
"right"
},
setShape
:
function
(
_2f
){
this
.
shape
=
g
.
makeParameters
(
this
.
shape
,
_2f
);
this
.
bbox
=
null
;
var
r
=
this
.
rawNode
,
s
=
this
.
shape
,
x
=
s
.
x
,
y
=
s
.
y
.
toFixed
(),
_30
;
switch
(
s
.
align
){
case
"middle"
:
x
-=
5
;
break
;
case
"end"
:
x
-=
10
;
break
;
}
_30
=
"m"
+
x
.
toFixed
()
+
","
+
y
+
"l"
+
(
x
+
10
).
toFixed
()
+
","
+
y
+
"e"
;
var
p
=
null
,
t
=
null
,
c
=
r
.
childNodes
;
for
(
var
i
=
0
;
i
<
c
.
length
;
++
i
){
var
tag
=
c
[
i
].
tagName
;
if
(
tag
==
"path"
){
p
=
c
[
i
];
if
(
t
){
break
;
}
}
else
{
if
(
tag
==
"textpath"
){
t
=
c
[
i
];
if
(
p
){
break
;
}
}
}
}
if
(
!
p
){
p
=
r
.
ownerDocument
.
createElement
(
"v:path"
);
r
.
appendChild
(
p
);
}
if
(
!
t
){
t
=
r
.
ownerDocument
.
createElement
(
"v:textpath"
);
r
.
appendChild
(
t
);
}
p
.
v
=
_30
;
p
.
textPathOk
=
true
;
t
.
on
=
true
;
var
a
=
_1
.
text_alignment
[
s
.
align
];
t
.
style
[
"v-text-align"
]
=
a
?
a
:
"left"
;
t
.
style
[
"text-decoration"
]
=
s
.
decoration
;
t
.
style
[
"v-rotate-letters"
]
=
s
.
rotated
;
t
.
style
[
"v-text-kern"
]
=
s
.
kerning
;
t
.
string
=
s
.
text
;
return
this
.
setTransform
(
this
.
matrix
);
},
_setFont
:
function
(){
var
f
=
this
.
fontStyle
,
c
=
this
.
rawNode
.
childNodes
;
for
(
var
i
=
0
;
i
<
c
.
length
;
++
i
){
if
(
c
[
i
].
tagName
==
"textpath"
){
c
[
i
].
style
.
font
=
g
.
makeFontString
(
f
);
break
;
}
}
this
.
setTransform
(
this
.
matrix
);
},
_getRealMatrix
:
function
(){
var
_31
=
g
.
Shape
.
prototype
.
_getRealMatrix
.
call
(
this
);
if
(
_31
){
_31
=
m
.
multiply
(
_31
,{
dy
:-
g
.
normalizedLength
(
this
.
fontStyle
?
this
.
fontStyle
.
size
:
"10pt"
)
*
0.35
});
}
return
_31
;
},
getTextWidth
:
function
(){
var
_32
=
this
.
rawNode
,
_33
=
_32
.
style
.
display
;
_32
.
style
.
display
=
"inline"
;
var
_34
=
g
.
pt2px
(
parseFloat
(
_32
.
currentStyle
.
width
));
_32
.
style
.
display
=
_33
;
return
_34
;
}});
g
.
Text
.
nodeType
=
"shape"
;
g
.
path
.
_calcArc
=
function
(
_35
){
var
_36
=
Math
.
cos
(
_35
),
_37
=
Math
.
sin
(
_35
),
p2
=
{
x
:
_36
+
(
4
/
3
)
*
(
1
-
_36
),
y
:
_37
-
(
4
/
3
)
*
_36
*
(
1
-
_36
)
/
_37
};
return
{
s
:
{
x
:
_36
,
y
:-
_37
},
c1
:
{
x
:
p2
.
x
,
y
:-
p2
.
y
},
c2
:
p2
,
e
:
{
x
:
_36
,
y
:
_37
}};
};
dojo
.
declare
(
"dojox.gfx.Path"
,
g
.
path
.
Path
,{
constructor
:
function
(
_38
){
if
(
_38
&&!
_38
.
getAttribute
(
"dojoGfxType"
)){
_38
.
setAttribute
(
"dojoGfxType"
,
"path"
);
}
this
.
vmlPath
=
""
;
this
.
lastControl
=
{};
},
_updateWithSegment
:
function
(
_39
){
var
_3a
=
d
.
clone
(
this
.
last
);
g
.
Path
.
superclass
.
_updateWithSegment
.
apply
(
this
,
arguments
);
var
_3b
=
this
[
this
.
renderers
[
_39
.
action
]](
_39
,
_3a
);
if
(
typeof
this
.
vmlPath
==
"string"
){
this
.
vmlPath
+=
_3b
.
join
(
""
);
this
.
rawNode
.
path
.
v
=
this
.
vmlPath
+
" r0,0 e"
;
}
else
{
Array
.
prototype
.
push
.
apply
(
this
.
vmlPath
,
_3b
);
}
},
setShape
:
function
(
_3c
){
this
.
vmlPath
=
[];
this
.
lastControl
.
type
=
""
;
g
.
Path
.
superclass
.
setShape
.
apply
(
this
,
arguments
);
this
.
vmlPath
=
this
.
vmlPath
.
join
(
""
);
this
.
rawNode
.
path
.
v
=
this
.
vmlPath
+
" r0,0 e"
;
return
this
;
},
_pathVmlToSvgMap
:
{
m
:
"M"
,
l
:
"L"
,
t
:
"m"
,
r
:
"l"
,
c
:
"C"
,
v
:
"c"
,
qb
:
"Q"
,
x
:
"z"
,
e
:
""
},
renderers
:
{
M
:
"_moveToA"
,
m
:
"_moveToR"
,
L
:
"_lineToA"
,
l
:
"_lineToR"
,
H
:
"_hLineToA"
,
h
:
"_hLineToR"
,
V
:
"_vLineToA"
,
v
:
"_vLineToR"
,
C
:
"_curveToA"
,
c
:
"_curveToR"
,
S
:
"_smoothCurveToA"
,
s
:
"_smoothCurveToR"
,
Q
:
"_qCurveToA"
,
q
:
"_qCurveToR"
,
T
:
"_qSmoothCurveToA"
,
t
:
"_qSmoothCurveToR"
,
A
:
"_arcTo"
,
a
:
"_arcTo"
,
Z
:
"_closePath"
,
z
:
"_closePath"
},
_addArgs
:
function
(
_3d
,
_3e
,
_3f
,
_40
){
var
n
=
_3e
instanceof
Array
?
_3e
:
_3e
.
args
;
for
(
var
i
=
_3f
;
i
<
_40
;
++
i
){
_3d
.
push
(
" "
,
n
[
i
].
toFixed
());
}
},
_adjustRelCrd
:
function
(
_41
,
_42
,
_43
){
var
n
=
_42
instanceof
Array
?
_42
:
_42
.
args
,
l
=
n
.
length
,
_44
=
new
Array
(
l
),
i
=
0
,
x
=
_41
.
x
,
y
=
_41
.
y
;
if
(
typeof
x
!=
"number"
){
_44
[
0
]
=
x
=
n
[
0
];
_44
[
1
]
=
y
=
n
[
1
];
i
=
2
;
}
if
(
typeof
_43
==
"number"
&&
_43
!=
2
){
var
j
=
_43
;
while
(
j
<=
l
){
for
(;
i
<
j
;
i
+=
2
){
_44
[
i
]
=
x
+
n
[
i
];
_44
[
i
+
1
]
=
y
+
n
[
i
+
1
];
}
x
=
_44
[
j
-
2
];
y
=
_44
[
j
-
1
];
j
+=
_43
;
}
}
else
{
for
(;
i
<
l
;
i
+=
2
){
_44
[
i
]
=
(
x
+=
n
[
i
]);
_44
[
i
+
1
]
=
(
y
+=
n
[
i
+
1
]);
}
}
return
_44
;
},
_adjustRelPos
:
function
(
_45
,
_46
){
var
n
=
_46
instanceof
Array
?
_46
:
_46
.
args
,
l
=
n
.
length
,
_47
=
new
Array
(
l
);
for
(
var
i
=
0
;
i
<
l
;
++
i
){
_47
[
i
]
=
(
_45
+=
n
[
i
]);
}
return
_47
;
},
_moveToA
:
function
(
_48
){
var
p
=
[
" m"
],
n
=
_48
instanceof
Array
?
_48
:
_48
.
args
,
l
=
n
.
length
;
this
.
_addArgs
(
p
,
n
,
0
,
2
);
if
(
l
>
2
){
p
.
push
(
" l"
);
this
.
_addArgs
(
p
,
n
,
2
,
l
);
}
this
.
lastControl
.
type
=
""
;
return
p
;
},
_moveToR
:
function
(
_49
,
_4a
){
return
this
.
_moveToA
(
this
.
_adjustRelCrd
(
_4a
,
_49
));
},
_lineToA
:
function
(
_4b
){
var
p
=
[
" l"
],
n
=
_4b
instanceof
Array
?
_4b
:
_4b
.
args
;
this
.
_addArgs
(
p
,
n
,
0
,
n
.
length
);
this
.
lastControl
.
type
=
""
;
return
p
;
},
_lineToR
:
function
(
_4c
,
_4d
){
return
this
.
_lineToA
(
this
.
_adjustRelCrd
(
_4d
,
_4c
));
},
_hLineToA
:
function
(
_4e
,
_4f
){
var
p
=
[
" l"
],
y
=
" "
+
_4f
.
y
.
toFixed
(),
n
=
_4e
instanceof
Array
?
_4e
:
_4e
.
args
,
l
=
n
.
length
;
for
(
var
i
=
0
;
i
<
l
;
++
i
){
p
.
push
(
" "
,
n
[
i
].
toFixed
(),
y
);
}
this
.
lastControl
.
type
=
""
;
return
p
;
},
_hLineToR
:
function
(
_50
,
_51
){
return
this
.
_hLineToA
(
this
.
_adjustRelPos
(
_51
.
x
,
_50
),
_51
);
},
_vLineToA
:
function
(
_52
,
_53
){
var
p
=
[
" l"
],
x
=
" "
+
_53
.
x
.
toFixed
(),
n
=
_52
instanceof
Array
?
_52
:
_52
.
args
,
l
=
n
.
length
;
for
(
var
i
=
0
;
i
<
l
;
++
i
){
p
.
push
(
x
,
" "
,
n
[
i
].
toFixed
());
}
this
.
lastControl
.
type
=
""
;
return
p
;
},
_vLineToR
:
function
(
_54
,
_55
){
return
this
.
_vLineToA
(
this
.
_adjustRelPos
(
_55
.
y
,
_54
),
_55
);
},
_curveToA
:
function
(
_56
){
var
p
=
[],
n
=
_56
instanceof
Array
?
_56
:
_56
.
args
,
l
=
n
.
length
,
lc
=
this
.
lastControl
;
for
(
var
i
=
0
;
i
<
l
;
i
+=
6
){
p
.
push
(
" c"
);
this
.
_addArgs
(
p
,
n
,
i
,
i
+
6
);
}
lc
.
x
=
n
[
l
-
4
];
lc
.
y
=
n
[
l
-
3
];
lc
.
type
=
"C"
;
return
p
;
},
_curveToR
:
function
(
_57
,
_58
){
return
this
.
_curveToA
(
this
.
_adjustRelCrd
(
_58
,
_57
,
6
));
},
_smoothCurveToA
:
function
(
_59
,
_5a
){
var
p
=
[],
n
=
_59
instanceof
Array
?
_59
:
_59
.
args
,
l
=
n
.
length
,
lc
=
this
.
lastControl
,
i
=
0
;
if
(
lc
.
type
!=
"C"
){
p
.
push
(
" c"
);
this
.
_addArgs
(
p
,[
_5a
.
x
,
_5a
.
y
],
0
,
2
);
this
.
_addArgs
(
p
,
n
,
0
,
4
);
lc
.
x
=
n
[
0
];
lc
.
y
=
n
[
1
];
lc
.
type
=
"C"
;
i
=
4
;
}
for
(;
i
<
l
;
i
+=
4
){
p
.
push
(
" c"
);
this
.
_addArgs
(
p
,[
2
*
_5a
.
x
-
lc
.
x
,
2
*
_5a
.
y
-
lc
.
y
],
0
,
2
);
this
.
_addArgs
(
p
,
n
,
i
,
i
+
4
);
lc
.
x
=
n
[
i
];
lc
.
y
=
n
[
i
+
1
];
}
return
p
;
},
_smoothCurveToR
:
function
(
_5b
,
_5c
){
return
this
.
_smoothCurveToA
(
this
.
_adjustRelCrd
(
_5c
,
_5b
,
4
),
_5c
);
},
_qCurveToA
:
function
(
_5d
){
var
p
=
[],
n
=
_5d
instanceof
Array
?
_5d
:
_5d
.
args
,
l
=
n
.
length
,
lc
=
this
.
lastControl
;
for
(
var
i
=
0
;
i
<
l
;
i
+=
4
){
p
.
push
(
" qb"
);
this
.
_addArgs
(
p
,
n
,
i
,
i
+
4
);
}
lc
.
x
=
n
[
l
-
4
];
lc
.
y
=
n
[
l
-
3
];
lc
.
type
=
"Q"
;
return
p
;
},
_qCurveToR
:
function
(
_5e
,
_5f
){
return
this
.
_qCurveToA
(
this
.
_adjustRelCrd
(
_5f
,
_5e
,
4
));
},
_qSmoothCurveToA
:
function
(
_60
,
_61
){
var
p
=
[],
n
=
_60
instanceof
Array
?
_60
:
_60
.
args
,
l
=
n
.
length
,
lc
=
this
.
lastControl
,
i
=
0
;
if
(
lc
.
type
!=
"Q"
){
p
.
push
(
" qb"
);
this
.
_addArgs
(
p
,[
lc
.
x
=
_61
.
x
,
lc
.
y
=
_61
.
y
],
0
,
2
);
lc
.
type
=
"Q"
;
this
.
_addArgs
(
p
,
n
,
0
,
2
);
i
=
2
;
}
for
(;
i
<
l
;
i
+=
2
){
p
.
push
(
" qb"
);
this
.
_addArgs
(
p
,[
lc
.
x
=
2
*
_61
.
x
-
lc
.
x
,
lc
.
y
=
2
*
_61
.
y
-
lc
.
y
],
0
,
2
);
this
.
_addArgs
(
p
,
n
,
i
,
i
+
2
);
}
return
p
;
},
_qSmoothCurveToR
:
function
(
_62
,
_63
){
return
this
.
_qSmoothCurveToA
(
this
.
_adjustRelCrd
(
_63
,
_62
,
2
),
_63
);
},
_arcTo
:
function
(
_64
,
_65
){
var
p
=
[],
n
=
_64
.
args
,
l
=
n
.
length
,
_66
=
_64
.
action
==
"a"
;
for
(
var
i
=
0
;
i
<
l
;
i
+=
7
){
var
x1
=
n
[
i
+
5
],
y1
=
n
[
i
+
6
];
if
(
_66
){
x1
+=
_65
.
x
;
y1
+=
_65
.
y
;
}
var
_67
=
g
.
arc
.
arcAsBezier
(
_65
,
n
[
i
],
n
[
i
+
1
],
n
[
i
+
2
],
n
[
i
+
3
]
?
1
:
0
,
n
[
i
+
4
]
?
1
:
0
,
x1
,
y1
);
for
(
var
j
=
0
;
j
<
_67
.
length
;
++
j
){
p
.
push
(
" c"
);
var
t
=
_67
[
j
];
this
.
_addArgs
(
p
,
t
,
0
,
t
.
length
);
}
_65
.
x
=
x1
;
_65
.
y
=
y1
;
}
this
.
lastControl
.
type
=
""
;
return
p
;
},
_closePath
:
function
(){
this
.
lastControl
.
type
=
""
;
return
[
"x"
];
}});
g
.
Path
.
nodeType
=
"shape"
;
dojo
.
declare
(
"dojox.gfx.TextPath"
,
g
.
Path
,{
constructor
:
function
(
_68
){
if
(
_68
){
_68
.
setAttribute
(
"dojoGfxType"
,
"textpath"
);
}
this
.
fontStyle
=
null
;
if
(
!
(
"text"
in
this
)){
this
.
text
=
d
.
clone
(
g
.
defaultTextPath
);
}
if
(
!
(
"fontStyle"
in
this
)){
this
.
fontStyle
=
d
.
clone
(
g
.
defaultFont
);
}
},
setText
:
function
(
_69
){
this
.
text
=
g
.
makeParameters
(
this
.
text
,
typeof
_69
==
"string"
?
{
text
:
_69
}
:
_69
);
this
.
_setText
();
return
this
;
},
setFont
:
function
(
_6a
){
this
.
fontStyle
=
typeof
_6a
==
"string"
?
g
.
splitFontString
(
_6a
)
:
g
.
makeParameters
(
g
.
defaultFont
,
_6a
);
this
.
_setFont
();
return
this
;
},
_setText
:
function
(){
this
.
bbox
=
null
;
var
r
=
this
.
rawNode
,
s
=
this
.
text
,
p
=
null
,
t
=
null
,
c
=
r
.
childNodes
;
for
(
var
i
=
0
;
i
<
c
.
length
;
++
i
){
var
tag
=
c
[
i
].
tagName
;
if
(
tag
==
"path"
){
p
=
c
[
i
];
if
(
t
){
break
;
}
}
else
{
if
(
tag
==
"textpath"
){
t
=
c
[
i
];
if
(
p
){
break
;
}
}
}
}
if
(
!
p
){
p
=
this
.
rawNode
.
ownerDocument
.
createElement
(
"v:path"
);
r
.
appendChild
(
p
);
}
if
(
!
t
){
t
=
this
.
rawNode
.
ownerDocument
.
createElement
(
"v:textpath"
);
r
.
appendChild
(
t
);
}
p
.
textPathOk
=
true
;
t
.
on
=
true
;
var
a
=
_1
.
text_alignment
[
s
.
align
];
t
.
style
[
"v-text-align"
]
=
a
?
a
:
"left"
;
t
.
style
[
"text-decoration"
]
=
s
.
decoration
;
t
.
style
[
"v-rotate-letters"
]
=
s
.
rotated
;
t
.
style
[
"v-text-kern"
]
=
s
.
kerning
;
t
.
string
=
s
.
text
;
},
_setFont
:
function
(){
var
f
=
this
.
fontStyle
,
c
=
this
.
rawNode
.
childNodes
;
for
(
var
i
=
0
;
i
<
c
.
length
;
++
i
){
if
(
c
[
i
].
tagName
==
"textpath"
){
c
[
i
].
style
.
font
=
g
.
makeFontString
(
f
);
break
;
}
}
}});
g
.
TextPath
.
nodeType
=
"shape"
;
dojo
.
declare
(
"dojox.gfx.Surface"
,
gs
.
Surface
,{
constructor
:
function
(){
_1
.
Container
.
_init
.
call
(
this
);
},
setDimensions
:
function
(
_6b
,
_6c
){
this
.
width
=
g
.
normalizedLength
(
_6b
);
this
.
height
=
g
.
normalizedLength
(
_6c
);
if
(
!
this
.
rawNode
){
return
this
;
}
var
cs
=
this
.
clipNode
.
style
,
r
=
this
.
rawNode
,
rs
=
r
.
style
,
bs
=
this
.
bgNode
.
style
,
ps
=
this
.
_parent
.
style
,
i
;
ps
.
width
=
_6b
;
ps
.
height
=
_6c
;
cs
.
width
=
_6b
;
cs
.
height
=
_6c
;
cs
.
clip
=
"rect(0px "
+
_6b
+
"px "
+
_6c
+
"px 0px)"
;
rs
.
width
=
_6b
;
rs
.
height
=
_6c
;
r
.
coordsize
=
_6b
+
" "
+
_6c
;
bs
.
width
=
_6b
;
bs
.
height
=
_6c
;
for
(
i
=
0
;
i
<
this
.
children
.
length
;
++
i
){
this
.
children
[
i
].
_setDimensions
(
_6b
,
_6c
);
}
return
this
;
},
getDimensions
:
function
(){
var
t
=
this
.
rawNode
?
{
width
:
g
.
normalizedLength
(
this
.
rawNode
.
style
.
width
),
height
:
g
.
normalizedLength
(
this
.
rawNode
.
style
.
height
)}
:
null
;
if
(
t
.
width
<=
0
){
t
.
width
=
this
.
width
;
}
if
(
t
.
height
<=
0
){
t
.
height
=
this
.
height
;
}
return
t
;
}});
g
.
createSurface
=
function
(
_6d
,
_6e
,
_6f
){
if
(
!
_6e
&&!
_6f
){
var
pos
=
d
.
position
(
_6d
);
_6e
=
_6e
||
pos
.
w
;
_6f
=
_6f
||
pos
.
h
;
}
if
(
typeof
_6e
==
"number"
){
_6e
=
_6e
+
"px"
;
}
if
(
typeof
_6f
==
"number"
){
_6f
=
_6f
+
"px"
;
}
var
s
=
new
g
.
Surface
(),
p
=
d
.
byId
(
_6d
),
c
=
s
.
clipNode
=
p
.
ownerDocument
.
createElement
(
"div"
),
r
=
s
.
rawNode
=
p
.
ownerDocument
.
createElement
(
"v:group"
),
cs
=
c
.
style
,
rs
=
r
.
style
;
if
(
d
.
isIE
>
7
){
rs
.
display
=
"inline-block"
;
}
s
.
_parent
=
p
;
s
.
_nodes
.
push
(
c
);
p
.
style
.
width
=
_6e
;
p
.
style
.
height
=
_6f
;
cs
.
position
=
"absolute"
;
cs
.
width
=
_6e
;
cs
.
height
=
_6f
;
cs
.
clip
=
"rect(0px "
+
_6e
+
" "
+
_6f
+
" 0px)"
;
rs
.
position
=
"absolute"
;
rs
.
width
=
_6e
;
rs
.
height
=
_6f
;
r
.
coordsize
=
(
_6e
===
"100%"
?
_6e
:
parseFloat
(
_6e
))
+
" "
+
(
_6f
===
"100%"
?
_6f
:
parseFloat
(
_6f
));
r
.
coordorigin
=
"0 0"
;
var
b
=
s
.
bgNode
=
r
.
ownerDocument
.
createElement
(
"v:rect"
),
bs
=
b
.
style
;
bs
.
left
=
bs
.
top
=
0
;
bs
.
width
=
rs
.
width
;
bs
.
height
=
rs
.
height
;
b
.
filled
=
b
.
stroked
=
"f"
;
r
.
appendChild
(
b
);
c
.
appendChild
(
r
);
p
.
appendChild
(
c
);
s
.
width
=
g
.
normalizedLength
(
_6e
);
s
.
height
=
g
.
normalizedLength
(
_6f
);
return
s
;
};
_1
.
Container
=
{
_init
:
function
(){
gs
.
Container
.
_init
.
call
(
this
);
},
add
:
function
(
_70
){
if
(
this
!=
_70
.
getParent
()){
this
.
rawNode
.
appendChild
(
_70
.
rawNode
);
if
(
!
_70
.
getParent
()){
_70
.
setFill
(
_70
.
getFill
());
_70
.
setStroke
(
_70
.
getStroke
());
}
gs
.
Container
.
add
.
apply
(
this
,
arguments
);
}
return
this
;
},
remove
:
function
(
_71
,
_72
){
if
(
this
==
_71
.
getParent
()){
if
(
this
.
rawNode
==
_71
.
rawNode
.
parentNode
){
this
.
rawNode
.
removeChild
(
_71
.
rawNode
);
}
gs
.
Container
.
remove
.
apply
(
this
,
arguments
);
}
return
this
;
},
clear
:
function
(){
var
r
=
this
.
rawNode
;
while
(
r
.
firstChild
!=
r
.
lastChild
){
if
(
r
.
firstChild
!=
this
.
bgNode
){
r
.
removeChild
(
r
.
firstChild
);
}
if
(
r
.
lastChild
!=
this
.
bgNode
){
r
.
removeChild
(
r
.
lastChild
);
}
}
return
gs
.
Container
.
clear
.
apply
(
this
,
arguments
);
},
_moveChildToFront
:
gs
.
Container
.
_moveChildToFront
,
_moveChildToBack
:
gs
.
Container
.
_moveChildToBack
};
dojo
.
mixin
(
gs
.
Creator
,{
createGroup
:
function
(){
var
_73
=
this
.
createObject
(
g
.
Group
,
null
);
var
r
=
_73
.
rawNode
.
ownerDocument
.
createElement
(
"v:rect"
);
r
.
style
.
left
=
r
.
style
.
top
=
0
;
r
.
style
.
width
=
_73
.
rawNode
.
style
.
width
;
r
.
style
.
height
=
_73
.
rawNode
.
style
.
height
;
r
.
filled
=
r
.
stroked
=
"f"
;
_73
.
rawNode
.
appendChild
(
r
);
_73
.
bgNode
=
r
;
return
_73
;
},
createImage
:
function
(
_74
){
if
(
!
this
.
rawNode
){
return
null
;
}
var
_75
=
new
g
.
Image
(),
doc
=
this
.
rawNode
.
ownerDocument
,
_76
=
doc
.
createElement
(
"v:rect"
);
_76
.
stroked
=
"f"
;
_76
.
style
.
width
=
this
.
rawNode
.
style
.
width
;
_76
.
style
.
height
=
this
.
rawNode
.
style
.
height
;
var
img
=
doc
.
createElement
(
"v:imagedata"
);
_76
.
appendChild
(
img
);
_75
.
setRawNode
(
_76
);
this
.
rawNode
.
appendChild
(
_76
);
_75
.
setShape
(
_74
);
this
.
add
(
_75
);
return
_75
;
},
createRect
:
function
(
_77
){
if
(
!
this
.
rawNode
){
return
null
;
}
var
_78
=
new
g
.
Rect
,
_79
=
this
.
rawNode
.
ownerDocument
.
createElement
(
"v:roundrect"
);
if
(
d
.
isIE
>
7
){
_79
.
style
.
display
=
"inline-block"
;
}
_78
.
setRawNode
(
_79
);
this
.
rawNode
.
appendChild
(
_79
);
_78
.
setShape
(
_77
);
this
.
add
(
_78
);
return
_78
;
},
createObject
:
function
(
_7a
,
_7b
){
if
(
!
this
.
rawNode
){
return
null
;
}
var
_7c
=
new
_7a
(),
_7d
=
this
.
rawNode
.
ownerDocument
.
createElement
(
"v:"
+
_7a
.
nodeType
);
_7c
.
setRawNode
(
_7d
);
this
.
rawNode
.
appendChild
(
_7d
);
switch
(
_7a
){
case
g
.
Group
:
case
g
.
Line
:
case
g
.
Polyline
:
case
g
.
Image
:
case
g
.
Text
:
case
g
.
Path
:
case
g
.
TextPath
:
this
.
_overrideSize
(
_7d
);
}
_7c
.
setShape
(
_7b
);
this
.
add
(
_7c
);
return
_7c
;
},
_overrideSize
:
function
(
_7e
){
var
s
=
this
.
rawNode
.
style
,
w
=
s
.
width
,
h
=
s
.
height
;
_7e
.
style
.
width
=
w
;
_7e
.
style
.
height
=
h
;
_7e
.
coordsize
=
parseInt
(
w
)
+
" "
+
parseInt
(
h
);
}});
d
.
extend
(
g
.
Group
,
_1
.
Container
);
d
.
extend
(
g
.
Group
,
gs
.
Creator
);
d
.
extend
(
g
.
Surface
,
_1
.
Container
);
d
.
extend
(
g
.
Surface
,
gs
.
Creator
);
})();
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Feb 22, 15:27 (8 h, 13 m ago)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
24103
Default Alt Text
vml.js (22 KB)
Attached To
rZED Zed
Event Timeline
Log In to Comment