Android Open Source - androidsvgdrawable-plugin Bounds Type






From Project

Back to project page androidsvgdrawable-plugin.

License

The source code is released under:

Apache License

If you think the Android project androidsvgdrawable-plugin listed in this page is inappropriate, such as containing malicious code/tools or violating the copyright, please email info at java2s dot com, thanks.

Java Source Code

/*
 * Copyright 2013, 2014 Antoine Vianey/*  w w w. jav a2s.  co  m*/
 * 
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 * 
 *   http://www.apache.org/licenses/LICENSE-2.0
 * 
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
package fr.avianey.androidsvgdrawable;

import java.awt.Rectangle;
import java.awt.geom.Rectangle2D;

import org.apache.batik.gvt.GraphicsNode;

/**
 * <strong>Experimental</stong>
 * <p>
 * Use as a fallback when parsed svg files do not include "width" and "height" attributes on
 * the root &lt;svg&gt; node. Width and height are calculated according to the given Batik
 * BoundsType.
 * </p>
 * @author antoine vianey
 * @deprecated
 */
public enum BoundsType {

  /**
   * Returns the bounds of this node in user space. 
   * This includes primitive paint, filtering, clipping and masking.
   */
  all,
  /**
   * Returns the bounds of the sensitive area covered by this node, 
   * This includes the stroked area but does not include the effects of clipping, masking or filtering.
   */
  sensitive,
  /**
   * Returns the bounds of the sensitive area covered by this node, 
   * This includes the stroked area but does not include the effects of clipping, masking or filtering.
   */
  geometry,
  /**
   * Returns the bounds of the area covered by this node's primitive paint. 
   * This is the painted region of fill and stroke but does not account for clipping, masking or filtering.
   */
  primitive;
  
  public Rectangle getBounds(GraphicsNode rootGN) {
    Rectangle2D r2d;
    switch (this) {
    case sensitive:
      r2d = rootGN.getSensitiveBounds();
      break;
    case geometry:
      r2d = rootGN.getGeometryBounds();
      break;
    case primitive:
      r2d = rootGN.getPrimitiveBounds();
      break;
    case all:
    default:
      r2d = rootGN.getBounds();
      break;
    }
    return r2d.getBounds();
  }
  
}




Java Source Code List

fr.avianey.androidsvgdrawable.BoundsType.java
fr.avianey.androidsvgdrawable.Density.java
fr.avianey.androidsvgdrawable.NinePatchMap.java
fr.avianey.androidsvgdrawable.NinePatch.java
fr.avianey.androidsvgdrawable.OutputFormat.java
fr.avianey.androidsvgdrawable.OverrideMode.java
fr.avianey.androidsvgdrawable.QualifiedResource.java
fr.avianey.androidsvgdrawable.Qualifier.java
fr.avianey.androidsvgdrawable.SvgDrawablePlugin.java
fr.avianey.androidsvgdrawable.SvgMask.java
fr.avianey.androidsvgdrawable.batik.DensityAwareSVGContext.java
fr.avianey.androidsvgdrawable.batik.DensityAwareUserAgent.java
fr.avianey.androidsvgdrawable.maven.MavenLogger.java
fr.avianey.androidsvgdrawable.maven.SvgDrawableMavenPlugin.java
fr.avianey.androidsvgdrawable.util.Constants.java
fr.avianey.androidsvgdrawable.util.Log.java
fr.avianey.mojo.androidgendrawable.sample.SampleActivity.java