comparison client/digitallibrary/dllib.js @ 332:d14782908c37

fixed problems with Netscape4 (silly error by me partly :-)
author robcast
date Tue, 02 Nov 2004 20:36:59 +0100
parents 610c7ee770cb
children 3b710e39823b
comparison
equal deleted inserted replaced
331:07aac99066bf 332:d14782908c37
15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA 15 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
16 16
17 Authors: 17 Authors:
18 Christian Luginbuehl, 01.05.2003 (first version) 18 Christian Luginbuehl, 01.05.2003 (first version)
19 DW 24.03.2004 (Changed for digiLib in Zope) 19 DW 24.03.2004 (Changed for digiLib in Zope)
20 Robert Casties, 27.10.2004 20 Robert Casties, 2.11.2004
21 21
22 ! Requires baselib.js ! 22 ! Requires baselib.js !
23 23
24 */ 24 */
25
26 var dlScriptVersion = "1.0b4";
27 25
28 26
29 function identify() { 27 function identify() {
30 // used for identifying a digilib instance 28 // used for identifying a digilib instance
31 // Relato uses that function - lugi 29 // Relato uses that function - lugi
34 32
35 33
36 /* 34 /*
37 * more parameter handling 35 * more parameter handling
38 */ 36 */
39
40 var dlArea = new Rectangle(0.0, 0.0, 1.0, 1.0);
41 var dlMaxArea = new Rectangle(0.0, 0.0, 1.0, 1.0);
42 37
43 function parseArea() { 38 function parseArea() {
44 // returns area Rectangle from current parameters 39 // returns area Rectangle from current parameters
45 return new Rectangle(getParameter("wx"), getParameter("wy"), getParameter("ww"), getParameter("wh")); 40 return new Rectangle(getParameter("wx"), getParameter("wy"), getParameter("ww"), getParameter("wh"));
46 } 41 }
51 setParameter("wy", cropFloat(rect.y)); 46 setParameter("wy", cropFloat(rect.y));
52 setParameter("ww", cropFloat(rect.width)); 47 setParameter("ww", cropFloat(rect.width));
53 setParameter("wh", cropFloat(rect.height)); 48 setParameter("wh", cropFloat(rect.height));
54 return true; 49 return true;
55 } 50 }
56
57 var dlTrafo = new Transform();
58 51
59 function parseTrafo(elem) { 52 function parseTrafo(elem) {
60 // returns Transform from current dlArea and picsize 53 // returns Transform from current dlArea and picsize
61 var picsize = getElementRect(elem); 54 var picsize = getElementRect(elem);
62 var trafo = new Transform(); 55 var trafo = new Transform();
77 //} 70 //}
78 return trafo; 71 return trafo;
79 } 72 }
80 73
81 74
82 var dlMarks = new Array();
83
84 function parseMarks() { 75 function parseMarks() {
85 // returns marks array from current parameters 76 // returns marks array from current parameters
86 var marks = new Array(); 77 var marks = new Array();
87 var ma; 78 var ma;
88 var mk = getParameter("mk"); 79 var mk = getParameter("mk");
122 dlMarks.pop(); 113 dlMarks.pop();
123 setParameter("mk", getAllMarks()); 114 setParameter("mk", getAllMarks());
124 return true; 115 return true;
125 } 116 }
126 117
127 var dlFlags = new Object();
128
129 function hasFlag(mode) { 118 function hasFlag(mode) {
130 // returns if mode flag is set 119 // returns if mode flag is set
131 return (dlFlags[mode]); 120 return (dlFlags[mode]);
132 } 121 }
133 122
200 189
201 /* ********************************************** 190 /* **********************************************
202 * digilib specific routines 191 * digilib specific routines
203 * ******************************************** */ 192 * ******************************************** */
204 193
205 var elemScaler = null;
206 var picElem = null;
207
208 194
209 function dl_param_init() { 195 function dl_param_init() {
210 // parameter initialisation before onload 196 // parameter initialisation before onload
197 if (!baseScriptVersion) {
198 base_init();
199 }
200 dlScriptVersion = "1.1b";
201 dlArea = new Rectangle(0.0, 0.0, 1.0, 1.0);
202 dlMaxArea = new Rectangle(0.0, 0.0, 1.0, 1.0);
203 dlTrafo = new Transform();
204 dlMarks = new Array();
205 dlFlags = new Object();
206 elemScaler = null;
207 picElem = null;
208 ZOOMFACTOR = Math.sqrt(2);
211 209
212 // put the query parameters (sans "?") in the parameters array 210 // put the query parameters (sans "?") in the parameters array
213 parseParameters(location.search.slice(1)); 211 parseParameters(location.search.slice(1));
214 // treat special parameters 212 // treat special parameters
215 dlMarks = parseMarks(); 213 dlMarks = parseMarks();
218 } 216 }
219 217
220 218
221 function dl_init() { 219 function dl_init() {
222 // initalisation on load 220 // initalisation on load
221 if (!dlScriptVersion) {
222 dl_param_init();
223 }
223 elemScaler = getElement("scaler", true); 224 elemScaler = getElement("scaler", true);
224 picElem = getElement("pic", true); 225 picElem = getElement("pic", true);
225 if (picElem == null && elemScaler) { 226 if (picElem == null && elemScaler) {
226 // in N4 pic is in the scaler layer 227 // in N4 pic is in the scaler layer
227 picElem = elemScaler.document.images[0]; 228 picElem = elemScaler.document.images[0];
411 // starting event capture 412 // starting event capture
412 registerEvent("mousedown", elemScaler, zoomClick); 413 registerEvent("mousedown", elemScaler, zoomClick);
413 registerEvent("mousedown", eck4, zoomClick); 414 registerEvent("mousedown", eck4, zoomClick);
414 } 415 }
415 416
416 var ZOOMFACTOR = Math.sqrt(2);
417
418 function zoomBy(factor) { 417 function zoomBy(factor) {
419 // zooms by the given factor 418 // zooms by the given factor
420 var newarea = dlArea.copy(); 419 var newarea = dlArea.copy();
421 newarea.width /= factor; 420 newarea.width /= factor;
422 newarea.height /= factor; 421 newarea.height /= factor;