<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!--NewPage-->
<HTML>
<HEAD>
<TITLE>
Mask (Apache Batik Javadoc)
</TITLE>


<LINK REL ="stylesheet" TYPE="text/css" HREF="../../../../../stylesheet.css" TITLE="Style">

<SCRIPT type="text/javascript">
function windowTitle()
{
    if (location.href.indexOf('is-external=true') == -1) {
        parent.document.title="Mask (Apache Batik Javadoc)";
    }
}
</SCRIPT>
<NOSCRIPT>
</NOSCRIPT>

</HEAD>

<BODY BGCOLOR="white" onload="windowTitle();">
<HR>


<!-- ========= START OF TOP NAVBAR ======= -->
<A NAME="navbar_top"><!-- --></A>
<A HREF="#skip-navbar_top" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_top_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Mask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/batik/gvt/filter/GraphicsNodeRed8Bit.html" title="class in org.apache.batik.gvt.filter"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/batik/gvt/filter/MaskRable8Bit.html" title="class in org.apache.batik.gvt.filter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/batik/gvt/filter/Mask.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Mask.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_top"></A>
<!-- ========= END OF TOP NAVBAR ========= -->

<HR>
<!-- ======== START OF CLASS DATA ======== -->
<H2>
<FONT SIZE="-1">
org.apache.batik.gvt.filter</FONT>
<BR>
Interface Mask</H2>
<DL>
<DT><B>All Superinterfaces:</B> <DD><A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true" title="class or interface in java.awt.image.renderable">RenderableImage</A></DD>
</DL>
<DL>
<DT><B>All Known Implementing Classes:</B> <DD><A HREF="../../../../../org/apache/batik/gvt/filter/MaskRable8Bit.html" title="class in org.apache.batik.gvt.filter">MaskRable8Bit</A></DD>
</DL>
<HR>
<DL>
<DT><PRE>public interface <B>Mask</B><DT>extends <A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A></DL>
</PRE>

<P>
Implements a masking operation.  This masks the source by the result
 of converting the GraphicsNode to a mask image.
<P>

<P>
<HR>

<P>
<!-- =========== FIELD SUMMARY =========== -->

<A NAME="field_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Field Summary</B></FONT></TH>
</TR>
</TABLE>
&nbsp;<A NAME="fields_inherited_from_class_java.awt.image.renderable.RenderableImage"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Fields inherited from interface java.awt.image.renderable.<A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true" title="class or interface in java.awt.image.renderable">RenderableImage</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#HINTS_OBSERVED" title="class or interface in java.awt.image.renderable">HINTS_OBSERVED</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<!-- ========== METHOD SUMMARY =========== -->

<A NAME="method_summary"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="2"><FONT SIZE="+2">
<B>Method Summary</B></FONT></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title="class or interface in java.awt.geom">Rectangle2D</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/batik/gvt/filter/Mask.html#getFilterRegion()">getFilterRegion</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The region to which this mask applies</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/batik/gvt/GraphicsNode.html" title="interface in org.apache.batik.gvt">GraphicsNode</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/batik/gvt/filter/Mask.html#getMaskNode()">getMaskNode</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the Graphics node that the mask operation will use to
 define the masking image.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;<A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A></CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/batik/gvt/filter/Mask.html#getSource()">getSource</A></B>()</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;This returns the current image being masked by the mask node.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/batik/gvt/filter/Mask.html#setFilterRegion(java.awt.geom.Rectangle2D)">setFilterRegion</A></B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title="class or interface in java.awt.geom">Rectangle2D</A>&nbsp;filterRegion)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Returns the filter region to which this mask applies</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/batik/gvt/filter/Mask.html#setMaskNode(org.apache.batik.gvt.GraphicsNode)">setMaskNode</A></B>(<A HREF="../../../../../org/apache/batik/gvt/GraphicsNode.html" title="interface in org.apache.batik.gvt">GraphicsNode</A>&nbsp;gn)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Set the masking image to that described by gn.</TD>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD ALIGN="right" VALIGN="top" WIDTH="1%"><FONT SIZE="-1">
<CODE>&nbsp;void</CODE></FONT></TD>
<TD><CODE><B><A HREF="../../../../../org/apache/batik/gvt/filter/Mask.html#setSource(org.apache.batik.ext.awt.image.renderable.Filter)">setSource</A></B>(<A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A>&nbsp;src)</CODE>

