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
e5eda783
Commit
e5eda783
authored
Apr 26, 2016
by
Alexey.Musinov
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[mobile] сборка скриптов для таблиц
parent
237b88c2
Changes
3
Hide 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 @
e5eda783
...
...
@@ -175,21 +175,22 @@
"../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"
,
"../cell/native/common.js"
,
"../common/Native/Wrappers/memory.js"
,
"../common/Native/jquery_native.js"
,
"../common/Native/Wrappers/memory.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/native.js"
"../cell/native/
Overlay.js"
,
"../cell/native/Graphics.js"
,
"../cell/native/DrawingDocument.js"
,
"../cell/native/native.js"
],
"exclude_mobile"
:
[
"../common/Overlay.js"
,
...
...
@@ -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 @
e5eda783
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 @
e5eda783
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