@Override public void draw(@NonNull Canvas canvas) { canvas.save(); canvas.concat(matrix); wrapped.draw(canvas); canvas.restore(); }
@Override public void draw(Canvas canvas, Paint imagePaint, Paint borderPaint) { canvas.save(); canvas.concat(matrix); canvas.drawPath(path, imagePaint); canvas.restore(); }
@Override public void draw(Canvas canvas, Paint imagePaint, Paint borderPaint) { canvas.drawCircle(center, center, borderRadius, borderPaint); canvas.save(); canvas.concat(matrix); canvas.drawCircle(bitmapCenterX, bitmapCenterY, bitmapRadius, imagePaint); canvas.restore(); }
@Override public void draw(Canvas canvas, Paint imagePaint, Paint borderPaint) { canvas.drawRoundRect(borderRect, radius, radius, borderPaint); canvas.save(); canvas.concat(matrix); canvas.drawRoundRect(imageRect, bitmapRadius, bitmapRadius, imagePaint); canvas.restore(); }
@Override public void draw(Canvas canvas, Paint imagePaint, Paint borderPaint) { canvas.save(); canvas.drawPath(borderPath, borderPaint); canvas.concat(matrix); canvas.drawPath(path, imagePaint); canvas.restore(); }
@Override public void drawLayer(@NonNull Canvas canvas, Matrix parentMatrix, int parentAlpha) { Bitmap bitmap = getBitmap(); if (bitmap == null || bitmap.isRecycled()) { return; } float density = Utils.dpScale(); paint.setAlpha(parentAlpha); if (colorFilterAnimation != null) { paint.setColorFilter(colorFilterAnimation.getValue()); } canvas.save(); canvas.concat(parentMatrix); src.set(0, 0, bitmap.getWidth(), bitmap.getHeight()); dst.set(0, 0, (int) (bitmap.getWidth() * density), (int) (bitmap.getHeight() * density)); canvas.drawBitmap(bitmap, src, dst , paint); canvas.restore(); }
@Override public void draw(Canvas canvas) { if (mDrawable == null) { return; } final Rect bounds = getBounds(); final int saveCount = canvas.save(); canvas.translate(bounds.left, bounds.top); if (mShouldClipRect) { canvas.clipRect(0, 0, bounds.width(), bounds.height()); } if (mMatrix != null) { canvas.concat(mMatrix); } mDrawable.draw(canvas); canvas.restoreToCount(saveCount); }
private void drawIcon(Canvas canvas, Drawable icon, Matrix iconMatrix) { canvas.save(); canvas.concat(iconMatrix); // Drawing icon if it is within a visible part of the canvas canvas.getClipBounds(clipRect); final int width = icon.getIntrinsicWidth(); final int height = icon.getIntrinsicHeight(); if (clipRect.intersects(0, 0, width, height)) { icon.setBounds(0, 0, width, height); icon.draw(canvas); } canvas.restore(); }
canvas.save(); canvas.translate(offsetX, offsetY); canvas.concat(matrix); mDrawableSun.draw(canvas); canvas.restoreToCount(saveCount);
@Override protected void paintMaskCanvas(Canvas maskCanvas, Paint maskPaint, int width, int height) { if(shape != null) { if (shape instanceof BitmapDrawable) { configureBitmapBounds(width, height); if(drawMatrix != null) { int drawableSaveCount = maskCanvas.getSaveCount(); maskCanvas.save(); maskCanvas.concat(matrix); shape.draw(maskCanvas); maskCanvas.restoreToCount(drawableSaveCount); return; } } shape.setBounds(0, 0, width, height); shape.draw(maskCanvas); } }
@Override protected void dispatchDraw(@NonNull Canvas canvas) { canvas.save(); canvas.concat(matrix); super.dispatchDraw(canvas); canvas.restore(); if (GestureDebug.isDrawDebugOverlay()) { DebugOverlay.drawDebug(this, canvas); } }
mMatrix.postTranslate(offsetX, offsetY); storeHouseBarItem.setAlpha(mBarDarkAlpha * realProgress); canvas.concat(mMatrix);
@Override protected boolean drawChild(@NonNull Canvas canvas, @NonNull View child, long drawingTime) { if (child instanceof ShadowView && (!Carbon.IS_LOLLIPOP_OR_HIGHER || ((RenderingModeView) child).getRenderingMode() == RenderingMode.Software || ((ShadowView) child).getElevationShadowColor() != null)) { ShadowView shadowView = (ShadowView) child; shadowView.drawShadow(canvas); } if (child instanceof RippleView) { RippleView rippleView = (RippleView) child; RippleDrawable rippleDrawable = rippleView.getRippleDrawable(); if (rippleDrawable != null && rippleDrawable.getStyle() == RippleDrawable.Style.Borderless) { int saveCount = canvas.save(); canvas.translate(child.getLeft(), child.getTop()); canvas.concat(child.getMatrix()); rippleDrawable.draw(canvas); canvas.restoreToCount(saveCount); } } return super.drawChild(canvas, child, drawingTime); }
@Override protected boolean drawChild(@NonNull Canvas canvas, @NonNull View child, long drawingTime) { if (child instanceof ShadowView && (!Carbon.IS_LOLLIPOP_OR_HIGHER || ((RenderingModeView) child).getRenderingMode() == RenderingMode.Software || ((ShadowView) child).getElevationShadowColor() != null)) { ShadowView shadowView = (ShadowView) child; shadowView.drawShadow(canvas); } if (child instanceof RippleView) { RippleView rippleView = (RippleView) child; RippleDrawable rippleDrawable = rippleView.getRippleDrawable(); if (rippleDrawable != null && rippleDrawable.getStyle() == RippleDrawable.Style.Borderless) { int saveCount = canvas.save(); canvas.translate(child.getLeft(), child.getTop()); canvas.concat(child.getMatrix()); rippleDrawable.draw(canvas); canvas.restoreToCount(saveCount); } } return super.drawChild(canvas, child, drawingTime); }
private int saveCanvas(BaseDanmaku danmaku, Canvas canvas, float left, float top) { camera.save(); if (locationZ !=0 && Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB_MR1) { camera.setLocation(0, 0, locationZ); } camera.rotateY(-danmaku.rotationY); camera.rotateZ(-danmaku.rotationZ); camera.getMatrix(matrix); matrix.preTranslate(-left, -top); matrix.postTranslate(left , top); camera.restore(); int count = canvas.save(); canvas.concat(matrix); return count; }
canvas.save(); canvas.translate(offsetX, offsetY); canvas.concat(matrix); mAirplane.draw(canvas); canvas.restoreToCount(saveCount);
@Override public void draw(Canvas canvas, Paint paint) { mMatrix.reset(); mCamera.save(); mCamera.rotateX(rotateX); mCamera.rotateY(rotateY); mCamera.getMatrix(mMatrix); mCamera.restore(); mMatrix.preTranslate(-centerX(), -centerY()); mMatrix.postTranslate(centerX(), centerY()); canvas.concat(mMatrix); Path path=new Path(); path.moveTo(getWidth()/5,getHeight()*4/5); path.lineTo(getWidth()*4/5, getHeight()*4/5); path.lineTo(getWidth()/2,getHeight()/5); path.close(); canvas.drawPath(path, paint); }
@Override public void draw(Canvas canvas, Paint paint) { mMatrix.reset(); mCamera.save(); mCamera.rotateX(degress); mCamera.getMatrix(mMatrix); mCamera.restore(); mMatrix.preTranslate(-centerX(), -centerY()); mMatrix.postTranslate(centerX(), centerY()); canvas.concat(mMatrix); float radius=getWidth()/10; canvas.drawCircle(getWidth()/4,radius*2,radius,paint); canvas.drawCircle(getWidth()*3/4,radius*2,radius,paint); canvas.drawCircle(radius,getHeight()-2*radius,radius,paint); canvas.drawCircle(getWidth()/2,getHeight()-2*radius,radius,paint); canvas.drawCircle(getWidth()-radius,getHeight()-2*radius,radius,paint); }
@Override public void draw(Canvas canvas, Paint paint) { mMatrix.reset(); mCamera.save(); mCamera.rotateX(rotateX); mCamera.rotateY(rotateY); mCamera.getMatrix(mMatrix); mCamera.restore(); mMatrix.preTranslate(-centerX(), -centerY()); mMatrix.postTranslate(centerX(), centerY()); canvas.concat(mMatrix); canvas.drawRect(new RectF(getWidth()/5,getHeight()/5,getWidth()*4/5,getHeight()*4/5),paint); }
@Override public void draw(Canvas canvas) { int tx = getTranslateX(); tx = tx == 0 ? (int) (getBounds().width() * getTranslateXPercentage()) : tx; int ty = getTranslateY(); ty = ty == 0 ? (int) (getBounds().height() * getTranslateYPercentage()) : ty; canvas.translate(tx, ty); canvas.scale(getScaleX(), getScaleY(), getPivotX(), getPivotY()); canvas.rotate(getRotate(), getPivotX(), getPivotY()); if (getRotateX() != 0 || getRotateY() != 0) { mCamera.save(); mCamera.rotateX(getRotateX()); mCamera.rotateY(getRotateY()); mCamera.getMatrix(mMatrix); mMatrix.preTranslate(-getPivotX(), -getPivotY()); mMatrix.postTranslate(getPivotX(), getPivotY()); mCamera.restore(); canvas.concat(mMatrix); } drawSelf(canvas); }