mirror of
https://github.com/openseadragon/openseadragon.git
synced 2024-11-25 22:56:11 +03:00
commit
766e2b0e1f
@ -301,7 +301,9 @@ function configureFromXML( tileSource, xmlDoc ){
|
|||||||
} else if ( rootName == "Collection" ) {
|
} else if ( rootName == "Collection" ) {
|
||||||
throw new Error( $.getString( "Errors.Dzc" ) );
|
throw new Error( $.getString( "Errors.Dzc" ) );
|
||||||
} else if ( rootName == "Error" ) {
|
} else if ( rootName == "Error" ) {
|
||||||
return $._processDZIError( root );
|
var messageNode = root.getElementsByTagName("Message")[0];
|
||||||
|
var message = messageNode.firstChild.nodeValue;
|
||||||
|
throw new Error(message);
|
||||||
}
|
}
|
||||||
|
|
||||||
throw new Error( $.getString( "Errors.Dzi" ) );
|
throw new Error( $.getString( "Errors.Dzi" ) );
|
||||||
|
@ -2570,185 +2570,4 @@ if (typeof define === 'function' && define.amd) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
}(OpenSeadragon));
|
||||||
* @private
|
|
||||||
* @inner
|
|
||||||
* @function
|
|
||||||
* @param {XMLHttpRequest} xhr
|
|
||||||
* @param {String} tilesUrl
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
function processDZIResponse( xhr, tilesUrl ) {
|
|
||||||
var status,
|
|
||||||
statusText,
|
|
||||||
doc = null;
|
|
||||||
|
|
||||||
if ( !xhr ) {
|
|
||||||
throw new Error( $.getString( "Errors.Security" ) );
|
|
||||||
} else if ( xhr.status !== 200 && xhr.status !== 0 ) {
|
|
||||||
status = xhr.status;
|
|
||||||
statusText = ( status == 404 ) ?
|
|
||||||
"Not Found" :
|
|
||||||
xhr.statusText;
|
|
||||||
throw new Error( $.getString( "Errors.Status", status, statusText ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
if ( xhr.responseXML && xhr.responseXML.documentElement ) {
|
|
||||||
doc = xhr.responseXML;
|
|
||||||
} else if ( xhr.responseText ) {
|
|
||||||
doc = $.parseXml( xhr.responseText );
|
|
||||||
}
|
|
||||||
|
|
||||||
return processDZIXml( doc, tilesUrl );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @private
|
|
||||||
* @inner
|
|
||||||
* @function
|
|
||||||
* @param {Document} xmlDoc
|
|
||||||
* @param {String} tilesUrl
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
function processDZIXml( xmlDoc, tilesUrl ) {
|
|
||||||
|
|
||||||
if ( !xmlDoc || !xmlDoc.documentElement ) {
|
|
||||||
throw new Error( $.getString( "Errors.Xml" ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
var root = xmlDoc.documentElement,
|
|
||||||
rootName = root.tagName;
|
|
||||||
|
|
||||||
if ( rootName == "Image" ) {
|
|
||||||
try {
|
|
||||||
return processDZI( root, tilesUrl );
|
|
||||||
} catch ( e ) {
|
|
||||||
throw (e instanceof Error) ?
|
|
||||||
e :
|
|
||||||
new Error( $.getString("Errors.Dzi") );
|
|
||||||
}
|
|
||||||
} else if ( rootName == "Collection" ) {
|
|
||||||
throw new Error( $.getString( "Errors.Dzc" ) );
|
|
||||||
} else if ( rootName == "Error" ) {
|
|
||||||
return $._processDZIError( root );
|
|
||||||
}
|
|
||||||
|
|
||||||
throw new Error( $.getString( "Errors.Dzi" ) );
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @private
|
|
||||||
* @inner
|
|
||||||
* @function
|
|
||||||
* @param {Element} imageNode
|
|
||||||
* @param {String} tilesUrl
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
function processDZI( imageNode, tilesUrl ) {
|
|
||||||
var fileFormat = imageNode.getAttribute( "Format" ),
|
|
||||||
sizeNode = imageNode.getElementsByTagName( "Size" )[ 0 ],
|
|
||||||
dispRectNodes = imageNode.getElementsByTagName( "DisplayRect" ),
|
|
||||||
width = parseInt( sizeNode.getAttribute( "Width" ), 10 ),
|
|
||||||
height = parseInt( sizeNode.getAttribute( "Height" ), 10 ),
|
|
||||||
tileSize = parseInt( imageNode.getAttribute( "TileSize" ), 10 ),
|
|
||||||
tileOverlap = parseInt( imageNode.getAttribute( "Overlap" ), 10 ),
|
|
||||||
dispRects = [],
|
|
||||||
dispRectNode,
|
|
||||||
rectNode,
|
|
||||||
i;
|
|
||||||
|
|
||||||
if ( !$.imageFormatSupported( fileFormat ) ) {
|
|
||||||
throw new Error(
|
|
||||||
$.getString( "Errors.ImageFormat", fileFormat.toUpperCase() )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( i = 0; i < dispRectNodes.length; i++ ) {
|
|
||||||
dispRectNode = dispRectNodes[ i ];
|
|
||||||
rectNode = dispRectNode.getElementsByTagName( "Rect" )[ 0 ];
|
|
||||||
|
|
||||||
dispRects.push( new $.DisplayRect(
|
|
||||||
parseInt( rectNode.getAttribute( "X" ), 10 ),
|
|
||||||
parseInt( rectNode.getAttribute( "Y" ), 10 ),
|
|
||||||
parseInt( rectNode.getAttribute( "Width" ), 10 ),
|
|
||||||
parseInt( rectNode.getAttribute( "Height" ), 10 ),
|
|
||||||
0, // ignore MinLevel attribute, bug in Deep Zoom Composer
|
|
||||||
parseInt( dispRectNode.getAttribute( "MaxLevel" ), 10 )
|
|
||||||
));
|
|
||||||
}
|
|
||||||
return new $.DziTileSource(
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
tileSize,
|
|
||||||
tileOverlap,
|
|
||||||
tilesUrl,
|
|
||||||
fileFormat,
|
|
||||||
dispRects
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @private
|
|
||||||
* @inner
|
|
||||||
* @function
|
|
||||||
* @param {Element} imageNode
|
|
||||||
* @param {String} tilesUrl
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
function processDZIJSON( imageData, tilesUrl ) {
|
|
||||||
var fileFormat = imageData.Format,
|
|
||||||
sizeData = imageData.Size,
|
|
||||||
dispRectData = imageData.DisplayRect || [],
|
|
||||||
width = parseInt( sizeData.Width, 10 ),
|
|
||||||
height = parseInt( sizeData.Height, 10 ),
|
|
||||||
tileSize = parseInt( imageData.TileSize, 10 ),
|
|
||||||
tileOverlap = parseInt( imageData.Overlap, 10 ),
|
|
||||||
dispRects = [],
|
|
||||||
rectData,
|
|
||||||
i;
|
|
||||||
|
|
||||||
if ( !$.imageFormatSupported( fileFormat ) ) {
|
|
||||||
throw new Error(
|
|
||||||
$.getString( "Errors.ImageFormat", fileFormat.toUpperCase() )
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
for ( i = 0; i < dispRectData.length; i++ ) {
|
|
||||||
rectData = dispRectData[ i ].Rect;
|
|
||||||
|
|
||||||
dispRects.push( new $.DisplayRect(
|
|
||||||
parseInt( rectData.X, 10 ),
|
|
||||||
parseInt( rectData.Y, 10 ),
|
|
||||||
parseInt( rectData.Width, 10 ),
|
|
||||||
parseInt( rectData.Height, 10 ),
|
|
||||||
0, // ignore MinLevel attribute, bug in Deep Zoom Composer
|
|
||||||
parseInt( rectData.MaxLevel, 10 )
|
|
||||||
));
|
|
||||||
}
|
|
||||||
return new $.DziTileSource(
|
|
||||||
width,
|
|
||||||
height,
|
|
||||||
tileSize,
|
|
||||||
tileOverlap,
|
|
||||||
tilesUrl,
|
|
||||||
fileFormat,
|
|
||||||
dispRects
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @private
|
|
||||||
* @inner
|
|
||||||
* @function
|
|
||||||
* @param {Document} errorNode
|
|
||||||
* @throws {Error}
|
|
||||||
* @deprecated
|
|
||||||
*/
|
|
||||||
$._processDZIError = function ( errorNode ) {
|
|
||||||
var messageNode = errorNode.getElementsByTagName( "Message" )[ 0 ],
|
|
||||||
message = messageNode.firstChild.nodeValue;
|
|
||||||
|
|
||||||
throw new Error(message);
|
|
||||||
};
|
|
||||||
|
|
||||||
}( OpenSeadragon ));
|
|
||||||
|
Loading…
Reference in New Issue
Block a user