Mercurial > hg > de.mpg.mpiwg.itgroup.digilib.core
diff src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java @ 9:e63a64652f4d
added comments
author | dwinter |
---|---|
date | Mon, 03 Jan 2011 16:53:48 +0100 |
parents | 83c58ea33792 |
children | 2f47c136b8a6 |
line wrap: on
line diff
--- a/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java Mon Jan 03 09:13:17 2011 +0100 +++ b/src/de/mpg/mpiwg/itgroup/digilib/digiImage/DigiImageController.java Mon Jan 03 16:53:48 2011 +0100 @@ -1,30 +1,39 @@ package de.mpg.mpiwg.itgroup.digilib.digiImage; -import java.net.MalformedURLException; -import java.net.URL; import java.util.ArrayList; import java.util.List; import org.apache.commons.lang.StringUtils; import org.eclipse.swt.graphics.Point; -import de.mpg.mpiwg.itgroup.digilib.manipulator.extensions.RectangleListener; +/** Contains methods to manipulate an digilib image @see {#link de.mpiwg.itgroup.digilib.digiImage.Digimage}. + * The parameters are documented at the digilib pages @see {@link http://developer.berlios.de/docman/display_doc.php?docid=106&group_id=251}. + * + */ public class DigiImageController { - - - public DigiImage digiImage; - private DigiImageParameter parameter; + public static String VMIR="vmir"; // vertical mirroring + public static String HMIR="hmir"; // horizontal mirroring + + public DigiImage digiImage; // the image to be controlled. + //private DigiImageParameter parameter; protected DigiImageController(){} + /** Create a new controller on the image object. + * + * @param di + */ public DigiImageController(DigiImage di){ this.digiImage=di; } + /** Mirrors the image + * @param modes can be @see {@value #VMIR} or {@link #HMIR}. + */ public void mir(String mode) { DigiImageParameter dp = digiImage.getParameter(); @@ -34,16 +43,16 @@ // mo kann mehrere durch komma getrennte parameter haben String[] splittmo= parameter.split(","); - Boolean hasHMir = false; + Boolean hasMir = false; List<String> newmo = new ArrayList<String>(); for(String m: splittmo){ if (m.equals(mode)){ - hasHMir=true; + hasMir=true; } else { newmo.add(m); } } - if(!hasHMir){ // kein hmir dann dazufuegen + if(!hasMir){ // kein hmir dann dazufuegen newmo.add(mode); } String newmoString = StringUtils.join(newmo,","); @@ -54,14 +63,15 @@ digiImage.setParameter(dp); digiImage.redraw(); } + public void vmir() { - mir("vmir"); + mir(VMIR); } public void hmir() { - mir("hmir"); + mir(HMIR); } @@ -73,6 +83,12 @@ +/** Zoom the area given by the rectangle (x,y), (x2,y2). Alle point are given in absolute coordinates. + * @param x + * @param y + * @param x2 + * @param y2 + */ public void zoomArea(int x, int y, int x2, int y2) { Point size = digiImage.getLabel().getSize(); @@ -111,6 +127,10 @@ // setRot(rotateValue); } + /** + * Show the whole image. + * + */ public void zoomFull(){ DigiImageParameter dp = digiImage.getParameter(); dp.setWw(1); @@ -123,6 +143,10 @@ digiImage.redraw(); } + /** + * scales the image down (ws --> ws-1) + * + */ public void scaleDown() { DigiImageParameter dp = digiImage.getParameter(); float ws = dp.getWs(); @@ -135,6 +159,10 @@ } + /** + * scales the image up (ws --> ws+1) + * + */ public void scaleUp() { DigiImageParameter dp = digiImage.getParameter(); float ws = dp.getWs(); @@ -148,6 +176,10 @@ } + /** + * If the image object points to a folder the previous image in the folder is displayed. + * + */ public void prevPage() { DigiImageParameter dp = digiImage.getParameter(); int pn = dp.getPn(); @@ -159,6 +191,10 @@ } + /** + * If the image object points to a folder the next image in the folder is displayed. + * TODO currently no check is made if we are already on the last image in the folder. + */ public void nextPage() { DigiImageParameter dp = digiImage.getParameter(); int pn = dp.getPn();