version 1.3, 2004/10/04 20:58:01
|
version 1.5, 2004/11/03 15:24:46
|
Line 17 Foundation, Inc., 59 Temple Place - Suit
|
Line 17 Foundation, Inc., 59 Temple Place - Suit
|
Authors: |
Authors: |
Christian Luginbuehl, 01.05.2003 (first version) |
Christian Luginbuehl, 01.05.2003 (first version) |
DW 24.03.2004 (Changed for digiLib in Zope) |
DW 24.03.2004 (Changed for digiLib in Zope) |
Robert Casties, 04.10.2004 |
Robert Casties, 2.11.2004 |
|
|
! Requires baselib.js ! |
! Requires baselib.js ! |
|
|
*/ |
*/ |
|
|
var dlScriptVersion = "1.0b3"; |
|
|
function identify() { |
|
// used for identifying a digilib instance |
|
// Relato uses that function - lugi |
|
return "Digilib 0.6"; |
|
} |
|
|
|
|
/* |
/* |
* more parameter handling |
* more parameter handling |
*/ |
*/ |
|
|
var dlArea = new Rectangle(0.0, 0.0, 1.0, 1.0); |
|
var dlMaxArea = new Rectangle(0.0, 0.0, 1.0, 1.0); |
|
|
|
function parseArea() { |
function parseArea() { |
// returns area Rectangle from current parameters |
// returns area Rectangle from current parameters |
return new Rectangle(getParameter("wx"), getParameter("wy"), getParameter("ww"), getParameter("wh")); |
return new Rectangle(getParameter("wx"), getParameter("wy"), getParameter("ww"), getParameter("wh")); |
Line 46 function setParamFromArea(rect) {
|
Line 49 function setParamFromArea(rect) {
|
return true; |
return true; |
} |
} |
|
|
var dlTrafo = new Transform(); |
|
|
|
function parseTrafo(elem) { |
function parseTrafo(elem) { |
// returns Transform from current dlArea and picsize |
// returns Transform from current dlArea and picsize |
var picsize = getElementRect(elem); |
var picsize = getElementRect(elem); |
Line 71 function parseTrafo(elem) {
|
Line 72 function parseTrafo(elem) {
|
} |
} |
|
|
|
|
var dlMarks = new Array(); |
|
|
|
function parseMarks() { |
function parseMarks() { |
// returns marks array from current parameters |
// returns marks array from current parameters |
var marks = new Array(); |
var marks = new Array(); |
Line 116 function deleteMark() {
|
Line 115 function deleteMark() {
|
return true; |
return true; |
} |
} |
|
|
var dlFlags = new Object(); |
|
|
|
function hasFlag(mode) { |
function hasFlag(mode) { |
// returns if mode flag is set |
// returns if mode flag is set |
return (dlFlags[mode]); |
return (dlFlags[mode]); |
Line 194 function bestPicSize(elem, inset) {
|
Line 191 function bestPicSize(elem, inset) {
|
* digilib specific routines |
* digilib specific routines |
* ******************************************** */ |
* ******************************************** */ |
|
|
var elemScaler = null; |
|
var picElem = null; |
|
|
|
|
|
function dl_param_init() { |
function dl_param_init() { |
// parameter initialisation before onload |
// parameter initialisation before onload |
|
if (!baseScriptVersion) { |
|
base_init(); |
|
} |
|
dlScriptVersion = "1.1b"; |
|
dlArea = new Rectangle(0.0, 0.0, 1.0, 1.0); |
|
dlMaxArea = new Rectangle(0.0, 0.0, 1.0, 1.0); |
|
dlTrafo = new Transform(); |
|
dlMarks = new Array(); |
|
dlFlags = new Object(); |
|
elemScaler = null; |
|
picElem = null; |
|
ZOOMFACTOR = Math.sqrt(2); |
|
|
// put the query parameters (sans "?") in the parameters array |
// put the query parameters (sans "?") in the parameters array |
parseParameters(location.search.slice(1)); |
parseParameters(location.search.slice(1)); |
Line 212 function dl_param_init() {
|
Line 218 function dl_param_init() {
|
|
|
function dl_init() { |
function dl_init() { |
// initalisation on load |
// initalisation on load |
|
if (!dlScriptVersion) { |
|
dl_param_init(); |
|
} |
elemScaler = getElement("scaler", true); |
elemScaler = getElement("scaler", true); |
picElem = getElement("pic", true); |
picElem = getElement("pic", true); |
if (picElem == null && elemScaler) { |
if (picElem == null && elemScaler) { |
Line 219 function dl_init() {
|
Line 228 function dl_init() {
|
picElem = elemScaler.document.images[0]; |
picElem = elemScaler.document.images[0]; |
} |
} |
if ((!elemScaler)||(!picElem)) { |
if ((!elemScaler)||(!picElem)) { |
alert("Sorry, zogilib doesn't work here!"); |
alert("Sorry, digilib doesn't work here!"); |
return false; |
return false; |
} |
} |
// give a name to the window containing digilib |
// give a name to the window containing digilib |
Line 405 function zoomArea() {
|
Line 414 function zoomArea() {
|
registerEvent("mousedown", eck4, zoomClick); |
registerEvent("mousedown", eck4, zoomClick); |
} |
} |
|
|
var ZOOMFACTOR = Math.sqrt(2); |
|
|
|
function zoomBy(factor) { |
function zoomBy(factor) { |
// zooms by the given factor |
// zooms by the given factor |
var newarea = dlArea.copy(); |
var newarea = dlArea.copy(); |
Line 454 function moveCenter() {
|
Line 461 function moveCenter() {
|
registerEvent("mousedown", elemScaler, moveCenterEvent); |
registerEvent("mousedown", elemScaler, moveCenterEvent); |
} |
} |
|
|
|
function moveBy(movx, movy) { |
|
// move visible area by movx and movy (in units of dw, dh) |
|
if ((dlArea.width == 1.0)&&(dlArea.height == 1.0)) { |
|
// nothing to do |
|
return; |
|
} |
|
var newarea = dlArea.copy(); |
|
newarea.x += parseFloat(movx)*dlArea.width; |
|
newarea.y += parseFloat(movy)*dlArea.height; |
|
newarea = dlMaxArea.fit(newarea); |
|
// set parameters |
|
setParamFromArea(newarea); |
|
parseArea(); |
|
display(); |
|
} |
|
|
|
|
|
|
|
|
function getRef() { |
function getRef() { |
Line 473 function getRefWin(type, msg) {
|
Line 497 function getRefWin(type, msg) {
|
// shows an alert with a reference to the current digilib set |
// shows an alert with a reference to the current digilib set |
if (! msg) { |
if (! msg) { |
msg = "Link for HTML documents"; |
msg = "Link for HTML documents"; |
|
} |
prompt(msg, getRef()); |
prompt(msg, getRef()); |
} |
} |
|
|