@CallSuper @Override public void getBounds( RectF outBounds, Matrix parentMatrix, boolean applyParents) { rect.set(0, 0, 0, 0); buildParentLayerListIfNeeded(); boundsMatrix.set(parentMatrix); if (applyParents) { if (parentLayers != null) { for (int i = parentLayers.size() - 1; i >= 0; i--) { boundsMatrix.preConcat(parentLayers.get(i).transform.getMatrix()); } } else if (parentLayer != null) { boundsMatrix.preConcat(parentLayer.transform.getMatrix()); } } boundsMatrix.preConcat(transform.getMatrix()); }
@Override public void getBounds(RectF outBounds, Matrix parentMatrix, boolean applyParents) { matrix.set(parentMatrix); if (transformAnimation != null) { matrix.preConcat(transformAnimation.getMatrix()); } rect.set(0, 0, 0, 0); for (int i = contents.size() - 1; i >= 0; i--) { Content content = contents.get(i); if (content instanceof DrawingContent) { ((DrawingContent) content).getBounds(rect, matrix, applyParents); outBounds.union(rect); } } }
@Override public void draw(Canvas canvas, Matrix parentMatrix, int parentAlpha) { if (hidden) { return; } matrix.set(parentMatrix); int alpha; if (transformAnimation != null) { matrix.preConcat(transformAnimation.getMatrix()); alpha = (int) ((transformAnimation.getOpacity().getValue() / 100f * parentAlpha / 255f) * 255); } else { alpha = parentAlpha; } for (int i = contents.size() - 1; i >= 0; i--) { Object content = contents.get(i); if (content instanceof DrawingContent) { ((DrawingContent) content).draw(canvas, matrix, alpha); } } }
private static void transformMatrixToPager(Matrix matrix, View view, ViewPager pager) { if (view.getParent() instanceof View) { View parent = (View) view.getParent(); if (parent != pager) { transformMatrixToPager(matrix, parent, pager); } matrix.preTranslate(-parent.getScrollX(), -parent.getScrollY()); } matrix.preTranslate(view.getLeft(), view.getTop()); matrix.preConcat(view.getMatrix()); }
1, }); matrix.preConcat(mat);
@Override public void draw(Canvas canvas, Matrix parentMatrix, int alpha) { float copies = this.copies.getValue(); float offset = this.offset.getValue(); //noinspection ConstantConditions float startOpacity = this.transform.getStartOpacity().getValue() / 100f; //noinspection ConstantConditions float endOpacity = this.transform.getEndOpacity().getValue() / 100f; for (int i = (int) copies - 1; i >= 0; i--) { matrix.set(parentMatrix); matrix.preConcat(transform.getMatrixForRepeater(i + offset)); float newAlpha = alpha * MiscUtils.lerp(startOpacity, endOpacity, i / copies); contentGroup.draw(canvas, matrix, (int) newAlpha); } }
@Test public void testPreConcat() { final Matrix matrix = new Matrix(); matrix.preScale(2.0f, 3.0f); final Matrix translateMatrix = new Matrix(); translateMatrix.setTranslate(5.0f, 7.0f); matrix.preConcat(translateMatrix); assertPointsEqual(mapPoint(matrix, 2.0f, 2.0f), new PointF(14.0f, 27.0f)); final Matrix rotateMatrix = new Matrix(); rotateMatrix.setRotate(90.0f); matrix.preConcat(rotateMatrix); assertPointsEqual(mapPoint(matrix, 2.0f, 2.0f), new PointF(6.0f, 27.0f)); }
matrix.set(parentMatrix); for (int i = parentLayers.size() - 1; i >= 0; i--) { matrix.preConcat(parentLayers.get(i).transform.getMatrix()); ((parentAlpha / 255f * (float) transform.getOpacity().getValue() / 100f) * 255); if (!hasMatteOnThisLayer() && !hasMasksOnThisLayer()) { matrix.preConcat(transform.getMatrix()); L.beginSection("Layer#drawLayer"); drawLayer(canvas, matrix, alpha); matrix.preConcat(transform.getMatrix()); intersectBoundsWithMask(rect, matrix);
private static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } }
public void inherit(Gradient parent) { Gradient child = this; child.xlink = parent.id; child.positions = parent.positions; child.colors = parent.colors; if (child.matrix == null) { child.matrix = parent.matrix; } else if (parent.matrix != null) { Matrix m = new Matrix(parent.matrix); m.preConcat(child.matrix); child.matrix = m; } } }
public Matrix getMinMatrix() { Matrix matrix = new Matrix(); matrix.setScale(mMinScale, mMinScale); matrix.preConcat(mBaseMatrix); return matrix; }
public void preConcat_fix3D_MPERSP(Matrix matrix, Context context) { Matrix tempMatrix = new Matrix(); getMatrix_fix3D_MPERSP(tempMatrix, context); matrix.preConcat(tempMatrix); }
static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } }
static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } }
static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } }
static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } }
static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } } }
static void offsetDescendantMatrix(ViewParent target, View view, Matrix m) { final ViewParent parent = view.getParent(); if (parent instanceof View && parent != target) { final View vp = (View) parent; offsetDescendantMatrix(target, vp, m); m.preTranslate(-vp.getScrollX(), -vp.getScrollY()); } m.preTranslate(view.getLeft(), view.getTop()); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB) { if (!view.getMatrix().isIdentity()) { m.preConcat(view.getMatrix()); } } } }
private void addObjectToClip(SVG.Use obj, Path combinedPath, Matrix combinedPathMatrix) { updateStyleForElement(state, obj); if (!display()) return; if (!visible()) return; if (obj.transform != null) combinedPathMatrix.preConcat(obj.transform); // Locate the referenced object SVG.SvgObject ref = obj.document.resolveIRI(obj.href); if (ref == null) { error("Use reference '%s' not found", obj.href); return; } checkForClipPath(obj); addObjectToClip(ref, false, combinedPath, combinedPathMatrix); }
private void addObjectToClip(SVG.Path obj, Path combinedPath, Matrix combinedPathMatrix) { updateStyleForElement(state, obj); if (!display()) return; if (!visible()) return; if (obj.transform != null) combinedPathMatrix.preConcat(obj.transform); Path path = (new PathConverter(obj.d)).getPath(); if (obj.boundingBox == null) { obj.boundingBox = calculatePathBounds(path); } checkForClipPath(obj); //path.setFillType(getClipRuleFromState()); combinedPath.setFillType(getClipRuleFromState()); combinedPath.addPath(path, combinedPathMatrix); }