package org.andengine.extension.svg.util;
import org.andengine.extension.svg.adt.SVGPaint;
import org.andengine.extension.svg.adt.SVGProperties;
import org.andengine.extension.svg.util.constants.ISVGConstants;
import android.graphics.Canvas;
/**
* (c) 2010 Nicolas Gramlich
* (c) 2011 Zynga Inc.
*
* @author Nicolas Gramlich
* @since 19:55:18 - 25.05.2011
*/
public class SVGCircleParser implements ISVGConstants {
// ===========================================================
// Constants
// ===========================================================
// ===========================================================
// Fields
// ===========================================================
// ===========================================================
// Constructors
// ===========================================================
// ===========================================================
// Getter & Setter
// ===========================================================
// ===========================================================
// Methods for/from SuperClass/Interfaces
// ===========================================================
// ===========================================================
// Methods
// ===========================================================
public static void parse(final SVGProperties pSVGProperties, final Canvas pCanvas, final SVGPaint pSVGPaint) {
final Float centerX = pSVGProperties.getFloatAttribute(ATTRIBUTE_CENTER_X);
final Float centerY = pSVGProperties.getFloatAttribute(ATTRIBUTE_CENTER_Y);
final Float radius = pSVGProperties.getFloatAttribute(ATTRIBUTE_RADIUS);
if (centerX != null && centerY != null && radius != null) {
final boolean fill = pSVGPaint.setFill(pSVGProperties);
if (fill) {
pCanvas.drawCircle(centerX, centerY, radius, pSVGPaint.getPaint());
}
final boolean stroke = pSVGPaint.setStroke(pSVGProperties);
if (stroke) {
pCanvas.drawCircle(centerX, centerY, radius, pSVGPaint.getPaint());
}
if(fill || stroke) {
pSVGPaint.ensureComputedBoundsInclude(centerX - radius, centerY - radius);
pSVGPaint.ensureComputedBoundsInclude(centerX + radius, centerY + radius);
}
}
}
// ===========================================================
// Inner and Anonymous Classes
// ===========================================================
}