<BR>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The source to be masked by the mask node.</TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_org.apache.batik.ext.awt.image.renderable.Filter"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface org.apache.batik.ext.awt.image.renderable.<A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html#getBounds2D()">getBounds2D</A>, <A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html#getDependencyRegion(int, java.awt.geom.Rectangle2D)">getDependencyRegion</A>, <A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html#getDirtyRegion(int, java.awt.geom.Rectangle2D)">getDirtyRegion</A>, <A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html#getTimeStamp()">getTimeStamp</A></CODE></TD>
</TR>
</TABLE>
&nbsp;<A NAME="methods_inherited_from_class_java.awt.image.renderable.RenderableImage"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#EEEEFF" CLASS="TableSubHeadingColor">
<TH ALIGN="left"><B>Methods inherited from interface java.awt.image.renderable.<A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true" title="class or interface in java.awt.image.renderable">RenderableImage</A></B></TH>
</TR>
<TR BGCOLOR="white" CLASS="TableRowColor">
<TD><CODE><A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#createDefaultRendering()" title="class or interface in java.awt.image.renderable">createDefaultRendering</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#createRendering(java.awt.image.renderable.RenderContext)" title="class or interface in java.awt.image.renderable">createRendering</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#createScaledRendering(int, int, java.awt.RenderingHints)" title="class or interface in java.awt.image.renderable">createScaledRendering</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getHeight()" title="class or interface in java.awt.image.renderable">getHeight</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getMinX()" title="class or interface in java.awt.image.renderable">getMinX</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getMinY()" title="class or interface in java.awt.image.renderable">getMinY</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getProperty(java.lang.String)" title="class or interface in java.awt.image.renderable">getProperty</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getPropertyNames()" title="class or interface in java.awt.image.renderable">getPropertyNames</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getSources()" title="class or interface in java.awt.image.renderable">getSources</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#getWidth()" title="class or interface in java.awt.image.renderable">getWidth</A>, <A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/image/renderable/RenderableImage.html?is-external=true#isDynamic()" title="class or interface in java.awt.image.renderable">isDynamic</A></CODE></TD>
</TR>
</TABLE>
&nbsp;
<P>

<!-- ============ METHOD DETAIL ========== -->

<A NAME="method_detail"><!-- --></A>
<TABLE BORDER="1" WIDTH="100%" CELLPADDING="3" CELLSPACING="0" SUMMARY="">
<TR BGCOLOR="#CCCCFF" CLASS="TableHeadingColor">
<TH ALIGN="left" COLSPAN="1"><FONT SIZE="+2">
<B>Method Detail</B></FONT></TH>
</TR>
</TABLE>

<A NAME="getFilterRegion()"><!-- --></A><H3>
getFilterRegion</H3>
<PRE>
<A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title="class or interface in java.awt.geom">Rectangle2D</A> <B>getFilterRegion</B>()</PRE>
<DL>
<DD>The region to which this mask applies
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setFilterRegion(java.awt.geom.Rectangle2D)"><!-- --></A><H3>
setFilterRegion</H3>
<PRE>
void <B>setFilterRegion</B>(<A HREF="http://docs.oracle.com/javase/6/docs/api/java/awt/geom/Rectangle2D.html?is-external=true" title="class or interface in java.awt.geom">Rectangle2D</A>&nbsp;filterRegion)</PRE>
<DL>
<DD>Returns the filter region to which this mask applies
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
</DL>
</DD>
</DL>
<HR>

<A NAME="setSource(org.apache.batik.ext.awt.image.renderable.Filter)"><!-- --></A><H3>
setSource</H3>
<PRE>
void <B>setSource</B>(<A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A>&nbsp;src)</PRE>
<DL>
<DD>The source to be masked by the mask node.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>src</CODE> - The Image to be masked.</DL>
</DD>
</DL>
<HR>

<A NAME="getSource()"><!-- --></A><H3>
getSource</H3>
<PRE>
<A HREF="../../../../../org/apache/batik/ext/awt/image/renderable/Filter.html" title="interface in org.apache.batik.ext.awt.image.renderable">Filter</A> <B>getSource</B>()</PRE>
<DL>
<DD>This returns the current image being masked by the mask node.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The image to mask</DL>
</DD>
</DL>
<HR>

<A NAME="setMaskNode(org.apache.batik.gvt.GraphicsNode)"><!-- --></A><H3>
setMaskNode</H3>
<PRE>
void <B>setMaskNode</B>(<A HREF="../../../../../org/apache/batik/gvt/GraphicsNode.html" title="interface in org.apache.batik.gvt">GraphicsNode</A>&nbsp;gn)</PRE>
<DL>
<DD>Set the masking image to that described by gn.
 If gn is an rgba image then the alpha is premultiplied and then
 the rgb is converted to alpha via the standard feColorMatrix
 rgb to luminance conversion.
 In the case of an rgb only image, just the rgb to luminance
 conversion is performed.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>
