# HG changeset patch # User robcast # Date 1091644535 -7200 # Node ID 2f47642300896de3c39302a90222898c822be29b # Parent 20c43a06076ac3808ebee21c2a46d9f688861ea0 new digimage with red triangles for moving the zoomed area (can be switched off with "clop=noarrows") diff -r 20c43a06076a -r 2f4764230089 client/digitallibrary/digimage.jsp --- a/client/digitallibrary/digimage.jsp Wed Aug 04 20:35:35 2004 +0200 +++ b/client/digitallibrary/digimage.jsp Wed Aug 04 20:35:35 2004 +0200 @@ -20,11 +20,13 @@ // parsing the query // ----------------- digilib.servlet.DigilibRequest dlRequest = new digilib.servlet.DigilibRequest(request); +docBean.setRequest(dlRequest); // check if authentication is needed and redirect if necessary -docBean.doAuthentication(dlRequest, response); +docBean.doAuthentication(response); // add number of pages -dlRequest.setValue("pt", docBean.getNumPages(dlRequest)); -String imageLocation = dlRequest.getAsString("base.url") + "/servlet/Scaler?" + dlRequest.getAsString(); +dlRequest.setValue("pt", docBean.getNumPages()); +// store objects for jsp:include +pageContext.setAttribute("docBean", docBean, pageContext.REQUEST_SCOPE); %> Digital Document Library (L1) @@ -56,13 +58,12 @@ - -
- -
+<% if (dlRequest.hasOption("clop", "noarrows")) { +%><% +} else { +%><% +} +%> diff -r 20c43a06076a -r 2f4764230089 client/digitallibrary/digimage_img_inc.jsp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/digitallibrary/digimage_img_inc.jsp Wed Aug 04 20:35:35 2004 +0200 @@ -0,0 +1,13 @@ +<%@ page language="java" %><% +// retrieve objects from context +digilib.servlet.DocumentBean docBean = (digilib.servlet.DocumentBean) pageContext.getAttribute("docBean", pageContext.REQUEST_SCOPE); +digilib.servlet.DigilibRequest dlRequest = docBean.getRequest(); +%> +
+ +
diff -r 20c43a06076a -r 2f4764230089 client/digitallibrary/digimage_tbl_inc.jsp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/client/digitallibrary/digimage_tbl_inc.jsp Wed Aug 04 20:35:35 2004 +0200 @@ -0,0 +1,47 @@ +<%@ page language="java" %><% +// retrieve objects from context +digilib.servlet.DocumentBean docBean = (digilib.servlet.DocumentBean) pageContext.getAttribute("docBean", pageContext.REQUEST_SCOPE); +digilib.servlet.DigilibRequest dlRequest = docBean.getRequest(); +%> + + + + + + + + + + + + + + + + +
<% + if (docBean.canMoveUp()) { + %><% + } + %>
<% + if (docBean.canMoveLeft()) { + %><% + } + %> +
+ +
+
<% + if (docBean.canMoveRight()) { + %><% + } + %>
<% + if (docBean.canMoveDown()) { + %><% + } + %>
diff -r 20c43a06076a -r 2f4764230089 client/digitallibrary/dllib.js --- a/client/digitallibrary/dllib.js Wed Aug 04 20:35:35 2004 +0200 +++ b/client/digitallibrary/dllib.js Wed Aug 04 20:35:35 2004 +0200 @@ -1,4 +1,4 @@ -/* Copyright (C) 2003,2004 WTWG Uni Bern and others +/* Copyright (C) 2003,2004 IT-Group MPIWG, WTWG Uni Bern and others This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -14,15 +14,16 @@ along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA -Authors: ROC 20.7.2004 - first version by Christian Luginbuehl, 01.05.2003 - Changed for digiLib in Zope by DW 24.03.2004 +Authors: + Christian Luginbuehl, 01.05.2003 (first version) + DW 24.03.2004 (Changed for digiLib in Zope) + Robert Casties, 04.08.2004 -Requires baselib.js ! + ! Requires baselib.js ! */ -var dlScriptVersion = "1.0b1"; +var dlScriptVersion = "1.0b2"; /* * more parameter handling @@ -293,7 +294,7 @@ function markEvent(evt) { // event handler adding a new mark - unregisterMouseDown(elemScaler, markEvent); + unregisterEvent("mousedown", elemScaler, markEvent); var p = dlTrafo.invtransform(evtPosition(evt)); addMark(p); if (defined(reload)&&(!reload)) { @@ -305,7 +306,7 @@ } // starting event capture - registerMouseDown(elemScaler, markEvent); + registerEvent("mousedown", elemScaler, markEvent); } @@ -350,8 +351,12 @@ showElement(eck2, true); showElement(eck3, true); showElement(eck4, true); - registerMouseMove(elemScaler, zoomMove); - registerMouseMove(eck4, zoomMove); + // show moving + registerEvent("mousemove", elemScaler, zoomMove); + registerEvent("mousemove", eck4, zoomMove); + // enable drag-to-zoom + registerEvent("mouseup", elemScaler, zoomClick); + registerEvent("mouseup", eck4, zoomClick); } else { // second click -- end moving pt2 = evtPosition(evt); @@ -359,10 +364,10 @@ showElement(eck2, false); showElement(eck3, false); showElement(eck4, false); - unregisterMouseMove(elemScaler, zoomMove); - unregisterMouseMove(eck4, zoomMove); - unregisterMouseDown(elemScaler, zoomClick); - unregisterMouseDown(eck4, zoomClick); + unregisterEvent("mousemove", elemScaler, zoomMove); + unregisterEvent("mousemove", eck4, zoomMove); + unregisterEvent("mousedown", elemScaler, zoomClick); + unregisterEvent("mousedown", eck4, zoomClick); var p1 = dlTrafo.invtransform(pt1); var p2 = dlTrafo.invtransform(pt2); var ww = p2.x-p1.x; @@ -395,8 +400,8 @@ } // starting event capture - registerMouseDown(elemScaler, zoomClick); - registerMouseDown(eck4, zoomClick); + registerEvent("mousedown", elemScaler, zoomClick); + registerEvent("mousedown", eck4, zoomClick); } var ZOOMFACTOR = Math.sqrt(2); @@ -434,7 +439,7 @@ function moveCenterEvent(evt) { // move to handler - unregisterMouseDown(elemScaler, moveCenterEvent); + unregisterEvent("mousedown", elemScaler, moveCenterEvent); var pt = dlTrafo.invtransform(evtPosition(evt)); var newarea = new Rectangle(pt.x-0.5*dlArea.width, pt.y-0.5*dlArea.height, dlArea.width, dlArea.height); newarea = dlMaxArea.fit(newarea); @@ -445,9 +450,26 @@ } // starting event capture - registerMouseDown(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() {