openseadragon/test/demo/collections/main.js

276 lines
8.1 KiB
JavaScript
Raw Normal View History

/* globals $, App */
2014-07-18 03:24:28 +04:00
(function() {
window.App = {
2014-07-18 03:24:28 +04:00
init: function() {
var self = this;
var testInitialOpen = false;
var testOverlays = false;
var testMargins = false;
var testNavigator = false;
var margins;
2014-10-17 01:00:07 +04:00
var config = {
2014-07-22 22:13:22 +04:00
debugMode: true,
zoomPerScroll: 1.02,
showNavigator: testNavigator,
// wrapHorizontal: true,
// wrapVertical: true,
2014-07-18 03:24:28 +04:00
id: "contentDiv",
2014-07-22 22:13:22 +04:00
prefixUrl: "../../../build/openseadragon/images/"
2014-10-17 01:00:07 +04:00
};
2014-07-18 03:24:28 +04:00
if (testInitialOpen) {
config.tileSources = [
{
tileSource: "../../data/tall.dzi",
x: 1.5,
y: 0,
width: 1
2014-11-04 04:14:17 +03:00
}, {
tileSource: '../../data/wide.dzi',
opacity: 1,
x: 0,
y: 1.5,
height: 1
}
];
}
2014-07-18 03:24:28 +04:00
if (testOverlays) {
config.overlays = [ {
px: 13,
py: 120,
width: 124,
height: 132,
id: "overlay"
}, {
px: 400,
py: 500,
width: 400,
height: 400,
id: "fixed-overlay",
placement: "TOP_LEFT"
} ];
}
if (testMargins) {
margins = {
top: 250,
left: 250,
right: 250,
bottom: 250
};
config.viewportMargins = margins;
}
2014-10-18 01:27:24 +04:00
2014-10-17 01:00:07 +04:00
this.viewer = OpenSeadragon(config);
if (testInitialOpen) {
this.viewer.addHandler( "open", function() {
// console.log(self.viewer.viewport.contentSize);
});
}
if (testMargins) {
this.viewer.addHandler('animation', function() {
var box = new OpenSeadragon.Rect(margins.left, margins.top,
$('#contentDiv').width() - (margins.left + margins.right),
$('#contentDiv').height() - (margins.top + margins.bottom));
self.viewer.drawer.debugRect(box);
});
}
2014-11-04 04:14:17 +03:00
// this.crossTest3();
this.crossTest2();
2014-10-17 01:00:07 +04:00
},
// ----------
basicTest: function() {
var self = this;
this.viewer.addHandler('open', function() {
});
this.viewer.open({
tileSource: "../../data/testpattern.dzi"
});
},
// ----------
crossTest: function() {
var self = this;
2014-07-18 03:24:28 +04:00
this.viewer.addHandler( "open", function() {
var options = {
tileSource: '../../data/wide.dzi',
opacity: 1,
x: 0,
y: 1.5,
height: 1
};
var addItemHandler = function( event ) {
if ( event.options === options ) {
self.viewer.world.removeHandler( "add-item", addItemHandler );
self.viewer.viewport.goHome();
}
};
self.viewer.world.addHandler( "add-item", addItemHandler );
self.viewer.addTiledImage( options );
2014-07-18 03:24:28 +04:00
});
2014-07-22 22:13:22 +04:00
this.viewer.open({
tileSource: "../../data/tall.dzi",
2014-07-22 22:13:22 +04:00
x: 1.5,
y: 0,
width: 1
2014-07-22 22:13:22 +04:00
});
2014-07-18 03:24:28 +04:00
},
2014-10-30 02:11:21 +03:00
// ----------
crossTest2: function() {
this.viewer.open([
{
tileSource: "../../data/tall.dzi",
x: 1.5,
y: 0,
width: 1
},
2014-10-30 02:11:21 +03:00
{
tileSource: '../../data/wide.dzi',
x: 0,
y: 1.5,
height: 1
}
]);
},
// ----------
crossTest3: function() {
var self = this;
var expected = 2;
var loaded = 0;
this.viewer.world.addHandler('add-item', function() {
loaded++;
if (loaded === expected) {
// self.viewer.viewport.goHome();
}
});
this.viewer.addTiledImage({
tileSource: "../../data/tall.dzi",
x: 1.5,
y: 0,
width: 1
});
this.viewer.addTiledImage({
tileSource: '../../data/wide.dzi',
opacity: 1,
x: 0,
y: 1.5,
height: 1
});
},
2014-07-18 03:24:28 +04:00
// ----------
gridTest: function() {
2014-07-18 03:24:28 +04:00
var self = this;
var startX = -3;
var expected = 0;
var loaded = 0;
this.viewer.addHandler( "open", function() {
self.viewer.world.addHandler('add-item', function() {
loaded++;
if (loaded === expected) {
self.viewer.viewport.goHome(true);
}
});
2014-07-18 03:24:28 +04:00
var x, y;
for (y = 0; y < 6; y++) {
for (x = 0; x < 6; x++) {
if (!x && !y) {
continue;
}
var options = {
tileSource: '../../data/testpattern.dzi',
x: startX + x,
y: y,
width: 1
};
expected++;
self.viewer.addTiledImage( options );
}
2014-07-18 03:24:28 +04:00
}
});
this.viewer.open({
tileSource: "../../data/testpattern.dzi",
x: startX,
y: 0,
width: 1
});
},
// ----------
bigTest: function() {
this.viewer.open({
tileSource: "../../data/testpattern.dzi",
x: -2,
y: -2,
width: 6
});
2014-10-17 01:00:07 +04:00
},
// ----------
cjTest: function() {
var imageKey = "e-pluribus-unum";
var imageXML = '<?xml version="1.0" encoding="UTF-8"?><Image TileSize="254" Overlap="1" Format="png" xmlns="http://schemas.microsoft.com/deepzoom/2008"><Size Width="88560" Height="88560"/></Image>';
var $xml = $($.parseXML(imageXML));
var $image = $xml.find('Image');
var $size = $xml.find('Size');
var dzi = {
Image: {
xmlns: $image.attr('xmlns'),
Url: "http://chrisjordan.com/dzi/" + imageKey + '_files/',
Format: $image.attr('Format'),
Overlap: $image.attr('Overlap'),
TileSize: $image.attr('TileSize'),
Size: {
Height: $size.attr('Height'),
Width: $size.attr('Width')
}
}
};
this.viewer.open({
tileSource: dzi,
2014-10-17 01:00:07 +04:00
width: 100
});
},
// ----------
stanfordTest: function() {
var info = {"@context":"http://library.stanford.edu/iiif/image-api/1.1/context.json","@id":"http://ids.lib.harvard.edu/ids/iiif/48530377","width":6251,"height":109517,"scale_factors":[1,2,4,8,16,32],"tile_width":256,"tile_height":256,"formats":["jpg"],"qualities":["native"],"profile":"http://library.stanford.edu/iiif/image-api/1.1/compliance.html#level1"};
this.viewer.open(info);
2014-07-18 03:24:28 +04:00
}
};
$(document).ready(function() {
App.init();
});
})();