/** * Returns an {@link AffineTransform} that represents the same transform * as that specified by this transform list. */ public AffineTransform getAffineTransform() { AffineTransform at = new AffineTransform(); for (int i = 0; i < getNumberOfItems(); i++) { SVGTransformItem item = (SVGTransformItem) getItem(i); at.concatenate(item.affineTransform); } return at; }
/** * <b>DOM</b>: Implements {@link SVGTransformList#appendItem(SVGTransform)}. */ public SVGTransform appendItem(SVGTransform newItem) throws DOMException, SVGException { return (SVGTransform) appendItemImpl(newItem); }
/** * Asserts that the given item is an {@link SVGTransformList}. */ protected void checkItemType(Object newItem) { if (!(newItem instanceof SVGTransform)) { createSVGException(SVGException.SVG_WRONG_TYPE_ERR, "expected.transform", null); } }
/** * <b>DOM</b>: Implements {@link SVGTransformList#consolidate()}. */ public SVGTransform consolidate() { revalidate(); int size = itemList.size(); if (size == 0) { return null; } else if (size == 1) { return getItem(0); } SVGTransformItem t = (SVGTransformItem) getItemImpl(0); AffineTransform at = (AffineTransform) t.affineTransform.clone(); for (int i = 1; i < size; i++) { t = (SVGTransformItem) getItemImpl(i); at.concatenate(t.affineTransform); } SVGOMMatrix matrix = new SVGOMMatrix(at); return initialize(createSVGTransformFromMatrix(matrix)); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getNumberOfItems()}. */ public int getNumberOfItems() { if (hasAnimVal) { return super.getNumberOfItems(); } return getBaseVal().getNumberOfItems(); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getItem(int)}. */ public SVGTransform getItem(int index) throws DOMException { if (hasAnimVal) { return super.getItem(index); } return getBaseVal().getItem(index); }
/** * Returns an {@link AffineTransform} that is the transformation to * be applied to the node. */ protected AffineTransform computeTransform(SVGTransformable te, BridgeContext ctx) { try { AffineTransform at = new AffineTransform(); // 'transform' SVGOMAnimatedTransformList atl = (SVGOMAnimatedTransformList) te.getTransform(); if (atl.isSpecified()) { atl.check(); AbstractSVGTransformList tl = (AbstractSVGTransformList) te.getTransform().getAnimVal(); at.concatenate(tl.getAffineTransform()); } // motion animation if (e instanceof SVGMotionAnimatableElement) { SVGMotionAnimatableElement mae = (SVGMotionAnimatableElement) e; AffineTransform mat = mae.getMotionTransform(); if (mat != null) { at.concatenate(mat); } } return at; } catch (LiveAttributeException ex) { throw new BridgeException(ctx, ex); } }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getItem(int)}. */ public SVGTransform getItem(int index) throws DOMException { return (SVGTransform) getItemImpl(index); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#initialize(SVGTransform)}. */ public SVGTransform initialize(SVGTransform newItem) throws DOMException, SVGException { return (SVGTransform) initializeImpl(newItem); }
/** * <b>DOM</b>: Implements {@link * SVGTransformList#insertItemBefore(SVGTransform,int)}. */ public SVGTransform insertItemBefore(SVGTransform newItem, int index) throws DOMException, SVGException { return (SVGTransform) insertItemBeforeImpl(newItem, index); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#consolidate()}. */ public SVGTransform consolidate() { revalidate(); int size = itemList.size(); if (size == 0) { return null; } else if (size == 1) { return getItem(0); } SVGTransformItem t = (SVGTransformItem) getItemImpl(0); AffineTransform at = (AffineTransform) t.affineTransform.clone(); for (int i = 1; i < size; i++) { t = (SVGTransformItem) getItemImpl(i); at.concatenate(t.affineTransform); } SVGOMMatrix matrix = new SVGOMMatrix(at); return initialize(createSVGTransformFromMatrix(matrix)); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getNumberOfItems()}. */ public int getNumberOfItems() { if (hasAnimVal) { return super.getNumberOfItems(); } return getBaseVal().getNumberOfItems(); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getItem(int)}. */ public SVGTransform getItem(int index) throws DOMException { if (hasAnimVal) { return super.getItem(index); } return getBaseVal().getItem(index); }
/** * Returns an {@link AffineTransform} that is the transformation to * be applied to the node. */ protected AffineTransform computeTransform(SVGTransformable te, BridgeContext ctx) { try { AffineTransform at = new AffineTransform(); // 'transform' SVGOMAnimatedTransformList atl = (SVGOMAnimatedTransformList) te.getTransform(); if (atl.isSpecified()) { atl.check(); AbstractSVGTransformList tl = (AbstractSVGTransformList) te.getTransform().getAnimVal(); at.concatenate(tl.getAffineTransform()); } // motion animation if (e instanceof SVGMotionAnimatableElement) { SVGMotionAnimatableElement mae = (SVGMotionAnimatableElement) e; AffineTransform mat = mae.getMotionTransform(); if (mat != null) { at.concatenate(mat); } } return at; } catch (LiveAttributeException ex) { throw new BridgeException(ctx, ex); } }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getItem(int)}. */ public SVGTransform getItem(int index) throws DOMException { return (SVGTransform) getItemImpl(index); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#initialize(SVGTransform)}. */ public SVGTransform initialize(SVGTransform newItem) throws DOMException, SVGException { return (SVGTransform) initializeImpl(newItem); }
/** * <b>DOM</b>: Implements {@link * SVGTransformList#insertItemBefore(SVGTransform,int)}. */ public SVGTransform insertItemBefore(SVGTransform newItem, int index) throws DOMException, SVGException { return (SVGTransform) insertItemBeforeImpl(newItem, index); }
/** * Returns an {@link AffineTransform} that represents the same transform * as that specified by this transform list. */ public AffineTransform getAffineTransform() { AffineTransform at = new AffineTransform(); for (int i = 0; i < getNumberOfItems(); i++) { SVGTransformItem item = (SVGTransformItem) getItem(i); at.concatenate(item.affineTransform); } return at; }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getNumberOfItems()}. */ public int getNumberOfItems() { if (hasAnimVal) { return super.getNumberOfItems(); } return getBaseVal().getNumberOfItems(); }
/** * <b>DOM</b>: Implements {@link SVGTransformList#getItem(int)}. */ public SVGTransform getItem(int index) throws DOMException { if (hasAnimVal) { return super.getItem(index); } return getBaseVal().getItem(index); }