Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
sdkjs
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Boris Kocherov
sdkjs
Commits
19d366bc
Commit
19d366bc
authored
Apr 26, 2016
by
Alexey.Musinov
Committed by
Alexander.Trofimov
May 19, 2016
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[mobile] сборка скриптов для таблиц
parent
1690a3cd
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
488 additions
and
671 deletions
+488
-671
build/configs/webexcel.json
build/configs/webexcel.json
+12
-10
cell/native/common.js
cell/native/common.js
+473
-0
cell/native/native.js
cell/native/native.js
+3
-661
No files found.
build/configs/webexcel.json
View file @
19d366bc
...
...
@@ -175,20 +175,21 @@
"../common/Local/common.js"
,
"../cell/Local/api.js"
],
"mobile"
:
[
"mobile
_banners
"
:
[
"../../web-apps/vendor/xregexp/xregexp-all-min.js"
,
"../../web-apps/vendor/underscore/underscore-min.js"
,
"../c
ommon/Native/jquery_native
.js"
,
"../c
ell/native/common
.js"
,
"../common/Native/Wrappers/memory.js"
,
"../common/Native/jquery_native.js"
,
"../cell/native/DrawingContext.js"
],
"mobile"
:
[
"../common/Native/Wrappers/TextMeasurerWrapper.js"
,
"../common/Native/Wrappers/DrawingStream.js"
,
"../cell/native/DrawingContext.js"
,
"../cell/native/Graphics.js"
,
"../cell/native/Overlay.js"
,
"../common/Native/Wrappers/ShapeDrawer.js"
,
"../cell/native/
DrawingDocument.js"
]
,
"mobile_banners"
:
[
"../cell/native/
Overlay.js"
,
"../cell/native/Graphics.js"
,
"../cell/native/DrawingDocument.js"
,
"../cell/native/native.js"
],
"exclude_mobile"
:
[
...
...
@@ -201,7 +202,8 @@
"../common/FontsFreeType/FontFile.js"
,
"../common/FontsFreeType/FontManager.js"
,
"../common/FontsFreeType/TextMeasurer.js"
,
"../cell/model/DrawingObjects/Graphics.js"
"../cell/model/DrawingObjects/Graphics.js"
,
"../cell/view/iscroll.js"
],
"dst"
:
"../cell/sdk-all.js"
,
"externs"
:
[
...
...
cell/native/common.js
0 → 100644
View file @
19d366bc
var
editor
=
undefined
;
var
window
=
{};
var
navigator
=
{};
navigator
.
userAgent
=
"
chrome
"
;
window
.
navigator
=
navigator
;
window
.
location
=
{};
window
.
location
.
protocol
=
""
;
window
.
location
.
host
=
""
;
window
.
location
.
href
=
""
;
window
.
location
.
pathname
=
""
;
window
.
NATIVE_EDITOR_ENJINE
=
true
;
window
.
NATIVE_EDITOR_ENJINE_SYNC_RECALC
=
true
;
window
.
IS_NATIVE_EDITOR
=
true
;
var
document
=
{};
window
.
document
=
document
;
var
History
=
{};
window
[
"
Asc
"
]
=
{};
var
Asc
=
window
[
"
Asc
"
];
window
[
"
AscFonts
"
]
=
{};
var
AscFonts
=
window
[
"
AscFonts
"
];
window
[
"
AscCommon
"
]
=
{};
var
AscCommon
=
window
[
"
AscCommon
"
];
window
[
"
AscFormat
"
]
=
{};
var
AscFormat
=
window
[
"
AscFormat
"
];
window
[
"
AscDFH
"
]
=
{};
var
AscDFH
=
window
[
"
AscDFH
"
];
window
[
"
AscCH
"
]
=
{};
var
AscCH
=
window
[
"
AscCH
"
];
window
[
"
AscCommonExcel
"
]
=
{};
var
AscCommonExcel
=
window
[
"
AscCommonExcel
"
];
//-------------------------------------------------------------------------------------------------
aStandartNumFormats
=
[];
aStandartNumFormats
[
0
]
=
"
General
"
;
aStandartNumFormats
[
1
]
=
"
0
"
;
aStandartNumFormats
[
2
]
=
"
0.00
"
;
aStandartNumFormats
[
3
]
=
"
#,##0
"
;
aStandartNumFormats
[
4
]
=
"
#,##0.00
"
;
aStandartNumFormats
[
9
]
=
"
0%
"
;
aStandartNumFormats
[
10
]
=
"
0.00%
"
;
aStandartNumFormats
[
11
]
=
"
0.00E+00
"
;
aStandartNumFormats
[
12
]
=
"
# ?/?
"
;
aStandartNumFormats
[
13
]
=
"
# ??/??
"
;
aStandartNumFormats
[
14
]
=
"
m/d/yyyy
"
;
aStandartNumFormats
[
15
]
=
"
d-mmm-yy
"
;
aStandartNumFormats
[
16
]
=
"
d-mmm
"
;
aStandartNumFormats
[
17
]
=
"
mmm-yy
"
;
aStandartNumFormats
[
18
]
=
"
h:mm AM/PM
"
;
aStandartNumFormats
[
19
]
=
"
h:mm:ss AM/PM
"
;
aStandartNumFormats
[
20
]
=
"
h:mm
"
;
aStandartNumFormats
[
21
]
=
"
h:mm:ss
"
;
aStandartNumFormats
[
22
]
=
"
m/d/yyyy h:mm
"
;
aStandartNumFormats
[
37
]
=
"
#,##0_);(#,##0)
"
;
aStandartNumFormats
[
38
]
=
"
#,##0_);[Red](#,##0)
"
;
aStandartNumFormats
[
39
]
=
"
#,##0.00_);(#,##0.00)
"
;
aStandartNumFormats
[
40
]
=
"
#,##0.00_);[Red](#,##0.00)
"
;
aStandartNumFormats
[
45
]
=
"
mm:ss
"
;
aStandartNumFormats
[
46
]
=
"
[h]:mm:ss
"
;
aStandartNumFormats
[
47
]
=
"
mm:ss.0
"
;
aStandartNumFormats
[
48
]
=
"
##0.0E+0
"
;
aStandartNumFormats
[
49
]
=
"
@
"
;
aStandartNumFormatsId
=
{};
for
(
var
i
in
aStandartNumFormats
)
{
aStandartNumFormatsId
[
aStandartNumFormats
[
i
]]
=
i
-
0
;
}
//-------------------------------------------------------------------------------------------------
function
Image
()
{
this
.
src
=
""
;
this
.
onload
=
function
()
{
}
this
.
onerror
=
function
()
{
}
}
function
_image_data
()
{
this
.
data
=
null
;
this
.
length
=
0
;
}
function
native_pattern_fill
()
{
}
native_pattern_fill
.
prototype
=
{
setTransform
:
function
(
transform
)
{}
};
function
native_gradient_fill
()
{
}
native_gradient_fill
.
prototype
=
{
addColorStop
:
function
(
offset
,
color
)
{}
};
function
native_context2d
(
parent
)
{
this
.
canvas
=
parent
;
this
.
globalAlpha
=
0
;
this
.
globalCompositeOperation
=
""
;
this
.
fillStyle
=
""
;
this
.
strokeStyle
=
""
;
this
.
lineWidth
=
0
;
this
.
lineCap
=
0
;
this
.
lineJoin
=
0
;
this
.
miterLimit
=
0
;
this
.
shadowOffsetX
=
0
;
this
.
shadowOffsetY
=
0
;
this
.
shadowBlur
=
0
;
this
.
shadowColor
=
0
;
this
.
font
=
""
;
this
.
textAlign
=
0
;
this
.
textBaseline
=
0
;
}
native_context2d
.
prototype
=
{
save
:
function
()
{},
restore
:
function
()
{},
scale
:
function
(
x
,
y
)
{},
rotate
:
function
(
angle
)
{},
translate
:
function
(
x
,
y
)
{},
transform
:
function
(
m11
,
m12
,
m21
,
m22
,
dx
,
dy
)
{},
setTransform
:
function
(
m11
,
m12
,
m21
,
m22
,
dx
,
dy
)
{},
createLinearGradient
:
function
(
x0
,
y0
,
x1
,
y1
)
{
return
new
native_gradient_fill
();
},
createRadialGradient
:
function
(
x0
,
y0
,
r0
,
x1
,
y1
,
r1
)
{
return
null
;
},
createPattern
:
function
(
image
,
repetition
)
{
return
new
native_pattern_fill
();
},
clearRect
:
function
(
x
,
y
,
w
,
h
)
{},
fillRect
:
function
(
x
,
y
,
w
,
h
)
{},
strokeRect
:
function
(
x
,
y
,
w
,
h
)
{},
beginPath
:
function
()
{},
closePath
:
function
()
{},
moveTo
:
function
(
x
,
y
)
{},
lineTo
:
function
(
x
,
y
)
{},
quadraticCurveTo
:
function
(
cpx
,
cpy
,
x
,
y
)
{},
bezierCurveTo
:
function
(
cp1x
,
cp1y
,
cp2x
,
cp2y
,
x
,
y
)
{},
arcTo
:
function
(
x1
,
y1
,
x2
,
y2
,
radius
)
{},
rect
:
function
(
x
,
y
,
w
,
h
)
{},
arc
:
function
(
x
,
y
,
radius
,
startAngle
,
endAngle
,
anticlockwise
)
{},
fill
:
function
()
{},
stroke
:
function
()
{},
clip
:
function
()
{},
isPointInPath
:
function
(
x
,
y
)
{},
drawFocusRing
:
function
(
element
,
xCaret
,
yCaret
,
canDrawCustom
)
{},
fillText
:
function
(
text
,
x
,
y
,
maxWidth
)
{},
strokeText
:
function
(
text
,
x
,
y
,
maxWidth
)
{},
measureText
:
function
(
text
)
{},
drawImage
:
function
(
img_elem
,
dx_or_sx
,
dy_or_sy
,
dw_or_sw
,
dh_or_sh
,
dx
,
dy
,
dw
,
dh
)
{},
createImageData
:
function
(
imagedata_or_sw
,
sh
)
{
var
_data
=
new
_image_data
();
_data
.
length
=
imagedata_or_sw
*
sh
*
4
;
_data
.
data
=
(
typeof
(
Uint8Array
)
!=
'
undefined
'
)
?
new
Uint8Array
(
_data
.
length
)
:
new
Array
(
_data
.
length
);
return
_data
;
},
getImageData
:
function
(
sx
,
sy
,
sw
,
sh
)
{},
putImageData
:
function
(
image_data
,
dx
,
dy
,
dirtyX
,
dirtyY
,
dirtyWidth
,
dirtyHeight
)
{}
};
function
native_canvas
()
{
this
.
id
=
""
;
this
.
width
=
300
;
this
.
height
=
150
;
this
.
nodeType
=
1
;
}
native_canvas
.
prototype
=
{
getContext
:
function
(
type
)
{
if
(
type
==
"
2d
"
)
return
new
native_context2d
(
this
);
return
null
;
},
toDataUrl
:
function
(
type
)
{
return
""
;
},
addEventListener
:
function
()
{
},
attr
:
function
()
{
}
};
var
_null_object
=
{};
_null_object
.
length
=
0
;
_null_object
.
nodeType
=
1
;
_null_object
.
offsetWidth
=
1
;
_null_object
.
offsetHeight
=
1
;
_null_object
.
clientWidth
=
1
;
_null_object
.
clientHeight
=
1
;
_null_object
.
scrollWidth
=
1
;
_null_object
.
scrollHeight
=
1
;
_null_object
.
style
=
{};
_null_object
.
documentElement
=
_null_object
;
_null_object
.
body
=
_null_object
;
_null_object
.
ownerDocument
=
_null_object
;
_null_object
.
defaultView
=
_null_object
;
_null_object
.
addEventListener
=
function
(){};
_null_object
.
setAttribute
=
function
(){};
_null_object
.
getElementsByTagName
=
function
()
{
return
[];
};
_null_object
.
appendChild
=
function
()
{};
_null_object
.
removeChild
=
function
()
{};
_null_object
.
insertBefore
=
function
()
{};
_null_object
.
childNodes
=
[];
_null_object
.
parent
=
_null_object
;
_null_object
.
parentNode
=
_null_object
;
_null_object
.
find
=
function
()
{
return
this
;
};
_null_object
.
appendTo
=
function
()
{
return
this
;
};
_null_object
.
css
=
function
()
{
return
this
;
};
_null_object
.
width
=
function
()
{
return
1
;
};
_null_object
.
height
=
function
()
{
return
1
;
};
_null_object
.
attr
=
function
()
{
return
this
;
};
_null_object
.
prop
=
function
()
{
return
this
;
};
_null_object
.
val
=
function
()
{
return
this
;
};
_null_object
.
remove
=
function
()
{};
_null_object
.
getComputedStyle
=
function
()
{
return
null
;
};
_null_object
.
getContext
=
function
(
type
)
{
if
(
type
==
"
2d
"
)
return
new
native_context2d
(
this
);
return
null
;
};
window
.
_null_object
=
_null_object
;
document
.
createElement
=
function
(
type
)
{
if
(
type
&&
type
.
toLowerCase
)
{
if
(
type
.
toLowerCase
()
==
"
canvas
"
)
return
new
native_canvas
();
}
return
_null_object
;
};
function
_return_empty_html_element
()
{
return
_null_object
;
}
document
.
createDocumentFragment
=
_return_empty_html_element
;
document
.
getElementsByTagName
=
function
(
tag
)
{
var
ret
=
[];
if
(
"
head
"
==
tag
)
ret
.
push
(
_null_object
);
return
ret
;
};
document
.
insertBefore
=
function
()
{};
document
.
appendChild
=
function
()
{};
document
.
removeChild
=
function
()
{};
document
.
getElementById
=
function
()
{
return
_null_object
;
};
document
.
createComment
=
function
()
{
return
undefined
;
};
document
.
documentElement
=
_null_object
;
document
.
body
=
_null_object
;
var
native
=
CreateNativeEngine
();
window
.
native
=
native
;
window
[
"
native
"
]
=
native
;
var
_api
=
null
;
window
.
NativeSupportTimeouts
=
false
;
window
.
NativeTimeoutObject
=
{};
function
clearTimeout
(
_id
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
window
.
NativeTimeoutObject
[
""
+
_id
]
=
undefined
;
window
.
native
[
"
ClearTimeout
"
](
_id
);
}
function
setTimeout
(
func
,
interval
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
var
_id
=
window
.
native
[
"
GenerateTimeoutId
"
](
interval
);
window
.
NativeTimeoutObject
[
""
+
_id
]
=
func
;
return
_id
;
}
function
offline_timeoutFire
(
_id
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
var
_prop
=
""
+
_id
;
var
_func
=
window
.
NativeTimeoutObject
[
_prop
];
window
.
NativeTimeoutObject
[
_prop
]
=
undefined
;
if
(
!
_func
)
return
;
_func
.
call
(
null
);
_func
=
null
;
}
function
clearInterval
(
_id
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
window
.
NativeTimeoutObject
[
""
+
_id
]
=
undefined
;
window
.
native
[
"
ClearTimeout
"
](
_id
);
}
function
setInterval
(
func
,
interval
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
var
_intervalFunc
=
function
()
{
func
.
call
(
null
);
setTimeout
(
func
,
interval
);
};
var
_id
=
window
.
native
[
"
GenerateTimeoutId
"
](
interval
);
window
.
NativeTimeoutObject
[
""
+
_id
]
=
_intervalFunc
;
return
_id
;
}
window
.
clearTimeout
=
clearTimeout
;
window
.
setTimeout
=
setTimeout
;
window
.
clearInterval
=
clearInterval
;
window
.
setInterval
=
setInterval
;
var
console
=
{
log
:
function
(
param
)
{
window
.
native
.
consoleLog
(
param
);
},
time
:
function
(
param
)
{},
timeEnd
:
function
(
param
)
{}
};
window
[
"
NativeCorrectImageUrlOnPaste
"
]
=
function
(
url
)
{
return
window
[
"
native
"
][
"
CorrectImageUrlOnPaste
"
](
url
);
};
window
[
"
NativeCorrectImageUrlOnCopy
"
]
=
function
(
url
)
{
return
window
[
"
native
"
][
"
CorrectImageUrlOnCopy
"
](
url
);
};
window
[
'
AscFonts
'
].
CFontManager
=
function
CFontManager
()
{
this
.
m_oLibrary
=
{};
this
.
Initialize
=
function
(){};
this
.
ClearFontsRasterCache
=
function
(){};
};
window
[
"
use_native_fonts_only
"
]
=
true
;
// FT_Common
function
_FT_Common
()
{
this
.
UintToInt
=
function
(
v
)
{
return
(
v
>
2147483647
)?
v
-
4294967296
:
v
;
};
this
.
UShort_To_Short
=
function
(
v
)
{
return
(
v
>
32767
)?
v
-
65536
:
v
;
};
this
.
IntToUInt
=
function
(
v
)
{
return
(
v
<
0
)?
v
+
4294967296
:
v
;
};
this
.
Short_To_UShort
=
function
(
v
)
{
return
(
v
<
0
)?
v
+
65536
:
v
;
};
this
.
memset
=
function
(
d
,
v
,
s
)
{
for
(
var
i
=
0
;
i
<
s
;
i
++
)
d
[
i
]
=
v
;
};
this
.
memcpy
=
function
(
d
,
s
,
l
)
{
for
(
var
i
=
0
;
i
<
l
;
i
++
)
d
[
i
]
=
s
[
i
];
};
this
.
memset_p
=
function
(
d
,
v
,
s
)
{
var
_d
=
d
.
data
;
var
_e
=
d
.
pos
+
s
;
for
(
var
i
=
d
.
pos
;
i
<
_e
;
i
++
)
_d
[
i
]
=
v
;
};
this
.
memcpy_p
=
function
(
d
,
s
,
l
)
{
var
_d1
=
d
.
data
;
var
_p1
=
d
.
pos
;
var
_d2
=
s
.
data
;
var
_p2
=
s
.
pos
;
for
(
var
i
=
0
;
i
<
l
;
i
++
)
_d1
[
_p1
++
]
=
_d2
[
_p2
++
];
};
this
.
memcpy_p2
=
function
(
d
,
s
,
p
,
l
)
{
var
_d1
=
d
.
data
;
var
_p1
=
d
.
pos
;
var
_p2
=
p
;
for
(
var
i
=
0
;
i
<
l
;
i
++
)
_d1
[
_p1
++
]
=
s
[
_p2
++
];
};
this
.
realloc
=
function
(
memory
,
pointer
,
cur_count
,
new_count
)
{
var
ret
=
{
block
:
null
,
err
:
0
,
size
:
new_count
};
if
(
cur_count
<
0
||
new_count
<
0
)
{
/* may help catch/prevent nasty security issues */
ret
.
err
=
6
;
}
else
if
(
new_count
==
0
)
{
ret
.
block
=
null
;
}
else
if
(
cur_count
==
0
)
{
ret
.
block
=
memory
.
Alloc
(
new_count
);
}
else
{
var
block2
=
memory
.
Alloc
(
new_count
);
FT_Common
.
memcpy_p
(
block2
,
pointer
,
cur_count
);
ret
.
block
=
block2
;
}
return
ret
;
};
this
.
realloc_long
=
function
(
memory
,
pointer
,
cur_count
,
new_count
)
{
var
ret
=
{
block
:
null
,
err
:
0
,
size
:
new_count
};
if
(
cur_count
<
0
||
new_count
<
0
)
{
/* may help catch/prevent nasty security issues */
ret
.
err
=
6
;
}
else
if
(
new_count
==
0
)
{
ret
.
block
=
null
;
}
else
if
(
cur_count
==
0
)
{
ret
.
block
=
CreateIntArray
(
new_count
);
}
else
{
var
block2
=
CreateIntArray
(
new_count
);
for
(
var
i
=
0
;
i
<
cur_count
;
i
++
)
block2
[
i
]
=
pointer
[
i
];
ret
.
block
=
block2
;
}
return
ret
;
};
}
var
FT_Common
=
new
_FT_Common
();
var
global_memory_stream_menu
=
CreateNativeMemoryStream
();
window
[
'
AscFonts
'
]
=
window
[
'
AscFonts
'
]
||
{};
window
[
'
AscFonts
'
].
FT_Common
=
FT_Common
;
\ No newline at end of file
cell/native/native.js
View file @
19d366bc
var
editor
=
undefined
;
var
window
=
{};
var
navigator
=
{};
navigator
.
userAgent
=
"
chrome
"
;
window
.
navigator
=
navigator
;
window
.
location
=
{};
window
.
location
.
protocol
=
""
;
window
.
location
.
host
=
""
;
window
.
location
.
href
=
""
;
window
.
location
.
pathname
=
""
;
window
.
NATIVE_EDITOR_ENJINE
=
true
;
window
.
NATIVE_EDITOR_ENJINE_SYNC_RECALC
=
true
;
window
.
IS_NATIVE_EDITOR
=
true
;
var
document
=
{};
window
.
document
=
document
;
var
History
=
{};
window
[
"
Asc
"
]
=
{};
var
Asc
=
window
[
"
Asc
"
];
window
[
"
AscFonts
"
]
=
{};
var
AscFonts
=
window
[
"
AscFonts
"
];
window
[
"
AscCommon
"
]
=
{};
var
AscCommon
=
window
[
"
AscCommon
"
];
window
[
"
AscFormat
"
]
=
{};
var
AscFormat
=
window
[
"
AscFormat
"
];
window
[
"
AscDFH
"
]
=
{};
var
AscDFH
=
window
[
"
AscDFH
"
];
window
[
"
AscCH
"
]
=
{};
var
AscCH
=
window
[
"
AscCH
"
];
window
[
"
AscCommonExcel
"
]
=
{};
var
AscCommonExcel
=
window
[
"
AscCommonExcel
"
];
//-------------------------------------------------------------------------------------------------
aStandartNumFormats
=
[];
aStandartNumFormats
[
0
]
=
"
General
"
;
aStandartNumFormats
[
1
]
=
"
0
"
;
aStandartNumFormats
[
2
]
=
"
0.00
"
;
aStandartNumFormats
[
3
]
=
"
#,##0
"
;
aStandartNumFormats
[
4
]
=
"
#,##0.00
"
;
aStandartNumFormats
[
9
]
=
"
0%
"
;
aStandartNumFormats
[
10
]
=
"
0.00%
"
;
aStandartNumFormats
[
11
]
=
"
0.00E+00
"
;
aStandartNumFormats
[
12
]
=
"
# ?/?
"
;
aStandartNumFormats
[
13
]
=
"
# ??/??
"
;
aStandartNumFormats
[
14
]
=
"
m/d/yyyy
"
;
aStandartNumFormats
[
15
]
=
"
d-mmm-yy
"
;
aStandartNumFormats
[
16
]
=
"
d-mmm
"
;
aStandartNumFormats
[
17
]
=
"
mmm-yy
"
;
aStandartNumFormats
[
18
]
=
"
h:mm AM/PM
"
;
aStandartNumFormats
[
19
]
=
"
h:mm:ss AM/PM
"
;
aStandartNumFormats
[
20
]
=
"
h:mm
"
;
aStandartNumFormats
[
21
]
=
"
h:mm:ss
"
;
aStandartNumFormats
[
22
]
=
"
m/d/yyyy h:mm
"
;
aStandartNumFormats
[
37
]
=
"
#,##0_);(#,##0)
"
;
aStandartNumFormats
[
38
]
=
"
#,##0_);[Red](#,##0)
"
;
aStandartNumFormats
[
39
]
=
"
#,##0.00_);(#,##0.00)
"
;
aStandartNumFormats
[
40
]
=
"
#,##0.00_);[Red](#,##0.00)
"
;
aStandartNumFormats
[
45
]
=
"
mm:ss
"
;
aStandartNumFormats
[
46
]
=
"
[h]:mm:ss
"
;
aStandartNumFormats
[
47
]
=
"
mm:ss.0
"
;
aStandartNumFormats
[
48
]
=
"
##0.0E+0
"
;
aStandartNumFormats
[
49
]
=
"
@
"
;
aStandartNumFormatsId
=
{};
for
(
var
i
in
aStandartNumFormats
)
{
aStandartNumFormatsId
[
aStandartNumFormats
[
i
]]
=
i
-
0
;
}
//-------------------------------------------------------------------------------------------------
function
ConvertJSC_Array
(
_array
)
{
var
_len
=
_array
.
length
;
var
ret
=
new
Uint8Array
(
_len
);
for
(
var
i
=
0
;
i
<
_len
;
i
++
)
ret
[
i
]
=
_array
.
getAt
(
i
);
return
ret
;
}
function
Image
()
{
this
.
src
=
""
;
this
.
onload
=
function
()
{
}
this
.
onerror
=
function
()
{
}
}
function
_image_data
()
{
this
.
data
=
null
;
this
.
length
=
0
;
}
function
native_pattern_fill
()
{
}
native_pattern_fill
.
prototype
=
{
setTransform
:
function
(
transform
)
{}
};
function
native_gradient_fill
()
{
}
native_gradient_fill
.
prototype
=
{
addColorStop
:
function
(
offset
,
color
)
{}
};
function
native_context2d
(
parent
)
{
this
.
canvas
=
parent
;
this
.
globalAlpha
=
0
;
this
.
globalCompositeOperation
=
""
;
this
.
fillStyle
=
""
;
this
.
strokeStyle
=
""
;
this
.
lineWidth
=
0
;
this
.
lineCap
=
0
;
this
.
lineJoin
=
0
;
this
.
miterLimit
=
0
;
this
.
shadowOffsetX
=
0
;
this
.
shadowOffsetY
=
0
;
this
.
shadowBlur
=
0
;
this
.
shadowColor
=
0
;
this
.
font
=
""
;
this
.
textAlign
=
0
;
this
.
textBaseline
=
0
;
}
native_context2d
.
prototype
=
{
save
:
function
()
{},
restore
:
function
()
{},
scale
:
function
(
x
,
y
)
{},
rotate
:
function
(
angle
)
{},
translate
:
function
(
x
,
y
)
{},
transform
:
function
(
m11
,
m12
,
m21
,
m22
,
dx
,
dy
)
{},
setTransform
:
function
(
m11
,
m12
,
m21
,
m22
,
dx
,
dy
)
{},
createLinearGradient
:
function
(
x0
,
y0
,
x1
,
y1
)
{
return
new
native_gradient_fill
();
},
createRadialGradient
:
function
(
x0
,
y0
,
r0
,
x1
,
y1
,
r1
)
{
return
null
;
},
createPattern
:
function
(
image
,
repetition
)
{
return
new
native_pattern_fill
();
},
clearRect
:
function
(
x
,
y
,
w
,
h
)
{},
fillRect
:
function
(
x
,
y
,
w
,
h
)
{},
strokeRect
:
function
(
x
,
y
,
w
,
h
)
{},
beginPath
:
function
()
{},
closePath
:
function
()
{},
moveTo
:
function
(
x
,
y
)
{},
lineTo
:
function
(
x
,
y
)
{},
quadraticCurveTo
:
function
(
cpx
,
cpy
,
x
,
y
)
{},
bezierCurveTo
:
function
(
cp1x
,
cp1y
,
cp2x
,
cp2y
,
x
,
y
)
{},
arcTo
:
function
(
x1
,
y1
,
x2
,
y2
,
radius
)
{},
rect
:
function
(
x
,
y
,
w
,
h
)
{},
arc
:
function
(
x
,
y
,
radius
,
startAngle
,
endAngle
,
anticlockwise
)
{},
fill
:
function
()
{},
stroke
:
function
()
{},
clip
:
function
()
{},
isPointInPath
:
function
(
x
,
y
)
{},
drawFocusRing
:
function
(
element
,
xCaret
,
yCaret
,
canDrawCustom
)
{},
fillText
:
function
(
text
,
x
,
y
,
maxWidth
)
{},
strokeText
:
function
(
text
,
x
,
y
,
maxWidth
)
{},
measureText
:
function
(
text
)
{},
drawImage
:
function
(
img_elem
,
dx_or_sx
,
dy_or_sy
,
dw_or_sw
,
dh_or_sh
,
dx
,
dy
,
dw
,
dh
)
{},
createImageData
:
function
(
imagedata_or_sw
,
sh
)
{
var
_data
=
new
_image_data
();
_data
.
length
=
imagedata_or_sw
*
sh
*
4
;
_data
.
data
=
(
typeof
(
Uint8Array
)
!=
'
undefined
'
)
?
new
Uint8Array
(
_data
.
length
)
:
new
Array
(
_data
.
length
);
return
_data
;
},
getImageData
:
function
(
sx
,
sy
,
sw
,
sh
)
{},
putImageData
:
function
(
image_data
,
dx
,
dy
,
dirtyX
,
dirtyY
,
dirtyWidth
,
dirtyHeight
)
{}
};
function
native_canvas
()
{
this
.
id
=
""
;
this
.
width
=
300
;
this
.
height
=
150
;
this
.
nodeType
=
1
;
}
native_canvas
.
prototype
=
{
getContext
:
function
(
type
)
{
if
(
type
==
"
2d
"
)
return
new
native_context2d
(
this
);
return
null
;
},
toDataUrl
:
function
(
type
)
{
return
""
;
},
addEventListener
:
function
()
{
},
attr
:
function
()
{
}
};
var
_null_object
=
{};
_null_object
.
length
=
0
;
_null_object
.
nodeType
=
1
;
_null_object
.
offsetWidth
=
1
;
_null_object
.
offsetHeight
=
1
;
_null_object
.
clientWidth
=
1
;
_null_object
.
clientHeight
=
1
;
_null_object
.
scrollWidth
=
1
;
_null_object
.
scrollHeight
=
1
;
_null_object
.
style
=
{};
_null_object
.
documentElement
=
_null_object
;
_null_object
.
body
=
_null_object
;
_null_object
.
ownerDocument
=
_null_object
;
_null_object
.
defaultView
=
_null_object
;
_null_object
.
addEventListener
=
function
(){};
_null_object
.
setAttribute
=
function
(){};
_null_object
.
getElementsByTagName
=
function
()
{
return
[];
};
_null_object
.
appendChild
=
function
()
{};
_null_object
.
removeChild
=
function
()
{};
_null_object
.
insertBefore
=
function
()
{};
_null_object
.
childNodes
=
[];
_null_object
.
parent
=
_null_object
;
_null_object
.
parentNode
=
_null_object
;
_null_object
.
find
=
function
()
{
return
this
;
};
_null_object
.
appendTo
=
function
()
{
return
this
;
};
_null_object
.
css
=
function
()
{
return
this
;
};
_null_object
.
width
=
function
()
{
return
1
;
};
_null_object
.
height
=
function
()
{
return
1
;
};
_null_object
.
attr
=
function
()
{
return
this
;
};
_null_object
.
prop
=
function
()
{
return
this
;
};
_null_object
.
val
=
function
()
{
return
this
;
};
_null_object
.
remove
=
function
()
{};
_null_object
.
getComputedStyle
=
function
()
{
return
null
;
};
_null_object
.
getContext
=
function
(
type
)
{
if
(
type
==
"
2d
"
)
return
new
native_context2d
(
this
);
return
null
;
};
window
.
_null_object
=
_null_object
;
document
.
createElement
=
function
(
type
)
{
if
(
type
&&
type
.
toLowerCase
)
{
if
(
type
.
toLowerCase
()
==
"
canvas
"
)
return
new
native_canvas
();
}
return
_null_object
;
};
function
_return_empty_html_element
()
{
return
_null_object
;
}
document
.
createDocumentFragment
=
_return_empty_html_element
;
document
.
getElementsByTagName
=
function
(
tag
)
{
var
ret
=
[];
if
(
"
head
"
==
tag
)
ret
.
push
(
_null_object
);
return
ret
;
};
document
.
insertBefore
=
function
()
{};
document
.
appendChild
=
function
()
{};
document
.
removeChild
=
function
()
{};
document
.
getElementById
=
function
()
{
return
_null_object
;
};
document
.
createComment
=
function
()
{
return
undefined
;
};
document
.
documentElement
=
_null_object
;
document
.
body
=
_null_object
;
var
native
=
CreateNativeEngine
();
window
.
native
=
native
;
window
[
"
native
"
]
=
native
;
function
GetNativeEngine
()
{
return
window
.
native
;
}
var
native_renderer
=
null
;
var
_api
=
null
;
function
NativeOpenFileData
(
data
,
version
)
{
window
.
NATIVE_DOCUMENT_TYPE
=
window
.
native
.
GetEditorType
();
if
(
window
.
NATIVE_DOCUMENT_TYPE
==
"
presentation
"
||
window
.
NATIVE_DOCUMENT_TYPE
==
"
document
"
)
{
_api
=
new
window
[
"
asc_docs_api
"
](
""
);
_api
.
asc_nativeOpenFile
(
data
,
version
);
}
else
{
_api
=
new
window
[
"
Asc
"
][
"
spreadsheet_api
"
]();
_api
.
asc_nativeOpenFile
(
data
,
version
);
}
}
function
NativeOpenFile
(
arguments
)
{
window
[
"
CreateMainTextMeasurerWrapper
"
]();
var
doc_bin
=
window
.
native
.
GetFileString
(
window
.
native
.
GetFilePath
());
window
.
NATIVE_DOCUMENT_TYPE
=
window
.
native
.
GetEditorType
();
if
(
window
.
NATIVE_DOCUMENT_TYPE
==
"
presentation
"
||
window
.
NATIVE_DOCUMENT_TYPE
==
"
document
"
)
{
_api
=
new
window
[
"
asc_docs_api
"
](
""
);
_api
.
asc_nativeOpenFile
(
doc_bin
);
}
else
{
_api
=
new
window
[
"
Asc
"
][
"
spreadsheet_api
"
]();
_api
.
asc_nativeOpenFile
(
doc_bin
);
}
}
function
NativeOpenFile2
(
_params
)
{
window
[
"
CreateMainTextMeasurerWrapper
"
]();
window
.
g_file_path
=
"
native_open_file
"
;
window
.
NATIVE_DOCUMENT_TYPE
=
window
.
native
.
GetEditorType
();
var
doc_bin
=
window
.
native
.
GetFileString
(
window
.
g_file_path
);
if
(
window
.
NATIVE_DOCUMENT_TYPE
==
"
presentation
"
||
window
.
NATIVE_DOCUMENT_TYPE
==
"
document
"
)
{
_api
=
new
window
[
"
asc_docs_api
"
](
""
);
if
(
undefined
!==
_api
.
Native_Editor_Initialize_Settings
)
{
_api
.
Native_Editor_Initialize_Settings
(
_params
);
}
_api
.
asc_nativeOpenFile
(
doc_bin
);
if
(
_api
.
NativeAfterLoad
)
_api
.
NativeAfterLoad
();
}
else
{
_api
=
new
window
[
"
Asc
"
][
"
spreadsheet_api
"
]();
_api
.
asc_nativeOpenFile
(
doc_bin
);
}
}
function
NativeCalculateFile
()
{
_api
.
asc_nativeCalculateFile
();
}
function
NativeApplyChangesData
(
data
,
isFull
)
{
if
(
window
.
NATIVE_DOCUMENT_TYPE
==
"
presentation
"
||
window
.
NATIVE_DOCUMENT_TYPE
==
"
document
"
)
{
_api
.
asc_nativeApplyChanges2
(
data
,
isFull
);
}
else
{
_api
.
asc_nativeApplyChanges2
(
data
,
isFull
);
}
}
function
NativeApplyChanges
()
{
if
(
window
.
NATIVE_DOCUMENT_TYPE
==
"
presentation
"
||
window
.
NATIVE_DOCUMENT_TYPE
==
"
document
"
)
{
var
__changes
=
[];
var
_count_main
=
window
.
native
.
GetCountChanges
();
for
(
var
i
=
0
;
i
<
_count_main
;
i
++
)
{
var
_changes_file
=
window
.
native
.
GetChangesFile
(
i
);
var
_changes
=
JSON
.
parse
(
window
.
native
.
GetFileString
(
_changes_file
));
for
(
var
j
=
0
;
j
<
_changes
.
length
;
j
++
)
{
__changes
.
push
(
_changes
[
j
]);
}
}
_api
.
asc_nativeApplyChanges
(
__changes
);
}
else
{
var
__changes
=
[];
var
_count_main
=
window
.
native
.
GetCountChanges
();
for
(
var
i
=
0
;
i
<
_count_main
;
i
++
)
{
var
_changes_file
=
window
.
native
.
GetChangesFile
(
i
);
var
_changes
=
JSON
.
parse
(
window
.
native
.
GetFileString
(
_changes_file
));
for
(
var
j
=
0
;
j
<
_changes
.
length
;
j
++
)
{
__changes
.
push
(
_changes
[
j
]);
}
}
_api
.
asc_nativeApplyChanges
(
__changes
);
}
}
function
NativeGetFileString
()
{
return
_api
.
asc_nativeGetFile
();
}
function
NativeGetFileData
()
{
return
_api
.
asc_nativeGetFileData
();
}
function
GetNativeCountPages
()
{
return
_api
.
asc_nativePrintPagesCount
();
}
window
.
memory1
=
null
;
window
.
memory2
=
null
;
function
GetNativePageBase64
(
pageIndex
)
{
if
(
null
==
window
.
memory1
)
window
.
memory1
=
CreateNativeMemoryStream
();
else
window
.
memory1
.
ClearNoAttack
();
if
(
null
==
window
.
memory2
)
window
.
memory2
=
CreateNativeMemoryStream
();
else
window
.
memory2
.
ClearNoAttack
();
if
(
native_renderer
==
null
)
{
native_renderer
=
_api
.
asc_nativeCheckPdfRenderer
(
window
.
memory1
,
window
.
memory2
);
}
else
{
window
.
memory1
.
ClearNoAttack
();
window
.
memory2
.
ClearNoAttack
();
}
_api
.
asc_nativePrint
(
native_renderer
,
pageIndex
);
return
window
.
memory1
;
}
function
GetNativePageMeta
(
pageIndex
)
{
return
_api
.
GetNativePageMeta
(
pageIndex
);
}
function
GetNativeId
()
{
return
window
.
native
.
GetFileId
();
}
// для работы с таймерами
window
.
NativeSupportTimeouts
=
false
;
window
.
NativeTimeoutObject
=
{};
function
clearTimeout
(
_id
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
window
.
NativeTimeoutObject
[
""
+
_id
]
=
undefined
;
window
.
native
[
"
ClearTimeout
"
](
_id
);
}
function
setTimeout
(
func
,
interval
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
var
_id
=
window
.
native
[
"
GenerateTimeoutId
"
](
interval
);
window
.
NativeTimeoutObject
[
""
+
_id
]
=
func
;
return
_id
;
}
function
offline_timeoutFire
(
_id
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
var
_prop
=
""
+
_id
;
var
_func
=
window
.
NativeTimeoutObject
[
_prop
];
window
.
NativeTimeoutObject
[
_prop
]
=
undefined
;
if
(
!
_func
)
return
;
_func
.
call
(
null
);
_func
=
null
;
}
function
clearInterval
(
_id
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
window
.
NativeTimeoutObject
[
""
+
_id
]
=
undefined
;
window
.
native
[
"
ClearTimeout
"
](
_id
);
}
function
setInterval
(
func
,
interval
)
{
if
(
!
window
.
NativeSupportTimeouts
)
return
;
var
_intervalFunc
=
function
()
{
func
.
call
(
null
);
setTimeout
(
func
,
interval
);
};
var
_id
=
window
.
native
[
"
GenerateTimeoutId
"
](
interval
);
window
.
NativeTimeoutObject
[
""
+
_id
]
=
_intervalFunc
;
return
_id
;
}
window
.
clearTimeout
=
clearTimeout
;
window
.
setTimeout
=
setTimeout
;
window
.
clearInterval
=
clearInterval
;
window
.
setInterval
=
setInterval
;
var
console
=
{
log
:
function
(
param
)
{
window
.
native
.
consoleLog
(
param
);
},
time
:
function
(
param
)
{},
timeEnd
:
function
(
param
)
{}
};
window
[
"
NativeCorrectImageUrlOnPaste
"
]
=
function
(
url
)
{
return
window
[
"
native
"
][
"
CorrectImageUrlOnPaste
"
](
url
);
};
window
[
"
NativeCorrectImageUrlOnCopy
"
]
=
function
(
url
)
{
return
window
[
"
native
"
][
"
CorrectImageUrlOnCopy
"
](
url
);
};
//--------------------------------------------------------------------------------
// font engine
//--------------------------------------------------------------------------------
var
FONT_ITALIC_ANGLE
=
0.3090169943749
;
var
FT_ENCODING_UNICODE
=
1970170211
;
var
FT_ENCODING_NONE
=
0
;
var
FT_ENCODING_MS_SYMBOL
=
1937337698
;
var
FT_ENCODING_APPLE_ROMAN
=
1634889070
;
var
LOAD_MODE
=
40970
;
var
REND_MODE
=
0
;
var
FontStyle
=
{
FontStyleRegular
:
0
,
FontStyleBold
:
1
,
FontStyleItalic
:
2
,
FontStyleBoldItalic
:
3
,
FontStyleUnderline
:
4
,
FontStyleStrikeout
:
8
};
var
EGlyphState
=
{
glyphstateNormal
:
0
,
glyphstateDeafault
:
1
,
glyphstateMiss
:
2
};
window
[
'
AscFonts
'
].
CFontManager
=
function
CFontManager
()
{
this
.
m_oLibrary
=
{};
this
.
Initialize
=
function
(){};
this
.
ClearFontsRasterCache
=
function
(){};
};
window
[
"
use_native_fonts_only
"
]
=
true
;
// FT_Common
function
_FT_Common
()
{
this
.
UintToInt
=
function
(
v
)
{
return
(
v
>
2147483647
)?
v
-
4294967296
:
v
;
};
this
.
UShort_To_Short
=
function
(
v
)
{
return
(
v
>
32767
)?
v
-
65536
:
v
;
};
this
.
IntToUInt
=
function
(
v
)
{
return
(
v
<
0
)?
v
+
4294967296
:
v
;
};
this
.
Short_To_UShort
=
function
(
v
)
{
return
(
v
<
0
)?
v
+
65536
:
v
;
};
this
.
memset
=
function
(
d
,
v
,
s
)
{
for
(
var
i
=
0
;
i
<
s
;
i
++
)
d
[
i
]
=
v
;
};
this
.
memcpy
=
function
(
d
,
s
,
l
)
{
for
(
var
i
=
0
;
i
<
l
;
i
++
)
d
[
i
]
=
s
[
i
];
};
this
.
memset_p
=
function
(
d
,
v
,
s
)
{
var
_d
=
d
.
data
;
var
_e
=
d
.
pos
+
s
;
for
(
var
i
=
d
.
pos
;
i
<
_e
;
i
++
)
_d
[
i
]
=
v
;
};
this
.
memcpy_p
=
function
(
d
,
s
,
l
)
{
var
_d1
=
d
.
data
;
var
_p1
=
d
.
pos
;
var
_d2
=
s
.
data
;
var
_p2
=
s
.
pos
;
for
(
var
i
=
0
;
i
<
l
;
i
++
)
_d1
[
_p1
++
]
=
_d2
[
_p2
++
];
};
this
.
memcpy_p2
=
function
(
d
,
s
,
p
,
l
)
{
var
_d1
=
d
.
data
;
var
_p1
=
d
.
pos
;
var
_p2
=
p
;
for
(
var
i
=
0
;
i
<
l
;
i
++
)
_d1
[
_p1
++
]
=
s
[
_p2
++
];
};
this
.
realloc
=
function
(
memory
,
pointer
,
cur_count
,
new_count
)
{
var
ret
=
{
block
:
null
,
err
:
0
,
size
:
new_count
};
if
(
cur_count
<
0
||
new_count
<
0
)
{
/* may help catch/prevent nasty security issues */
ret
.
err
=
6
;
}
else
if
(
new_count
==
0
)
{
ret
.
block
=
null
;
}
else
if
(
cur_count
==
0
)
{
ret
.
block
=
memory
.
Alloc
(
new_count
);
}
else
{
var
block2
=
memory
.
Alloc
(
new_count
);
FT_Common
.
memcpy_p
(
block2
,
pointer
,
cur_count
);
ret
.
block
=
block2
;
}
return
ret
;
};
this
.
realloc_long
=
function
(
memory
,
pointer
,
cur_count
,
new_count
)
{
var
ret
=
{
block
:
null
,
err
:
0
,
size
:
new_count
};
if
(
cur_count
<
0
||
new_count
<
0
)
{
/* may help catch/prevent nasty security issues */
ret
.
err
=
6
;
}
else
if
(
new_count
==
0
)
{
ret
.
block
=
null
;
}
else
if
(
cur_count
==
0
)
{
ret
.
block
=
CreateIntArray
(
new_count
);
}
else
{
var
block2
=
CreateIntArray
(
new_count
);
for
(
var
i
=
0
;
i
<
cur_count
;
i
++
)
block2
[
i
]
=
pointer
[
i
];
ret
.
block
=
block2
;
}
return
ret
;
};
}
var
FT_Common
=
new
_FT_Common
();
var
global_memory_stream_menu
=
CreateNativeMemoryStream
();
function
asc_menu_ReadColor
(
_params
,
_cursor
)
{
var
_color
=
new
Asc
.
asc_CColor
();
...
...
@@ -5623,7 +4965,9 @@ function OfflineEditor () {
}
var
_s
=
new
OfflineEditor
();
function
offline_of
()
{
_s
.
openFile
();}
function
offline_of
()
{
console
.
log
(
'
offline_open_file
'
);
_s
.
openFile
();}
function
offline_stz
(
v
)
{
_s
.
zoom
=
v
;
_api
.
asc_setZoom
(
v
);}
function
offline_ds
(
x
,
y
,
width
,
height
,
ratio
,
istoplayer
)
{
_s
.
drawSheet
(
x
,
y
,
width
,
height
,
ratio
,
istoplayer
);}
function
offline_dh
(
x
,
y
,
width
,
height
,
type
,
ratio
)
{
_s
.
drawHeader
(
x
,
y
,
width
,
height
,
type
,
ratio
);}
...
...
@@ -7496,5 +6840,3 @@ function offline_apply_event(type,params) {
return
_return
;
}
window
[
'
AscFonts
'
].
FT_Common
=
FT_Common
;
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