Merge pull request #312 from kkujala/master
Correct the coding style according to gjslint.
This commit is contained in:
commit
b628d06e9d
186
fonts.js
186
fonts.js
@ -19,46 +19,46 @@ var kMaxWaitForFontFace = 1000;
|
||||
* fonts and their acronyms.
|
||||
*/
|
||||
var stdFontMap = {
|
||||
"Arial": "Helvetica",
|
||||
"Arial_Bold": "Helvetica-Bold",
|
||||
"Arial_BoldItalic": "Helvetica-BoldOblique",
|
||||
"Arial_Italic": "Helvetica-Oblique",
|
||||
"Arial_BoldItalicMT": "Helvetica-BoldOblique",
|
||||
"Arial_BoldMT": "Helvetica-Bold",
|
||||
"Arial_ItalicMT": "Helvetica-Oblique",
|
||||
"ArialMT": "Helvetica",
|
||||
"Courier_Bold": "Courier-Bold",
|
||||
"Courier_BoldItalic": "Courier-BoldOblique",
|
||||
"Courier_Italic": "Courier-Oblique",
|
||||
"CourierNew": "Courier",
|
||||
"CourierNew_Bold": "Courier-Bold",
|
||||
"CourierNew_BoldItalic": "Courier-BoldOblique",
|
||||
"CourierNew_Italic": "Courier-Oblique",
|
||||
"CourierNewPS_BoldItalicMT": "Courier-BoldOblique",
|
||||
"CourierNewPS_BoldMT": "Courier-Bold",
|
||||
"CourierNewPS_ItalicMT": "Courier-Oblique",
|
||||
"CourierNewPSMT": "Courier",
|
||||
"Helvetica_Bold": "Helvetica-Bold",
|
||||
"Helvetica_BoldItalic": "Helvetica-BoldOblique",
|
||||
"Helvetica_Italic": "Helvetica-Oblique",
|
||||
"Symbol_Bold": "Symbol",
|
||||
"Symbol_BoldItalic": "Symbol",
|
||||
"Symbol_Italic": "Symbol",
|
||||
"TimesNewRoman": "Times-Roman",
|
||||
"TimesNewRoman_Bold": "Times-Bold",
|
||||
"TimesNewRoman_BoldItalic": "Times-BoldItalic",
|
||||
"TimesNewRoman_Italic": "Times-Italic",
|
||||
"TimesNewRomanPS": "Times-Roman",
|
||||
"TimesNewRomanPS_Bold": "Times-Bold",
|
||||
"TimesNewRomanPS_BoldItalic": "Times-BoldItalic",
|
||||
"TimesNewRomanPS_BoldItalicMT": "Times-BoldItalic",
|
||||
"TimesNewRomanPS_BoldMT": "Times-Bold",
|
||||
"TimesNewRomanPS_Italic": "Times-Italic",
|
||||
"TimesNewRomanPS_ItalicMT": "Times-Italic",
|
||||
"TimesNewRomanPSMT": "Times-Roman",
|
||||
"TimesNewRomanPSMT_Bold": "Times-Bold",
|
||||
"TimesNewRomanPSMT_BoldItalic": "Times-BoldItalic",
|
||||
"TimesNewRomanPSMT_Italic": "Times-Italic"
|
||||
'Arial': 'Helvetica',
|
||||
'Arial_Bold': 'Helvetica-Bold',
|
||||
'Arial_BoldItalic': 'Helvetica-BoldOblique',
|
||||
'Arial_Italic': 'Helvetica-Oblique',
|
||||
'Arial_BoldItalicMT': 'Helvetica-BoldOblique',
|
||||
'Arial_BoldMT': 'Helvetica-Bold',
|
||||
'Arial_ItalicMT': 'Helvetica-Oblique',
|
||||
'ArialMT': 'Helvetica',
|
||||
'Courier_Bold': 'Courier-Bold',
|
||||
'Courier_BoldItalic': 'Courier-BoldOblique',
|
||||
'Courier_Italic': 'Courier-Oblique',
|
||||
'CourierNew': 'Courier',
|
||||
'CourierNew_Bold': 'Courier-Bold',
|
||||
'CourierNew_BoldItalic': 'Courier-BoldOblique',
|
||||
'CourierNew_Italic': 'Courier-Oblique',
|
||||
'CourierNewPS_BoldItalicMT': 'Courier-BoldOblique',
|
||||
'CourierNewPS_BoldMT': 'Courier-Bold',
|
||||
'CourierNewPS_ItalicMT': 'Courier-Oblique',
|
||||
'CourierNewPSMT': 'Courier',
|
||||
'Helvetica_Bold': 'Helvetica-Bold',
|
||||
'Helvetica_BoldItalic': 'Helvetica-BoldOblique',
|
||||
'Helvetica_Italic': 'Helvetica-Oblique',
|
||||
'Symbol_Bold': 'Symbol',
|
||||
'Symbol_BoldItalic': 'Symbol',
|
||||
'Symbol_Italic': 'Symbol',
|
||||
'TimesNewRoman': 'Times-Roman',
|
||||
'TimesNewRoman_Bold': 'Times-Bold',
|
||||
'TimesNewRoman_BoldItalic': 'Times-BoldItalic',
|
||||
'TimesNewRoman_Italic': 'Times-Italic',
|
||||
'TimesNewRomanPS': 'Times-Roman',
|
||||
'TimesNewRomanPS_Bold': 'Times-Bold',
|
||||
'TimesNewRomanPS_BoldItalic': 'Times-BoldItalic',
|
||||
'TimesNewRomanPS_BoldItalicMT': 'Times-BoldItalic',
|
||||
'TimesNewRomanPS_BoldMT': 'Times-Bold',
|
||||
'TimesNewRomanPS_Italic': 'Times-Italic',
|
||||
'TimesNewRomanPS_ItalicMT': 'Times-Italic',
|
||||
'TimesNewRomanPSMT': 'Times-Roman',
|
||||
'TimesNewRomanPSMT_Bold': 'Times-Bold',
|
||||
'TimesNewRomanPSMT_BoldItalic': 'Times-BoldItalic',
|
||||
'TimesNewRomanPSMT_Italic': 'Times-Italic'
|
||||
};
|
||||
|
||||
var FontMeasure = (function FontMeasure() {
|
||||
@ -76,14 +76,14 @@ var FontMeasure = (function FontMeasure() {
|
||||
if (!(measureCache = sizes[size]))
|
||||
measureCache = sizes[size] = Object.create(null);
|
||||
} else {
|
||||
measureCache = null
|
||||
measureCache = null;
|
||||
}
|
||||
|
||||
var name = font.loadedName;
|
||||
var bold = font.bold ? "bold" : "normal";
|
||||
var italic = font.italic ? "italic" : "normal";
|
||||
var bold = font.bold ? 'bold' : 'normal';
|
||||
var italic = font.italic ? 'italic' : 'normal';
|
||||
size *= kScalePrecision;
|
||||
var rule = bold + " " + italic + " " + size + 'px "' + name + '"';
|
||||
var rule = bold + ' ' + italic + ' ' + size + 'px "' + name + '"';
|
||||
ctx.font = rule;
|
||||
},
|
||||
measureText: function fonts_measureText(text) {
|
||||
@ -144,7 +144,7 @@ var FontLoader = {
|
||||
if (!isWorker && rules.length) {
|
||||
FontLoader.prepareFontLoadEvent(rules, names, objs);
|
||||
}
|
||||
|
||||
|
||||
if (!checkFontsLoaded()) {
|
||||
document.documentElement.addEventListener(
|
||||
'pdfjsFontLoad', checkFontsLoaded, false);
|
||||
@ -402,9 +402,9 @@ var Font = (function Font() {
|
||||
|
||||
if (!file) {
|
||||
var fontName = stdFontMap[name];
|
||||
this.bold = (fontName.indexOf("Bold") != -1);
|
||||
this.italic = (fontName.indexOf("Oblique") != -1);
|
||||
this.loadedName = fontName.split("-")[0];
|
||||
this.bold = (fontName.indexOf('Bold') != -1);
|
||||
this.italic = (fontName.indexOf('Oblique') != -1);
|
||||
this.loadedName = fontName.split('-')[0];
|
||||
this.loading = false;
|
||||
return;
|
||||
}
|
||||
@ -414,7 +414,7 @@ var Font = (function Font() {
|
||||
case 'Type1':
|
||||
case 'CIDFontType0':
|
||||
this.mimetype = 'font/opentype';
|
||||
|
||||
|
||||
var subtype = properties.subtype;
|
||||
if (subtype === 'Type1C') {
|
||||
var cff = new Type2CFF(file, properties);
|
||||
@ -535,8 +535,8 @@ var Font = (function Font() {
|
||||
|
||||
// checksum
|
||||
var checksum = 0, n = data.length;
|
||||
for (var i = 0; i < n; i+=4)
|
||||
checksum = (checksum + int32([data[i], data[i+1], data[i+2], data[i+3]])) | 0;
|
||||
for (var i = 0; i < n; i += 4)
|
||||
checksum = (checksum + int32([data[i], data[i + 1], data[i + 2], data[i + 3]])) | 0;
|
||||
|
||||
var tableEntry = (tag + string32(checksum) +
|
||||
string32(offset) + string32(length));
|
||||
@ -567,7 +567,7 @@ var Font = (function Font() {
|
||||
}
|
||||
ranges.push([start, end]);
|
||||
}
|
||||
|
||||
|
||||
return ranges;
|
||||
};
|
||||
|
||||
@ -598,7 +598,7 @@ var Font = (function Font() {
|
||||
var range = ranges[i];
|
||||
var start = range[0];
|
||||
var end = range[1];
|
||||
var offset = (segCount - i) * 2 + bias * 2;
|
||||
var offset = (segCount - i) * 2 + bias * 2;
|
||||
bias += (end - start + 1);
|
||||
|
||||
startCount += string16(start);
|
||||
@ -730,30 +730,30 @@ var Font = (function Font() {
|
||||
'Unknown', // 8.Manufacturer
|
||||
'Unknown' // 9.Designer
|
||||
];
|
||||
|
||||
|
||||
// Mac want 1-byte per character strings while Windows want
|
||||
// 2-bytes per character, so duplicate the names table
|
||||
var stringsUnicode = [];
|
||||
for (var i = 0; i < strings.length; i++) {
|
||||
var str = strings[i];
|
||||
|
||||
|
||||
var strUnicode = '';
|
||||
for (var j = 0; j < str.length; j++)
|
||||
strUnicode += string16(str.charCodeAt(j));
|
||||
stringsUnicode.push(strUnicode);
|
||||
}
|
||||
|
||||
|
||||
var names = [strings, stringsUnicode];
|
||||
var platforms = ['\x00\x01', '\x00\x03'];
|
||||
var encodings = ['\x00\x00', '\x00\x01'];
|
||||
var languages = ['\x00\x00', '\x04\x09'];
|
||||
|
||||
|
||||
var namesRecordCount = strings.length * platforms.length;
|
||||
var nameTable =
|
||||
'\x00\x00' + // format
|
||||
string16(namesRecordCount) + // Number of names Record
|
||||
string16(namesRecordCount * 12 + 6); // Storage
|
||||
|
||||
|
||||
// Build the name records field
|
||||
var strOffset = 0;
|
||||
for (var i = 0; i < platforms.length; i++) {
|
||||
@ -771,7 +771,7 @@ var Font = (function Font() {
|
||||
strOffset += str.length;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
nameTable += strings.join('') + stringsUnicode.join('');
|
||||
return nameTable;
|
||||
}
|
||||
@ -838,14 +838,14 @@ var Font = (function Font() {
|
||||
encodingID: int16(font.getBytes(2)),
|
||||
offset: int32(font.getBytes(4))
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
var encoding = properties.encoding;
|
||||
var charset = properties.charset;
|
||||
for (var i = 0; i < numRecords; i++) {
|
||||
var table = records[i];
|
||||
font.pos = start + table.offset;
|
||||
|
||||
|
||||
var format = int16(font.getBytes(2));
|
||||
var length = int16(font.getBytes(2));
|
||||
var language = int16(font.getBytes(2));
|
||||
@ -855,19 +855,19 @@ var Font = (function Font() {
|
||||
// into the platform so if some characters in the font are assigned
|
||||
// under this limit they will not be displayed so let's rewrite the
|
||||
// CMap.
|
||||
var glyphs = [];
|
||||
var glyphs = [];
|
||||
var deltas = [];
|
||||
for (var j = 0; j < 256; j++) {
|
||||
var index = font.getByte();
|
||||
if (index) {
|
||||
deltas.push(index);
|
||||
glyphs.push({ unicode : j });
|
||||
glyphs.push({ unicode: j });
|
||||
}
|
||||
}
|
||||
|
||||
var rewrite = false;
|
||||
for (var code in encoding) {
|
||||
if (code < 0x20 && encoding[code])
|
||||
if (code < 0x20 && encoding[code])
|
||||
rewrite = true;
|
||||
|
||||
if (rewrite)
|
||||
@ -1005,11 +1005,11 @@ var Font = (function Font() {
|
||||
((hmtx.length - numOfHMetrics * 4) >> 1);
|
||||
if (numMissing > 0) {
|
||||
font.pos = (font.start ? font.start : 0) + hmtx.offset;
|
||||
var metrics = "";
|
||||
var metrics = '';
|
||||
for (var i = 0; i < hmtx.length; i++)
|
||||
metrics += String.fromCharCode(font.getByte());
|
||||
for (var i = 0; i < numMissing; i++)
|
||||
metrics += "\x00\x00";
|
||||
metrics += '\x00\x00';
|
||||
hmtx.data = stringToArray(metrics);
|
||||
}
|
||||
|
||||
@ -1024,7 +1024,7 @@ var Font = (function Font() {
|
||||
if (properties.type == 'CIDFontType2') {
|
||||
// Type2 composite fonts map characters directly to glyphs so the cmap
|
||||
// table must be replaced.
|
||||
|
||||
|
||||
var glyphs = [];
|
||||
var charset = properties.charset;
|
||||
if (!charset.length) {
|
||||
@ -1254,25 +1254,25 @@ var Font = (function Font() {
|
||||
charsToUnicode: function fonts_chars2Unicode(chars) {
|
||||
var charsCache = this.charsCache;
|
||||
var str;
|
||||
|
||||
|
||||
// if we translated this string before, just grab it from the cache
|
||||
if (charsCache) {
|
||||
str = charsCache[chars];
|
||||
if (str)
|
||||
return str;
|
||||
}
|
||||
|
||||
|
||||
// lazily create the translation cache
|
||||
if (!charsCache)
|
||||
charsCache = this.charsCache = Object.create(null);
|
||||
|
||||
|
||||
if (this.compositeFont) {
|
||||
// composite fonts have multi-byte strings
|
||||
// convert the string from single-byte to multi-byte
|
||||
// XXX assuming CIDFonts are two-byte - later need to extract the correct byte encoding
|
||||
// according to the PDF spec
|
||||
str = '';
|
||||
var multiByteStr = "";
|
||||
var multiByteStr = '';
|
||||
var length = chars.length;
|
||||
for (var i = 0; i < length; i++) {
|
||||
var byte1 = chars.charCodeAt(i++) & 0xFF;
|
||||
@ -1290,7 +1290,7 @@ var Font = (function Font() {
|
||||
var encoding = this.encoding;
|
||||
if (!encoding)
|
||||
return chars;
|
||||
|
||||
|
||||
str = '';
|
||||
for (var i = 0; i < chars.length; ++i) {
|
||||
var charcode = chars.charCodeAt(i);
|
||||
@ -1298,14 +1298,14 @@ var Font = (function Font() {
|
||||
if ('undefined' == typeof(unicode)) {
|
||||
// FIXME/issue 233: we're hitting this in test/pdf/sizes.pdf
|
||||
// at the moment, for unknown reasons.
|
||||
warn('Unencoded charcode '+ charcode);
|
||||
warn('Unencoded charcode ' + charcode);
|
||||
unicode = charcode;
|
||||
}
|
||||
|
||||
|
||||
// Check if the glyph has already been converted
|
||||
if (!IsNum(unicode))
|
||||
unicode = encoding[unicode] = GlyphsUnicode[unicode.name];
|
||||
|
||||
|
||||
// Handle surrogate pairs
|
||||
if (unicode > 0xFFFF) {
|
||||
str += String.fromCharCode(unicode & 0xFFFF);
|
||||
@ -2043,7 +2043,7 @@ CFF.prototype = {
|
||||
BlueFuzz: '\x0c\x0b',
|
||||
BlueScale: '\x0c\x09',
|
||||
LanguageGroup: '\x0c\x11',
|
||||
ExpansionFactor: '\x0c\x18'
|
||||
ExpansionFactor: '\x0c\x18'
|
||||
};
|
||||
for (var field in fieldMap) {
|
||||
if (!properties.private.hasOwnProperty(field)) continue;
|
||||
@ -2087,10 +2087,10 @@ var Type2CFF = (function() {
|
||||
var bytes = file.getBytes();
|
||||
this.bytes = bytes;
|
||||
this.properties = properties;
|
||||
|
||||
|
||||
// Other classes expect this.data to be a Javascript array
|
||||
var data = []
|
||||
for (var i = 0, ii = bytes.length; i < ii; ++i)
|
||||
var data = [];
|
||||
for (var i = 0, ii = bytes.length; i < ii; ++i)
|
||||
data.push(bytes[i]);
|
||||
this.data = data;
|
||||
|
||||
@ -2101,11 +2101,11 @@ var Type2CFF = (function() {
|
||||
parse: function cff_parse() {
|
||||
var header = this.parseHeader();
|
||||
var nameIndex = this.parseIndex(header.endPos);
|
||||
|
||||
|
||||
var dictIndex = this.parseIndex(nameIndex.endPos);
|
||||
if (dictIndex.length != 1)
|
||||
error('More than 1 font');
|
||||
|
||||
|
||||
var stringIndex = this.parseIndex(dictIndex.endPos);
|
||||
var gsubrIndex = this.parseIndex(stringIndex.endPos);
|
||||
|
||||
@ -2121,7 +2121,7 @@ var Type2CFF = (function() {
|
||||
var privOffset = privInfo[1], privLength = privInfo[0];
|
||||
var privBytes = bytes.subarray(privOffset, privOffset + privLength);
|
||||
baseDict = this.parseDict(privBytes);
|
||||
var privDict = this.getPrivDict(baseDict, strings);
|
||||
var privDict = this.getPrivDict(baseDict, strings);
|
||||
|
||||
TODO('Parse encoding');
|
||||
var charStrings = this.parseIndex(topDict['CharStrings']);
|
||||
@ -2132,7 +2132,7 @@ var Type2CFF = (function() {
|
||||
// containing mappings for {unicode, width})
|
||||
var charstrings = this.getCharStrings(charset, charStrings,
|
||||
privDict, this.properties);
|
||||
|
||||
|
||||
// create the mapping between charstring and glyph id
|
||||
var glyphIds = [];
|
||||
for (var i = 0, ii = charstrings.length; i < ii; ++i) {
|
||||
@ -2225,7 +2225,7 @@ var Type2CFF = (function() {
|
||||
var pair = baseDict[i];
|
||||
var key = pair[0];
|
||||
var value = pair[1];
|
||||
switch(key) {
|
||||
switch (key) {
|
||||
case 20:
|
||||
dict['defaultWidthX'] = value[0];
|
||||
case 21:
|
||||
@ -2247,7 +2247,7 @@ var Type2CFF = (function() {
|
||||
var pair = baseDict[i];
|
||||
var key = pair[0];
|
||||
var value = pair[1];
|
||||
switch(key) {
|
||||
switch (key) {
|
||||
case 1:
|
||||
dict['Notice'] = strings[value[0]];
|
||||
break;
|
||||
@ -2283,7 +2283,7 @@ var Type2CFF = (function() {
|
||||
},
|
||||
getStrings: function cff_getstrings(stringIndex) {
|
||||
function bytesToString(bytesArr) {
|
||||
var s = "";
|
||||
var s = '';
|
||||
for (var i = 0, ii = bytesArr.length; i < ii; ++i)
|
||||
s += String.fromCharCode(bytesArr[i]);
|
||||
return s;
|
||||
@ -2302,11 +2302,11 @@ var Type2CFF = (function() {
|
||||
var bytes = this.bytes;
|
||||
var offset = 0;
|
||||
|
||||
while(bytes[offset] != 1)
|
||||
while (bytes[offset] != 1)
|
||||
++offset;
|
||||
|
||||
if (offset != 0) {
|
||||
warning("cff data is shifted");
|
||||
warning('cff data is shifted');
|
||||
bytes = bytes.subarray(offset);
|
||||
this.bytes = bytes;
|
||||
}
|
||||
@ -2314,7 +2314,7 @@ var Type2CFF = (function() {
|
||||
return {
|
||||
endPos: bytes[2],
|
||||
offsetSize: bytes[3]
|
||||
}
|
||||
};
|
||||
},
|
||||
parseDict: function cff_parseDict(dict) {
|
||||
var pos = 0;
|
||||
@ -2345,7 +2345,7 @@ var Type2CFF = (function() {
|
||||
};
|
||||
|
||||
function parseFloatOperand() {
|
||||
var str = "";
|
||||
var str = '';
|
||||
var eof = 15;
|
||||
var lookup = ['0', '1', '2', '3', '4', '5', '6', '7', '8',
|
||||
'9', '.', 'E', 'E-', null, '-'];
|
||||
@ -2368,7 +2368,7 @@ var Type2CFF = (function() {
|
||||
|
||||
var operands = [];
|
||||
var entries = [];
|
||||
|
||||
|
||||
var pos = 0;
|
||||
var end = dict.length;
|
||||
while (pos < end) {
|
||||
@ -2421,8 +2421,8 @@ var Type2CFF = (function() {
|
||||
},
|
||||
length: count,
|
||||
endPos: end
|
||||
}
|
||||
},
|
||||
};
|
||||
}
|
||||
};
|
||||
|
||||
return constructor;
|
||||
|
168
pdf.js
168
pdf.js
@ -48,9 +48,9 @@ function backtrace() {
|
||||
var stackStr;
|
||||
try {
|
||||
throw new Error();
|
||||
} catch(e) {
|
||||
} catch (e) {
|
||||
stackStr = e.stack;
|
||||
};
|
||||
}
|
||||
return stackStr.split('\n').slice(1).join('\n');
|
||||
}
|
||||
|
||||
@ -927,10 +927,10 @@ var AsciiHexStream = (function() {
|
||||
function constructor(str) {
|
||||
this.str = str;
|
||||
this.dict = str.dict;
|
||||
|
||||
|
||||
DecodeStream.call(this);
|
||||
}
|
||||
|
||||
|
||||
var hexvalueMap = {
|
||||
9: -1, // \t
|
||||
32: -1, // space
|
||||
@ -959,35 +959,35 @@ var AsciiHexStream = (function() {
|
||||
};
|
||||
|
||||
constructor.prototype = Object.create(DecodeStream.prototype);
|
||||
|
||||
|
||||
constructor.prototype.readBlock = function() {
|
||||
var gtCode = '>'.charCodeAt(0), bytes = this.str.getBytes(), c, n,
|
||||
var gtCode = '>'.charCodeAt(0), bytes = this.str.getBytes(), c, n,
|
||||
decodeLength, buffer, bufferLength, i, length;
|
||||
|
||||
|
||||
decodeLength = (bytes.length + 1) >> 1;
|
||||
buffer = this.ensureBuffer(this.bufferLength + decodeLength);
|
||||
bufferLength = this.bufferLength;
|
||||
|
||||
for(i = 0, length = bytes.length; i < length; i++) {
|
||||
|
||||
for (i = 0, length = bytes.length; i < length; i++) {
|
||||
c = hexvalueMap[bytes[i]];
|
||||
while (c == -1 && (i+1) < length) {
|
||||
while (c == -1 && (i + 1) < length) {
|
||||
c = hexvalueMap[bytes[++i]];
|
||||
}
|
||||
|
||||
if((i+1) < length && (bytes[i+1] !== gtCode)) {
|
||||
|
||||
if ((i + 1) < length && (bytes[i + 1] !== gtCode)) {
|
||||
n = hexvalueMap[bytes[++i]];
|
||||
buffer[bufferLength++] = c*16+n;
|
||||
buffer[bufferLength++] = c * 16 + n;
|
||||
} else {
|
||||
if(bytes[i] !== gtCode) { // EOD marker at an odd number, behave as if a 0 followed the last digit.
|
||||
buffer[bufferLength++] = c*16;
|
||||
if (bytes[i] !== gtCode) { // EOD marker at an odd number, behave as if a 0 followed the last digit.
|
||||
buffer[bufferLength++] = c * 16;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
this.bufferLength = bufferLength;
|
||||
this.eof = true;
|
||||
};
|
||||
|
||||
|
||||
return constructor;
|
||||
})();
|
||||
|
||||
@ -2983,7 +2983,7 @@ var Page = (function() {
|
||||
create: Date.now(),
|
||||
compile: 0.0,
|
||||
fonts: 0.0,
|
||||
render: 0.0,
|
||||
render: 0.0
|
||||
};
|
||||
this.xref = xref;
|
||||
}
|
||||
@ -3037,7 +3037,7 @@ var Page = (function() {
|
||||
return shadow(this, 'height', height);
|
||||
},
|
||||
get rotate() {
|
||||
var rotate = this.inheritPageProp("Rotate") || 0;
|
||||
var rotate = this.inheritPageProp('Rotate') || 0;
|
||||
// Normalize rotation so it's a multiple of 90 and between 0 and 270
|
||||
if (rotate % 90 != 0) {
|
||||
rotate = 0;
|
||||
@ -3056,7 +3056,7 @@ var Page = (function() {
|
||||
stats.compile = stats.fonts = stats.render = 0;
|
||||
|
||||
var gfx = new CanvasGraphics(canvasCtx);
|
||||
var fonts = [ ];
|
||||
var fonts = [];
|
||||
|
||||
this.compile(gfx, fonts);
|
||||
stats.compile = Date.now();
|
||||
@ -3067,7 +3067,7 @@ var Page = (function() {
|
||||
stats.fonts = Date.now();
|
||||
// Always defer call to display() to work around bug in
|
||||
// Firefox error reporting from XHR callbacks.
|
||||
setTimeout(function () {
|
||||
setTimeout(function() {
|
||||
var exc = null;
|
||||
try {
|
||||
self.display(gfx);
|
||||
@ -3542,7 +3542,7 @@ var EvalState = (function() {
|
||||
var PartialEvaluator = (function() {
|
||||
function constructor() {
|
||||
this.state = new EvalState();
|
||||
this.stateStack = [ ];
|
||||
this.stateStack = [];
|
||||
}
|
||||
|
||||
var OP_MAP = {
|
||||
@ -3646,10 +3646,10 @@ var PartialEvaluator = (function() {
|
||||
eval: function(stream, xref, resources, fonts) {
|
||||
resources = xref.fetchIfRef(resources) || new Dict();
|
||||
var xobjs = xref.fetchIfRef(resources.get('XObject')) || new Dict();
|
||||
var patterns = xref.fetchIfRef(resources.get("Pattern")) || new Dict();
|
||||
var patterns = xref.fetchIfRef(resources.get('Pattern')) || new Dict();
|
||||
var parser = new Parser(new Lexer(stream), false);
|
||||
var args = [], argsArray = [], fnArray = [], obj;
|
||||
|
||||
|
||||
while (!IsEOF(obj = parser.getObj())) {
|
||||
if (IsCmd(obj)) {
|
||||
var cmd = obj.cmd;
|
||||
@ -3665,7 +3665,7 @@ var PartialEvaluator = (function() {
|
||||
var pattern = xref.fetchIfRef(patterns.get(patternName.name));
|
||||
if (pattern) {
|
||||
var dict = IsStream(pattern) ? pattern.dict : pattern;
|
||||
var typeNum = dict.get("PatternType");
|
||||
var typeNum = dict.get('PatternType');
|
||||
if (typeNum == 1) {
|
||||
patternName.code = this.eval(pattern, xref,
|
||||
dict.get('Resources'), fonts);
|
||||
@ -3718,7 +3718,7 @@ var PartialEvaluator = (function() {
|
||||
}
|
||||
|
||||
return function(gfx) {
|
||||
for(var i = 0, length = argsArray.length; i < length; i++)
|
||||
for (var i = 0, length = argsArray.length; i < length; i++)
|
||||
gfx[fnArray[i]].apply(gfx, argsArray[i]);
|
||||
}
|
||||
},
|
||||
@ -3729,8 +3729,8 @@ var PartialEvaluator = (function() {
|
||||
var subType = fontDict.get('Subtype');
|
||||
var compositeFont = false;
|
||||
assertWellFormed(IsName(subType), 'invalid font Subtype');
|
||||
|
||||
// If font is a composite
|
||||
|
||||
// If font is a composite
|
||||
// - get the descendant font
|
||||
// - set the type according to the descendant font
|
||||
// - get the FontDescriptor from the descendant font
|
||||
@ -3750,10 +3750,10 @@ var PartialEvaluator = (function() {
|
||||
} else {
|
||||
fd = fontDict.get('FontDescriptor');
|
||||
}
|
||||
|
||||
|
||||
if (!fd)
|
||||
return null;
|
||||
|
||||
|
||||
var descriptor = xref.fetch(fd);
|
||||
|
||||
var fontName = xref.fetchIfRef(descriptor.get('FontName'));
|
||||
@ -3773,7 +3773,7 @@ var PartialEvaluator = (function() {
|
||||
var glyphsData = glyphsStream.getBytes(0);
|
||||
var i = 0;
|
||||
// Glyph ids are big-endian 2-byte values
|
||||
for (var j=0; j<glyphsData.length; j++) {
|
||||
for (var j = 0; j < glyphsData.length; j++) {
|
||||
var glyphID = (glyphsData[j++] << 8) | glyphsData[j];
|
||||
charset.push(glyphID);
|
||||
}
|
||||
@ -3785,12 +3785,12 @@ var PartialEvaluator = (function() {
|
||||
if (IsName(encoding)) {
|
||||
// Encoding is a predefined CMap
|
||||
if (encoding.name == 'Identity-H') {
|
||||
TODO ('Need to create an identity cmap')
|
||||
TODO('Need to create an identity cmap');
|
||||
} else {
|
||||
TODO ('Need to support predefined CMaps see PDF 32000-1:2008 9.7.5.2 Predefined CMaps')
|
||||
TODO('Need to support predefined CMaps see PDF 32000-1:2008 9.7.5.2 Predefined CMaps');
|
||||
}
|
||||
} else {
|
||||
TODO ('Need to support encoding streams see PDF 32000-1:2008 9.7.5.3');
|
||||
TODO('Need to support encoding streams see PDF 32000-1:2008 9.7.5.3');
|
||||
}
|
||||
}
|
||||
} else if (fontDict.has('Encoding')) {
|
||||
@ -3955,11 +3955,11 @@ var PartialEvaluator = (function() {
|
||||
|
||||
return {
|
||||
name: fontName,
|
||||
fontDict: fontDict,
|
||||
fontDict: fontDict,
|
||||
file: fontFile,
|
||||
properties: properties
|
||||
};
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
return constructor;
|
||||
@ -4145,7 +4145,7 @@ var CanvasGraphics = (function() {
|
||||
stroke: function() {
|
||||
var ctx = this.ctx;
|
||||
var strokeColor = this.current.strokeColor;
|
||||
if (strokeColor && strokeColor.type === "Pattern") {
|
||||
if (strokeColor && strokeColor.type === 'Pattern') {
|
||||
// for patterns, we transform to pattern space, calculate
|
||||
// the pattern, call stroke, and restore to user space
|
||||
ctx.save();
|
||||
@ -4166,7 +4166,7 @@ var CanvasGraphics = (function() {
|
||||
var ctx = this.ctx;
|
||||
var fillColor = this.current.fillColor;
|
||||
|
||||
if (fillColor && fillColor.type === "Pattern") {
|
||||
if (fillColor && fillColor.type === 'Pattern') {
|
||||
ctx.save();
|
||||
ctx.fillStyle = fillColor.getPattern(ctx);
|
||||
ctx.fill();
|
||||
@ -4186,7 +4186,7 @@ var CanvasGraphics = (function() {
|
||||
var ctx = this.ctx;
|
||||
|
||||
var fillColor = this.current.fillColor;
|
||||
if (fillColor && fillColor.type === "Pattern") {
|
||||
if (fillColor && fillColor.type === 'Pattern') {
|
||||
ctx.save();
|
||||
ctx.fillStyle = fillColor.getPattern(ctx);
|
||||
ctx.fill();
|
||||
@ -4194,9 +4194,9 @@ var CanvasGraphics = (function() {
|
||||
} else {
|
||||
ctx.fill();
|
||||
}
|
||||
|
||||
|
||||
var strokeColor = this.current.strokeColor;
|
||||
if (strokeColor && strokeColor.type === "Pattern") {
|
||||
if (strokeColor && strokeColor.type === 'Pattern') {
|
||||
ctx.save();
|
||||
ctx.strokeStyle = strokeColor.getPattern(ctx);
|
||||
ctx.stroke();
|
||||
@ -4204,7 +4204,7 @@ var CanvasGraphics = (function() {
|
||||
} else {
|
||||
ctx.stroke();
|
||||
}
|
||||
|
||||
|
||||
this.consumePath();
|
||||
},
|
||||
eoFillStroke: function() {
|
||||
@ -4285,9 +4285,9 @@ var CanvasGraphics = (function() {
|
||||
|
||||
size = (size <= kRasterizerMin) ? size * kScalePrecision : size;
|
||||
|
||||
var bold = fontObj.bold ? "bold" : "normal";
|
||||
var italic = fontObj.italic ? "italic" : "normal";
|
||||
var rule = bold + " " + italic + " " + size + 'px "' + name + '"';
|
||||
var bold = fontObj.bold ? 'bold' : 'normal';
|
||||
var italic = fontObj.italic ? 'italic' : 'normal';
|
||||
var rule = bold + ' ' + italic + ' ' + size + 'px "' + name + '"';
|
||||
this.ctx.font = rule;
|
||||
}
|
||||
},
|
||||
@ -4329,7 +4329,7 @@ var CanvasGraphics = (function() {
|
||||
ctx.save();
|
||||
ctx.transform.apply(ctx, current.textMatrix);
|
||||
ctx.scale(1, -1);
|
||||
|
||||
|
||||
ctx.translate(current.x, -1 * current.y);
|
||||
|
||||
var scaleFactorX = 1, scaleFactorY = 1;
|
||||
@ -4405,11 +4405,11 @@ var CanvasGraphics = (function() {
|
||||
|
||||
// Color
|
||||
setStrokeColorSpace: function(space) {
|
||||
this.current.strokeColorSpace =
|
||||
this.current.strokeColorSpace =
|
||||
ColorSpace.parse(space, this.xref, this.res);
|
||||
},
|
||||
setFillColorSpace: function(space) {
|
||||
this.current.fillColorSpace =
|
||||
this.current.fillColorSpace =
|
||||
ColorSpace.parse(space, this.xref, this.res);
|
||||
},
|
||||
setStrokeColor: function(/*...*/) {
|
||||
@ -4509,7 +4509,7 @@ var CanvasGraphics = (function() {
|
||||
var y0 = Math.min(bl[1], br[1], ul[1], ur[1]);
|
||||
var x1 = Math.max(bl[0], br[0], ul[0], ur[0]);
|
||||
var y1 = Math.max(bl[1], br[1], ul[1], ur[1]);
|
||||
|
||||
|
||||
this.ctx.fillRect(x0, y0, x1 - x0, y1 - y0);
|
||||
} else {
|
||||
// HACK to draw the gradient onto an infinite rectangle.
|
||||
@ -4517,7 +4517,7 @@ var CanvasGraphics = (function() {
|
||||
// Canvas only allows gradients to be drawn in a rectangle
|
||||
// The following bug should allow us to remove this.
|
||||
// https://bugzilla.mozilla.org/show_bug.cgi?id=664884
|
||||
|
||||
|
||||
this.ctx.fillRect(-1e10, -1e10, 2e10, 2e10);
|
||||
}
|
||||
|
||||
@ -4673,7 +4673,7 @@ var CanvasGraphics = (function() {
|
||||
},
|
||||
restoreFillRule: function(rule) {
|
||||
this.ctx.mozFillRule = rule;
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
return constructor;
|
||||
@ -4695,7 +4695,7 @@ var Util = (function() {
|
||||
var yt = p[0] * m[1] + p[1] * m[3] + m[5];
|
||||
return [xt, yt];
|
||||
};
|
||||
|
||||
|
||||
return constructor;
|
||||
})();
|
||||
|
||||
@ -4811,7 +4811,7 @@ var ColorSpace = (function() {
|
||||
error("unimplemented color space object '" + mode + "'");
|
||||
}
|
||||
} else {
|
||||
error('unrecognized color space object: "'+ cs +"'");
|
||||
error('unrecognized color space object: "' + cs + "'");
|
||||
}
|
||||
};
|
||||
|
||||
@ -4820,7 +4820,7 @@ var ColorSpace = (function() {
|
||||
|
||||
var SeparationCS = (function() {
|
||||
function constructor(base, tintFn) {
|
||||
this.name = "Separation";
|
||||
this.name = 'Separation';
|
||||
this.numComps = 1;
|
||||
this.defaultColor = [1];
|
||||
|
||||
@ -4987,41 +4987,41 @@ var DeviceCmykCS = (function() {
|
||||
r += 0.1373 * x;
|
||||
g += 0.1216 * x;
|
||||
b += 0.1255 * x;
|
||||
x = c1 * m1 * y * k1; // 0 0 1 0
|
||||
x = c1 * m1 * y * k1; // 0 0 1 0
|
||||
r += x;
|
||||
g += 0.9490 * x;
|
||||
x = c1 * m1 * y * k; // 0 0 1 1
|
||||
x = c1 * m1 * y * k; // 0 0 1 1
|
||||
r += 0.1098 * x;
|
||||
g += 0.1020 * x;
|
||||
x = c1 * m * y1 * k1; // 0 1 0 0
|
||||
x = c1 * m * y1 * k1; // 0 1 0 0
|
||||
r += 0.9255 * x;
|
||||
b += 0.5490 * x;
|
||||
x = c1 * m * y1 * k; // 0 1 0 1
|
||||
x = c1 * m * y1 * k; // 0 1 0 1
|
||||
r += 0.1412 * x;
|
||||
x = c1 * m * y * k1; // 0 1 1 0
|
||||
x = c1 * m * y * k1; // 0 1 1 0
|
||||
r += 0.9294 * x;
|
||||
g += 0.1098 * x;
|
||||
b += 0.1412 * x;
|
||||
x = c1 * m * y * k; // 0 1 1 1
|
||||
x = c1 * m * y * k; // 0 1 1 1
|
||||
r += 0.1333 * x;
|
||||
x = c * m1 * y1 * k1; // 1 0 0 0
|
||||
x = c * m1 * y1 * k1; // 1 0 0 0
|
||||
g += 0.6784 * x;
|
||||
b += 0.9373 * x;
|
||||
x = c * m1 * y1 * k; // 1 0 0 1
|
||||
x = c * m1 * y1 * k; // 1 0 0 1
|
||||
g += 0.0588 * x;
|
||||
b += 0.1412 * x;
|
||||
x = c * m1 * y * k1; // 1 0 1 0
|
||||
x = c * m1 * y * k1; // 1 0 1 0
|
||||
g += 0.6510 * x;
|
||||
b += 0.3137 * x;
|
||||
x = c * m1 * y * k; // 1 0 1 1
|
||||
x = c * m1 * y * k; // 1 0 1 1
|
||||
g += 0.0745 * x;
|
||||
x = c * m * y1 * k1; // 1 1 0 0
|
||||
x = c * m * y1 * k1; // 1 1 0 0
|
||||
r += 0.1804 * x;
|
||||
g += 0.1922 * x;
|
||||
b += 0.5725 * x;
|
||||
x = c * m * y1 * k; // 1 1 0 1
|
||||
x = c * m * y1 * k; // 1 1 0 1
|
||||
b += 0.0078 * x;
|
||||
x = c * m * y * k1; // 1 1 1 0
|
||||
x = c * m * y * k1; // 1 1 1 0
|
||||
r += 0.2118 * x;
|
||||
g += 0.2119 * x;
|
||||
b += 0.2235 * x;
|
||||
@ -5037,7 +5037,7 @@ var DeviceCmykCS = (function() {
|
||||
for (var i = 0; i < length; i++) {
|
||||
var cmyk = [];
|
||||
for (var j = 0; j < 4; ++j)
|
||||
cmyk.push(colorBuf[colorBufPos++]/255);
|
||||
cmyk.push(colorBuf[colorBufPos++] / 255);
|
||||
|
||||
var rgb = this.getRgb(cmyk);
|
||||
for (var j = 0; j < 3; ++j)
|
||||
@ -5061,7 +5061,7 @@ var Pattern = (function() {
|
||||
// Output: the appropriate fillStyle or strokeStyle
|
||||
getPattern: function pattern_getStyle(ctx) {
|
||||
error('Should not call Pattern.getStyle');
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
constructor.parse = function pattern_parse(args, cs, xref, res, ctx) {
|
||||
@ -5069,17 +5069,17 @@ var Pattern = (function() {
|
||||
|
||||
var patternName = args[length - 1];
|
||||
if (!IsName(patternName))
|
||||
error("Bad args to getPattern");
|
||||
error('Bad args to getPattern');
|
||||
|
||||
var patternRes = xref.fetchIfRef(res.get("Pattern"));
|
||||
var patternRes = xref.fetchIfRef(res.get('Pattern'));
|
||||
if (!patternRes)
|
||||
error("Unable to find pattern resource");
|
||||
error('Unable to find pattern resource');
|
||||
|
||||
var pattern = xref.fetchIfRef(patternRes.get(patternName.name));
|
||||
var dict = IsStream(pattern) ? pattern.dict : pattern;
|
||||
var typeNum = dict.get("PatternType");
|
||||
var typeNum = dict.get('PatternType');
|
||||
|
||||
switch(typeNum) {
|
||||
switch (typeNum) {
|
||||
case 1:
|
||||
var base = cs.base;
|
||||
var color;
|
||||
@ -5201,9 +5201,9 @@ var RadialAxialShading = (function() {
|
||||
} else if (type == 3) {
|
||||
var p0 = [coordsArr[0], coordsArr[1]];
|
||||
var p1 = [coordsArr[3], coordsArr[4]];
|
||||
var r0 = coordsArr[2], r1 = coordsArr[5]
|
||||
var r0 = coordsArr[2], r1 = coordsArr[5];
|
||||
} else {
|
||||
error()
|
||||
error();
|
||||
}
|
||||
|
||||
var matrix = this.matrix;
|
||||
@ -5244,7 +5244,7 @@ var RadialAxialShading = (function() {
|
||||
|
||||
var TilingPattern = (function() {
|
||||
var PAINT_TYPE_COLORED = 1, PAINT_TYPE_UNCOLORED = 2;
|
||||
|
||||
|
||||
function constructor(pattern, code, dict, color, xref, ctx) {
|
||||
function multiply(m, tm) {
|
||||
var a = m[0] * tm[0] + m[1] * tm[2];
|
||||
@ -5258,7 +5258,7 @@ var TilingPattern = (function() {
|
||||
|
||||
TODO('TilingType');
|
||||
|
||||
this.matrix = dict.get("Matrix");
|
||||
this.matrix = dict.get('Matrix');
|
||||
this.curMatrix = ctx.mozCurrentTransform;
|
||||
this.invMatrix = ctx.mozCurrentTransformInverse;
|
||||
this.ctx = ctx;
|
||||
@ -5272,14 +5272,14 @@ var TilingPattern = (function() {
|
||||
|
||||
var topLeft = [x0, y0];
|
||||
// we want the canvas to be as large as the step size
|
||||
var botRight = [x0 + xstep, y0 + ystep]
|
||||
var botRight = [x0 + xstep, y0 + ystep];
|
||||
|
||||
var width = botRight[0] - topLeft[0];
|
||||
var height = botRight[1] - topLeft[1];
|
||||
|
||||
// TODO: hack to avoid OOM, we would idealy compute the tiling
|
||||
// pattern to be only as large as the acual size in device space
|
||||
// This could be computed with .mozCurrentTransform, but still
|
||||
// This could be computed with .mozCurrentTransform, but still
|
||||
// needs to be implemented
|
||||
while (Math.abs(width) > 512 || Math.abs(height) > 512) {
|
||||
width = 512;
|
||||
@ -5676,7 +5676,7 @@ var PDFFunction = (function() {
|
||||
var c0 = dict.get('C0') || [0];
|
||||
var c1 = dict.get('C1') || [1];
|
||||
var n = dict.get('N');
|
||||
|
||||
|
||||
if (!IsArray(c0) || !IsArray(c1))
|
||||
error('Illegal dictionary for interpolated function');
|
||||
|
||||
@ -5685,7 +5685,7 @@ var PDFFunction = (function() {
|
||||
for (var i = 0; i < length; ++i)
|
||||
diff.push(c1[i] - c0[i]);
|
||||
|
||||
this.func = function (args) {
|
||||
this.func = function(args) {
|
||||
var x = args[0];
|
||||
|
||||
var out = [];
|
||||
@ -5697,11 +5697,11 @@ var PDFFunction = (function() {
|
||||
},
|
||||
constructStiched: function() {
|
||||
TODO('unhandled type of function');
|
||||
this.func = function () { return [ 255, 105, 180 ]; }
|
||||
this.func = function() { return [255, 105, 180]; }
|
||||
},
|
||||
constructPostScript: function() {
|
||||
TODO('unhandled type of function');
|
||||
this.func = function () { return [ 255, 105, 180 ]; }
|
||||
this.func = function() { return [255, 105, 180]; }
|
||||
}
|
||||
};
|
||||
|
||||
|
@ -41,15 +41,15 @@ var PDFView = {
|
||||
|
||||
set page(val) {
|
||||
var pages = this.pages;
|
||||
var input = document.getElementById("pageNumber");
|
||||
var input = document.getElementById('pageNumber');
|
||||
if (val <= 0 || val > pages.length) {
|
||||
input.value = this.page;
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
document.location.hash = val;
|
||||
document.getElementById("previous").disabled = (val == 1);
|
||||
document.getElementById("next").disabled = (val == pages.length);
|
||||
document.getElementById('previous').disabled = (val == 1);
|
||||
document.getElementById('next').disabled = (val == pages.length);
|
||||
if (input.value == val)
|
||||
return;
|
||||
|
||||
@ -62,7 +62,7 @@ var PDFView = {
|
||||
},
|
||||
|
||||
open: function(url, scale) {
|
||||
if (url.indexOf("http") == 0)
|
||||
if (url.indexOf('http') == 0)
|
||||
return;
|
||||
|
||||
document.title = url;
|
||||
@ -106,7 +106,7 @@ var PDFView = {
|
||||
var page = pdf.getPage(i);
|
||||
pages.push(new PageView(container, page, i, page.width, page.height, page.stats));
|
||||
thumbnails.push(new ThumbnailView(sidebar, pages[i - 1]));
|
||||
};
|
||||
}
|
||||
|
||||
this.scale = (scale || kDefaultScale);
|
||||
this.page = parseInt(document.location.hash.substring(1)) || 1;
|
||||
@ -136,7 +136,7 @@ var PDFView = {
|
||||
}
|
||||
|
||||
return visiblePages;
|
||||
},
|
||||
}
|
||||
};
|
||||
|
||||
var PageView = function(container, content, id, width, height, stats) {
|
||||
@ -157,7 +157,7 @@ var PageView = function(container, content, id, width, height, stats) {
|
||||
|
||||
this.update = function(scale) {
|
||||
this.scale = scale || this.scale;
|
||||
div.style.width = (this.width * this.scale)+ 'px';
|
||||
div.style.width = (this.width * this.scale) + 'px';
|
||||
div.style.height = (this.height * this.scale) + 'px';
|
||||
|
||||
while (div.hasChildNodes())
|
||||
@ -192,7 +192,7 @@ var PageView = function(container, content, id, width, height, stats) {
|
||||
|
||||
this.updateStats = function() {
|
||||
var t1 = stats.compile, t2 = stats.fonts, t3 = stats.render;
|
||||
var str = 'Time to compile/fonts/render: ' +
|
||||
var str = 'Time to compile/fonts/render: ' +
|
||||
(t1 - stats.begin) + '/' + (t2 - t1) + '/' + (t3 - t2) + ' ms';
|
||||
document.getElementById('info').innerHTML = str;
|
||||
};
|
||||
@ -270,11 +270,11 @@ window.addEventListener('scroll', function(evt) {
|
||||
PDFView.page = firstPage.id;
|
||||
}, true);
|
||||
|
||||
window.addEventListener("hashchange", function(evt) {
|
||||
window.addEventListener('hashchange', function(evt) {
|
||||
PDFView.page = PDFView.page;
|
||||
});
|
||||
|
||||
window.addEventListener("change", function(evt) {
|
||||
window.addEventListener('change', function(evt) {
|
||||
var files = evt.target.files;
|
||||
if (!files || files.length == 0)
|
||||
return;
|
||||
@ -300,7 +300,7 @@ window.addEventListener("change", function(evt) {
|
||||
document.location.hash = 1;
|
||||
}, true);
|
||||
|
||||
window.addEventListener("transitionend", function(evt) {
|
||||
window.addEventListener('transitionend', function(evt) {
|
||||
var pageIndex = 0;
|
||||
var pagesCount = PDFView.pages.length;
|
||||
|
||||
@ -308,7 +308,7 @@ window.addEventListener("transitionend", function(evt) {
|
||||
container._interval = window.setInterval(function() {
|
||||
if (pageIndex >= pagesCount)
|
||||
return window.clearInterval(container._interval);
|
||||
|
||||
|
||||
PDFView.thumbnails[pageIndex++].draw();
|
||||
}, 500);
|
||||
}, true);
|
||||
|
Loading…
Reference in New Issue
Block a user