Mercurial > hg > digilib-old
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; |