Search in sources :

Example 6 with RippleDrawable

use of carbon.drawable.ripple.RippleDrawable in project Carbon by ZieIony.

the class FrameLayout method drawChild.

@Override
protected boolean drawChild(@NonNull Canvas canvas, @NonNull View child, long drawingTime) {
    // TODO: why isShown() returns false after being reattached?
    if (child instanceof ShadowView && (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH || ((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.MATRIX_SAVE_FLAG);
            canvas.translate(child.getLeft(), child.getTop());
            canvas.concat(MatrixHelper.getMatrix(child));
            rippleDrawable.draw(canvas);
            canvas.restoreToCount(saveCount);
        }
    }
    return super.drawChild(canvas, child, drawingTime);
}
Also used : ShadowView(carbon.shadow.ShadowView) RippleView(carbon.drawable.ripple.RippleView) Paint(android.graphics.Paint) RippleDrawable(carbon.drawable.ripple.RippleDrawable)

Example 7 with RippleDrawable

use of carbon.drawable.ripple.RippleDrawable in project Carbon by ZieIony.

the class RadioButton method onDraw.

@Override
protected void onDraw(Canvas canvas) {
    final Drawable buttonDrawable = drawable;
    if (buttonDrawable != null) {
        final int verticalGravity = getGravity() & Gravity.VERTICAL_GRAVITY_MASK;
        final int drawableHeight = buttonDrawable.getIntrinsicHeight();
        final int drawableWidth = buttonDrawable.getIntrinsicWidth();
        final int top;
        switch(verticalGravity) {
            case Gravity.BOTTOM:
                top = getHeight() - drawableHeight;
                break;
            case Gravity.CENTER_VERTICAL:
                top = (getHeight() - drawableHeight) / 2;
                break;
            default:
                top = 0;
        }
        final int bottom = top + drawableHeight;
        final int left = isLayoutRtl() ? getWidth() - drawableWidth - getPaddingRight() : getPaddingLeft();
        final int right = isLayoutRtl() ? getWidth() - getPaddingRight() : drawableWidth + getPaddingLeft();
        buttonDrawable.setBounds(left, top, right, bottom);
        final Drawable background = getBackground();
        if (background != null && background instanceof RippleDrawable) {
        //TODO: hotspotBounds
        // ((RippleDrawable)background).setHotspotBounds(left, top, right, bottom);
        }
    }
    super.onDraw(canvas);
    if (buttonDrawable != null) {
        final int scrollX = getScrollX();
        final int scrollY = getScrollY();
        if (scrollX == 0 && scrollY == 0) {
            buttonDrawable.draw(canvas);
        } else {
            canvas.translate(scrollX, scrollY);
            buttonDrawable.draw(canvas);
            canvas.translate(-scrollX, -scrollY);
        }
    }
}
Also used : Drawable(android.graphics.drawable.Drawable) RippleDrawable(carbon.drawable.ripple.RippleDrawable) CheckableDrawable(carbon.drawable.CheckableDrawable) RippleDrawable(carbon.drawable.ripple.RippleDrawable)

Example 8 with RippleDrawable

use of carbon.drawable.ripple.RippleDrawable in project Carbon by ZieIony.

the class RelativeLayout method drawChild.

@Override
protected boolean drawChild(@NonNull Canvas canvas, @NonNull View child, long drawingTime) {
    // TODO: why isShown() returns false after being reattached?
    if (child instanceof ShadowView && (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH || ((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.MATRIX_SAVE_FLAG);
            canvas.translate(child.getLeft(), child.getTop());
            canvas.concat(MatrixHelper.getMatrix(child));
            rippleDrawable.draw(canvas);
            canvas.restoreToCount(saveCount);
        }
    }
    return super.drawChild(canvas, child, drawingTime);
}
Also used : ShadowView(carbon.shadow.ShadowView) RippleView(carbon.drawable.ripple.RippleView) Paint(android.graphics.Paint) RippleDrawable(carbon.drawable.ripple.RippleDrawable)

Example 9 with RippleDrawable

use of carbon.drawable.ripple.RippleDrawable in project Carbon by ZieIony.

the class GridLayout method drawChild.

@Override
protected boolean drawChild(@NonNull Canvas canvas, @NonNull View child, long drawingTime) {
    if (child instanceof ShadowView && (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH || ((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.MATRIX_SAVE_FLAG);
            canvas.translate(child.getLeft(), child.getTop());
            canvas.concat(MatrixHelper.getMatrix(child));
            rippleDrawable.draw(canvas);
            canvas.restoreToCount(saveCount);
        }
    }
    return super.drawChild(canvas, child, drawingTime);
}
Also used : ShadowView(carbon.shadow.ShadowView) RippleView(carbon.drawable.ripple.RippleView) Paint(android.graphics.Paint) RippleDrawable(carbon.drawable.ripple.RippleDrawable)

Example 10 with RippleDrawable

use of carbon.drawable.ripple.RippleDrawable in project Carbon by ZieIony.

the class DrawerLayout method drawChild.

@Override
protected boolean drawChild(@NonNull Canvas canvas, @NonNull View child, long drawingTime) {
    // TODO: why isShown() returns false after being reattached?
    if (child instanceof ShadowView && (Build.VERSION.SDK_INT <= Build.VERSION_CODES.KITKAT_WATCH || ((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.MATRIX_SAVE_FLAG);
            canvas.translate(child.getLeft(), child.getTop());
            canvas.concat(MatrixHelper.getMatrix(child));
            rippleDrawable.draw(canvas);
            canvas.restoreToCount(saveCount);
        }
    }
    return super.drawChild(canvas, child, drawingTime);
}
Also used : ShadowView(carbon.shadow.ShadowView) RippleView(carbon.drawable.ripple.RippleView) Paint(android.graphics.Paint) RippleDrawable(carbon.drawable.ripple.RippleDrawable)

Aggregations

RippleDrawable (carbon.drawable.ripple.RippleDrawable)20 Paint (android.graphics.Paint)15 RippleView (carbon.drawable.ripple.RippleView)14 ShadowView (carbon.shadow.ShadowView)13 Drawable (android.graphics.drawable.Drawable)5 CheckableDrawable (carbon.drawable.CheckableDrawable)3 PorterDuffColorFilter (android.graphics.PorterDuffColorFilter)2 RippleDrawableFroyo (carbon.drawable.ripple.RippleDrawableFroyo)2 RippleDrawableLollipop (carbon.drawable.ripple.RippleDrawableLollipop)2 RippleDrawableMarshmallow (carbon.drawable.ripple.RippleDrawableMarshmallow)2 TargetApi (android.annotation.TargetApi)1 Context (android.content.Context)1 ColorStateList (android.content.res.ColorStateList)1 TypedArray (android.content.res.TypedArray)1 Canvas (android.graphics.Canvas)1 PorterDuff (android.graphics.PorterDuff)1 Rect (android.graphics.Rect)1 Build (android.os.Build)1 NonNull (android.support.annotation.NonNull)1 ViewCompat (android.support.v4.view.ViewCompat)1