@@ -0,0 +1,2033 @@
+/**%0A * Java Modular Image Synthesis Toolkit (JMIST)%0A * Copyright (C) 2008-2014 Bradley W. Kimmel%0A *%0A * Permission is hereby granted, free of charge, to any person%0A * obtaining a copy of this software and associated documentation%0A * files (the %22Software%22), to deal in the Software without%0A * restriction, including without limitation the rights to use,%0A * copy, modify, merge, publish, distribute, sublicense, and/or sell%0A * copies of the Software, and to permit persons to whom the%0A * Software is furnished to do so, subject to the following%0A * conditions:%0A *%0A * The above copyright notice and this permission notice shall be%0A * included in all copies or substantial portions of the Software.%0A *%0A * THE SOFTWARE IS PROVIDED %22AS IS%22, WITHOUT WARRANTY OF ANY KIND,%0A * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES%0A * OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND%0A * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT%0A * HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,%0A * WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING%0A * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR%0A * OTHER DEALINGS IN THE SOFTWARE.%0A */%0Apackage ca.eandb.jmist.framework.modifier;%0A%0Aimport ca.eandb.jmist.framework.Mask2;%0Aimport ca.eandb.jmist.math.Point2;%0A%0A/**%0A * A decorator %3Ccode%3EMask2%3C/code%3E that tiles the decorated %3Ccode%3EMask2%3C/code%3E.%0A */%0Apublic final class TiledMask2 implements Mask2 %7B%0A%0A%09/** Serialization version ID. */%0A%09private static final long serialVersionUID = 2040730054854181920L;%0A%0A%09/** The %3Ccode%3EMask2%3C/code%3E to be tiled. */%0A%09private final Mask2 inner;%0A%0A%09/**%0A%09 * Creates a new %3Ccode%3ETiledMask2%3C/code%3E.%0A%09 * @param inner The %3Ccode%3EMask2%3C/code%3E to be tiled.%0A%09 */%0A%09public TiledMask2(Mask2 inner) %7B%0A%09%09this.inner = inner;%0A%09%7D%0A%0A%09/* (non-Javadoc)%0A%09 * @see ca.eandb.jmist.framework.Mask2#opacity(ca.eandb.jmist.math.Point2)%0A%09 */%0A%09@Override%0A%09public double opacity(Point2 p) %7B%0A%09%09p = new Point2(p.x() - Math.floor(p.x()), p.y() - Math.floor(p.y()));%0A%09%09return inner.opacity(p);%0A%09%7D%0A%0A%7D%0A

Add TiledMask2