Search in sources :

Example 51 with Insets

use of android.graphics.Insets in project android_frameworks_base by AOSPA.

the class Switch method draw.

@Override
public void draw(Canvas c) {
    final Rect padding = mTempRect;
    final int switchLeft = mSwitchLeft;
    final int switchTop = mSwitchTop;
    final int switchRight = mSwitchRight;
    final int switchBottom = mSwitchBottom;
    int thumbInitialLeft = switchLeft + getThumbOffset();
    final Insets thumbInsets;
    if (mThumbDrawable != null) {
        thumbInsets = mThumbDrawable.getOpticalInsets();
    } else {
        thumbInsets = Insets.NONE;
    }
    // Layout the track.
    if (mTrackDrawable != null) {
        mTrackDrawable.getPadding(padding);
        // Adjust thumb position for track padding.
        thumbInitialLeft += padding.left;
        // If necessary, offset by the optical insets of the thumb asset.
        int trackLeft = switchLeft;
        int trackTop = switchTop;
        int trackRight = switchRight;
        int trackBottom = switchBottom;
        if (thumbInsets != Insets.NONE) {
            if (thumbInsets.left > padding.left) {
                trackLeft += thumbInsets.left - padding.left;
            }
            if (thumbInsets.top > padding.top) {
                trackTop += thumbInsets.top - padding.top;
            }
            if (thumbInsets.right > padding.right) {
                trackRight -= thumbInsets.right - padding.right;
            }
            if (thumbInsets.bottom > padding.bottom) {
                trackBottom -= thumbInsets.bottom - padding.bottom;
            }
        }
        mTrackDrawable.setBounds(trackLeft, trackTop, trackRight, trackBottom);
    }
    // Layout the thumb.
    if (mThumbDrawable != null) {
        mThumbDrawable.getPadding(padding);
        final int thumbLeft = thumbInitialLeft - padding.left;
        final int thumbRight = thumbInitialLeft + mThumbWidth + padding.right;
        mThumbDrawable.setBounds(thumbLeft, switchTop, thumbRight, switchBottom);
        final Drawable background = getBackground();
        if (background != null) {
            background.setHotspotBounds(thumbLeft, switchTop, thumbRight, switchBottom);
        }
    }
    // Draw the background.
    super.draw(c);
}
Also used : Rect(android.graphics.Rect) Insets(android.graphics.Insets) Drawable(android.graphics.drawable.Drawable) TextPaint(android.text.TextPaint) Paint(android.graphics.Paint)

Example 52 with Insets

use of android.graphics.Insets in project android_frameworks_base by AOSPA.

the class TextView method getBoxHeight.

/////////////////////////////////////////////////////////////////////////
private int getBoxHeight(Layout l) {
    Insets opticalInsets = isLayoutModeOptical(mParent) ? getOpticalInsets() : Insets.NONE;
    int padding = (l == mHintLayout) ? getCompoundPaddingTop() + getCompoundPaddingBottom() : getExtendedPaddingTop() + getExtendedPaddingBottom();
    return getMeasuredHeight() - padding + opticalInsets.top + opticalInsets.bottom;
}
Also used : Insets(android.graphics.Insets) TextPaint(android.text.TextPaint) Paint(android.graphics.Paint)

Example 53 with Insets

use of android.graphics.Insets in project android_frameworks_base by AOSPA.

the class VectorDrawable method computeVectorSize.

/*
     * Update local dimensions to adjust for a target density that may differ
     * from the source density against which the constant state was loaded.
     */
void computeVectorSize() {
    final Insets opticalInsets = mVectorState.mOpticalInsets;
    final int sourceDensity = mVectorState.mDensity;
    final int targetDensity = mTargetDensity;
    if (targetDensity != sourceDensity) {
        mDpiScaledWidth = Drawable.scaleFromDensity((int) mVectorState.mBaseWidth, sourceDensity, targetDensity, true);
        mDpiScaledHeight = Drawable.scaleFromDensity((int) mVectorState.mBaseHeight, sourceDensity, targetDensity, true);
        final int left = Drawable.scaleFromDensity(opticalInsets.left, sourceDensity, targetDensity, false);
        final int right = Drawable.scaleFromDensity(opticalInsets.right, sourceDensity, targetDensity, false);
        final int top = Drawable.scaleFromDensity(opticalInsets.top, sourceDensity, targetDensity, false);
        final int bottom = Drawable.scaleFromDensity(opticalInsets.bottom, sourceDensity, targetDensity, false);
        mDpiScaledInsets = Insets.of(left, top, right, bottom);
    } else {
        mDpiScaledWidth = (int) mVectorState.mBaseWidth;
        mDpiScaledHeight = (int) mVectorState.mBaseHeight;
        mDpiScaledInsets = opticalInsets;
    }
    mDpiScaledDirty = false;
}
Also used : Insets(android.graphics.Insets)

Example 54 with Insets

use of android.graphics.Insets in project android_frameworks_base by AOSPA.

the class View method setOpticalFrame.

private boolean setOpticalFrame(int left, int top, int right, int bottom) {
    Insets parentInsets = mParent instanceof View ? ((View) mParent).getOpticalInsets() : Insets.NONE;
    Insets childInsets = getOpticalInsets();
    return setFrame(left + parentInsets.left - childInsets.left, top + parentInsets.top - childInsets.top, right + parentInsets.left + childInsets.right, bottom + parentInsets.top + childInsets.bottom);
}
Also used : Insets(android.graphics.Insets)

Example 55 with Insets

use of android.graphics.Insets in project android_frameworks_base by AOSPA.

the class AbsSeekBar method drawTrack.

@Override
void drawTrack(Canvas canvas) {
    final Drawable thumbDrawable = mThumb;
    if (thumbDrawable != null && mSplitTrack) {
        final Insets insets = thumbDrawable.getOpticalInsets();
        final Rect tempRect = mTempRect;
        thumbDrawable.copyBounds(tempRect);
        tempRect.offset(mPaddingLeft - mThumbOffset, mPaddingTop);
        tempRect.left += insets.left;
        tempRect.right -= insets.right;
        final int saveCount = canvas.save();
        canvas.clipRect(tempRect, Op.DIFFERENCE);
        super.drawTrack(canvas);
        drawTickMarks(canvas);
        canvas.restoreToCount(saveCount);
    } else {
        super.drawTrack(canvas);
        drawTickMarks(canvas);
    }
}
Also used : Rect(android.graphics.Rect) Insets(android.graphics.Insets) Drawable(android.graphics.drawable.Drawable)

Aggregations

Insets (android.graphics.Insets)73 Paint (android.graphics.Paint)53 Rect (android.graphics.Rect)35 TextPaint (android.text.TextPaint)26 Drawable (android.graphics.drawable.Drawable)15 Point (android.graphics.Point)10 NinePatch (android.graphics.NinePatch)5 Layout (android.text.Layout)5 StaticLayout (android.text.StaticLayout)5 LongSparseLongArray (android.util.LongSparseLongArray)4