<DT><B>Parameters:</B><DD><CODE>gn</CODE> - The graphics node that defines the mask image.</DL>
</DD>
</DL>
<HR>

<A NAME="getMaskNode()"><!-- --></A><H3>
getMaskNode</H3>
<PRE>
<A HREF="../../../../../org/apache/batik/gvt/GraphicsNode.html" title="interface in org.apache.batik.gvt">GraphicsNode</A> <B>getMaskNode</B>()</PRE>
<DL>
<DD>Returns the Graphics node that the mask operation will use to
 define the masking image.
<P>
<DD><DL>
</DL>
</DD>
<DD><DL>

<DT><B>Returns:</B><DD>The graphics node that defines the mask image.</DL>
</DD>
</DL>
<!-- ========= END OF CLASS DATA ========= -->
<HR>


<!-- ======= START OF BOTTOM NAVBAR ====== -->
<A NAME="navbar_bottom"><!-- --></A>
<A HREF="#skip-navbar_bottom" title="Skip navigation links"></A>
<TABLE BORDER="0" WIDTH="100%" CELLPADDING="1" CELLSPACING="0" SUMMARY="">
<TR>
<TD COLSPAN=2 BGCOLOR="#EEEEFF" CLASS="NavBarCell1">
<A NAME="navbar_bottom_firstrow"><!-- --></A>
<TABLE BORDER="0" CELLPADDING="0" CELLSPACING="3" SUMMARY="">
  <TR ALIGN="center" VALIGN="top">
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../overview-summary.html"><FONT CLASS="NavBarFont1"><B>Overview</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-summary.html"><FONT CLASS="NavBarFont1"><B>Package</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#FFFFFF" CLASS="NavBarCell1Rev"> &nbsp;<FONT CLASS="NavBarFont1Rev"><B>Class</B></FONT>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="class-use/Mask.html"><FONT CLASS="NavBarFont1"><B>Use</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="package-tree.html"><FONT CLASS="NavBarFont1"><B>Tree</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../deprecated-list.html"><FONT CLASS="NavBarFont1"><B>Deprecated</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../index-files/index-1.html"><FONT CLASS="NavBarFont1"><B>Index</B></FONT></A>&nbsp;</TD>
  <TD BGCOLOR="#EEEEFF" CLASS="NavBarCell1">    <A HREF="../../../../../help-doc.html"><FONT CLASS="NavBarFont1"><B>Help</B></FONT></A>&nbsp;</TD>
  </TR>
</TABLE>
</TD>
<TD ALIGN="right" VALIGN="top" ROWSPAN=3><EM>
</EM>
</TD>
</TR>

<TR>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
&nbsp;<A HREF="../../../../../org/apache/batik/gvt/filter/GraphicsNodeRed8Bit.html" title="class in org.apache.batik.gvt.filter"><B>PREV CLASS</B></A>&nbsp;
&nbsp;<A HREF="../../../../../org/apache/batik/gvt/filter/MaskRable8Bit.html" title="class in org.apache.batik.gvt.filter"><B>NEXT CLASS</B></A></FONT></TD>
<TD BGCOLOR="white" CLASS="NavBarCell2"><FONT SIZE="-2">
  <A HREF="../../../../../index.html?org/apache/batik/gvt/filter/Mask.html" target="_top"><B>FRAMES</B></A>  &nbsp;
&nbsp;<A HREF="Mask.html" target="_top"><B>NO FRAMES</B></A>  &nbsp;
&nbsp;<SCRIPT type="text/javascript">
  <!--
  if(window==top) {
    document.writeln('<A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>');
  }
  //-->
</SCRIPT>
<NOSCRIPT>
  <A HREF="../../../../../allclasses-noframe.html"><B>All Classes</B></A>
</NOSCRIPT>


</FONT></TD>
</TR>
<TR>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
  SUMMARY:&nbsp;NESTED&nbsp;|&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_summary">METHOD</A></FONT></TD>
<TD VALIGN="top" CLASS="NavBarCell3"><FONT SIZE="-2">
DETAIL:&nbsp;FIELD&nbsp;|&nbsp;CONSTR&nbsp;|&nbsp;<A HREF="#method_detail">METHOD</A></FONT></TD>
</TR>
</TABLE>
<A NAME="skip-navbar_bottom"></A>
<!-- ======== END OF BOTTOM NAVBAR ======= -->

<HR>
Copyright © 2017 <a href='http://www.apache.org/'>Apache Software Foundation</a>. All Rights Reserved.
</BODY>
</HTML>
