001package com.hfg.svg.filtereffect;
002
003
004//------------------------------------------------------------------------------
005/**
006 Enumeration of SVG (Scalable Vector Graphics) filter effect 'feConvolveMatrix' edgeMode types.
007 <div style='font-style:italic'>
008  <p>
009 "Determines how to extend the input image as necessary with color values so that the matrix
010 operations can be applied when the kernel is positioned at or near the edge of the input image.
011 </p>
012 <p>
013 'duplicate' indicates that the input image is extended along each of its borders as necessary
014 by duplicating the color values at the given edge of the input image.
015 </p>
016 <pre>
017 Original N-by-M image, where m=M-1 and n=N-1:
018          11 12 ... 1m 1M
019          21 22 ... 2m 2M
020          .. .. ... .. ..
021          n1 n2 ... nm nM
022          N1 N2 ... Nm NM
023 Extended by two pixels using 'duplicate':
024  11 11   11 12 ... 1m 1M   1M 1M
025  11 11   11 12 ... 1m 1M   1M 1M
026  11 11   11 12 ... 1m 1M   1M 1M
027  21 21   21 22 ... 2m 2M   2M 2M
028  .. ..   .. .. ... .. ..   .. ..
029  n1 n1   n1 n2 ... nm nM   nM nM
030  N1 N1   N1 N2 ... Nm NM   NM NM
031  N1 N1   N1 N2 ... Nm NM   NM NM
032  N1 N1   N1 N2 ... Nm NM   NM NM
033 </pre>
034 'wrap' indicates that the input image is extended by taking the color values from the opposite edge of the image.
035 <pre>
036Extended by two pixels using 'wrap':
037  nm nM   n1 n2 ... nm nM   n1 n2
038  Nm NM   N1 N2 ... Nm NM   N1 N2
039  1m 1M   11 12 ... 1m 1M   11 12
040  2m 2M   21 22 ... 2m 2M   21 22
041  .. ..   .. .. ... .. ..   .. ..
042  nm nM   n1 n2 ... nm nM   n1 n2
043  Nm NM   N1 N2 ... Nm NM   N1 N2
044  1m 1M   11 12 ... 1m 1M   11 12
045  2m 2M   21 22 ... 2m 2M   21 22
046 </pre>
047 'none' indicates that the input image is extended with pixel values of zero for R, G, B and A."
048 </div>
049 @author J. Alex Taylor, hairyfatguy.com
050 */
051//------------------------------------------------------------------------------
052// com.hfg XML/HTML Coding Library
053//
054// This library is free software; you can redistribute it and/or
055// modify it under the terms of the GNU Lesser General Public
056// License as published by the Free Software Foundation; either
057// version 2.1 of the License, or (at your option) any later version.
058//
059// This library is distributed in the hope that it will be useful,
060// but WITHOUT ANY WARRANTY; without even the implied warranty of
061// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
062// Lesser General Public License for more details.
063//
064// You should have received a copy of the GNU Lesser General Public
065// License along with this library; if not, write to the Free Software
066// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
067//
068// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
069// jataylor@hairyfatguy.com
070//------------------------------------------------------------------------------
071
072public enum MatrixEdgeMode
073{
074   duplicate,
075   wrap,
076   none
077}