Search in sources :

Example 1 with PaintDrawable

use of android.graphics.drawable.PaintDrawable in project android_frameworks_base by ParanoidAndroid.

the class IconUtilities method createIconBitmap.

/**
     * Returns a bitmap suitable for the all apps view.  The bitmap will be a power
     * of two sized ARGB_8888 bitmap that can be used as a gl texture.
     */
private Bitmap createIconBitmap(Drawable icon) {
    int width = mIconWidth;
    int height = mIconHeight;
    if (icon instanceof PaintDrawable) {
        PaintDrawable painter = (PaintDrawable) icon;
        painter.setIntrinsicWidth(width);
        painter.setIntrinsicHeight(height);
    } else if (icon instanceof BitmapDrawable) {
        // Ensure the bitmap has a density.
        BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
        Bitmap bitmap = bitmapDrawable.getBitmap();
        if (bitmap.getDensity() == Bitmap.DENSITY_NONE) {
            bitmapDrawable.setTargetDensity(mDisplayMetrics);
        }
    }
    int sourceWidth = icon.getIntrinsicWidth();
    int sourceHeight = icon.getIntrinsicHeight();
    if (sourceWidth > 0 && sourceHeight > 0) {
        // There are intrinsic sizes.
        if (width < sourceWidth || height < sourceHeight) {
            // It's too big, scale it down.
            final float ratio = (float) sourceWidth / sourceHeight;
            if (sourceWidth > sourceHeight) {
                height = (int) (width / ratio);
            } else if (sourceHeight > sourceWidth) {
                width = (int) (height * ratio);
            }
        } else if (sourceWidth < width && sourceHeight < height) {
            // It's small, use the size they gave us.
            width = sourceWidth;
            height = sourceHeight;
        }
    }
    // no intrinsic size --> use default size
    int textureWidth = mIconTextureWidth;
    int textureHeight = mIconTextureHeight;
    final Bitmap bitmap = Bitmap.createBitmap(textureWidth, textureHeight, Bitmap.Config.ARGB_8888);
    final Canvas canvas = mCanvas;
    canvas.setBitmap(bitmap);
    final int left = (textureWidth - width) / 2;
    final int top = (textureHeight - height) / 2;
    if (false) {
        // draw a big box for the icon for debugging
        canvas.drawColor(sColors[mColorIndex]);
        if (++mColorIndex >= sColors.length)
            mColorIndex = 0;
        Paint debugPaint = new Paint();
        debugPaint.setColor(0xffcccc00);
        canvas.drawRect(left, top, left + width, top + height, debugPaint);
    }
    mOldBounds.set(icon.getBounds());
    icon.setBounds(left, top, left + width, top + height);
    icon.draw(canvas);
    icon.setBounds(mOldBounds);
    return bitmap;
}
Also used : Bitmap(android.graphics.Bitmap) Canvas(android.graphics.Canvas) PaintDrawable(android.graphics.drawable.PaintDrawable) BitmapDrawable(android.graphics.drawable.BitmapDrawable) TextPaint(android.text.TextPaint) Paint(android.graphics.Paint) TextPaint(android.text.TextPaint) Paint(android.graphics.Paint)

Example 2 with PaintDrawable

use of android.graphics.drawable.PaintDrawable in project android_frameworks_base by ParanoidAndroid.

the class GridSimple method onCreate.

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    getGridView().setSelector(new PaintDrawable(0xFFFF0000));
    getGridView().setPadding(0, 0, 0, 0);
    getGridView().setFadingEdgeLength(64);
    getGridView().setVerticalFadingEdgeEnabled(true);
    getGridView().setBackgroundColor(0xFFC0C0C0);
}
Also used : PaintDrawable(android.graphics.drawable.PaintDrawable)

Example 3 with PaintDrawable

use of android.graphics.drawable.PaintDrawable in project android_frameworks_base by ResurrectionRemix.

the class IconUtilities method createIconBitmap.

/**
     * Returns a bitmap suitable for the all apps view.  The bitmap will be a power
     * of two sized ARGB_8888 bitmap that can be used as a gl texture.
     */
public Bitmap createIconBitmap(Drawable icon) {
    int width = mIconWidth;
    int height = mIconHeight;
    if (icon instanceof PaintDrawable) {
        PaintDrawable painter = (PaintDrawable) icon;
        painter.setIntrinsicWidth(width);
        painter.setIntrinsicHeight(height);
    } else if (icon instanceof BitmapDrawable) {
        // Ensure the bitmap has a density.
        BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
        Bitmap bitmap = bitmapDrawable.getBitmap();
        if (bitmap.getDensity() == Bitmap.DENSITY_NONE) {
            bitmapDrawable.setTargetDensity(mDisplayMetrics);
        }
    }
    int sourceWidth = icon.getIntrinsicWidth();
    int sourceHeight = icon.getIntrinsicHeight();
    if (sourceWidth > 0 && sourceHeight > 0) {
        // There are intrinsic sizes.
        if (width < sourceWidth || height < sourceHeight) {
            // It's too big, scale it down.
            final float ratio = (float) sourceWidth / sourceHeight;
            if (sourceWidth > sourceHeight) {
                height = (int) (width / ratio);
            } else if (sourceHeight > sourceWidth) {
                width = (int) (height * ratio);
            }
        } else if (sourceWidth < width && sourceHeight < height) {
            // It's small, use the size they gave us.
            width = sourceWidth;
            height = sourceHeight;
        }
    }
    // no intrinsic size --> use default size
    int textureWidth = mIconTextureWidth;
    int textureHeight = mIconTextureHeight;
    final Bitmap bitmap = Bitmap.createBitmap(textureWidth, textureHeight, Bitmap.Config.ARGB_8888);
    final Canvas canvas = mCanvas;
    canvas.setBitmap(bitmap);
    final int left = (textureWidth - width) / 2;
    final int top = (textureHeight - height) / 2;
    if (false) {
        // draw a big box for the icon for debugging
        canvas.drawColor(sColors[mColorIndex]);
        if (++mColorIndex >= sColors.length)
            mColorIndex = 0;
        Paint debugPaint = new Paint();
        debugPaint.setColor(0xffcccc00);
        canvas.drawRect(left, top, left + width, top + height, debugPaint);
    }
    mOldBounds.set(icon.getBounds());
    icon.setBounds(left, top, left + width, top + height);
    icon.draw(canvas);
    icon.setBounds(mOldBounds);
    return bitmap;
}
Also used : Bitmap(android.graphics.Bitmap) Canvas(android.graphics.Canvas) PaintDrawable(android.graphics.drawable.PaintDrawable) BitmapDrawable(android.graphics.drawable.BitmapDrawable) Paint(android.graphics.Paint) Paint(android.graphics.Paint)

Example 4 with PaintDrawable

use of android.graphics.drawable.PaintDrawable in project android_frameworks_base by DirtyUnicorns.

the class IconUtilities method createIconBitmap.

/**
     * Returns a bitmap suitable for the all apps view.  The bitmap will be a power
     * of two sized ARGB_8888 bitmap that can be used as a gl texture.
     */
public Bitmap createIconBitmap(Drawable icon) {
    int width = mIconWidth;
    int height = mIconHeight;
    if (icon instanceof PaintDrawable) {
        PaintDrawable painter = (PaintDrawable) icon;
        painter.setIntrinsicWidth(width);
        painter.setIntrinsicHeight(height);
    } else if (icon instanceof BitmapDrawable) {
        // Ensure the bitmap has a density.
        BitmapDrawable bitmapDrawable = (BitmapDrawable) icon;
        Bitmap bitmap = bitmapDrawable.getBitmap();
        if (bitmap.getDensity() == Bitmap.DENSITY_NONE) {
            bitmapDrawable.setTargetDensity(mDisplayMetrics);
        }
    }
    int sourceWidth = icon.getIntrinsicWidth();
    int sourceHeight = icon.getIntrinsicHeight();
    if (sourceWidth > 0 && sourceHeight > 0) {
        // There are intrinsic sizes.
        if (width < sourceWidth || height < sourceHeight) {
            // It's too big, scale it down.
            final float ratio = (float) sourceWidth / sourceHeight;
            if (sourceWidth > sourceHeight) {
                height = (int) (width / ratio);
            } else if (sourceHeight > sourceWidth) {
                width = (int) (height * ratio);
            }
        } else if (sourceWidth < width && sourceHeight < height) {
            // It's small, use the size they gave us.
            width = sourceWidth;
            height = sourceHeight;
        }
    }
    // no intrinsic size --> use default size
    int textureWidth = mIconTextureWidth;
    int textureHeight = mIconTextureHeight;
    final Bitmap bitmap = Bitmap.createBitmap(textureWidth, textureHeight, Bitmap.Config.ARGB_8888);
    final Canvas canvas = mCanvas;
    canvas.setBitmap(bitmap);
    final int left = (textureWidth - width) / 2;
    final int top = (textureHeight - height) / 2;
    if (false) {
        // draw a big box for the icon for debugging
        canvas.drawColor(sColors[mColorIndex]);
        if (++mColorIndex >= sColors.length)
            mColorIndex = 0;
        Paint debugPaint = new Paint();
        debugPaint.setColor(0xffcccc00);
        canvas.drawRect(left, top, left + width, top + height, debugPaint);
    }
    mOldBounds.set(icon.getBounds());
    icon.setBounds(left, top, left + width, top + height);
    icon.draw(canvas);
    icon.setBounds(mOldBounds);
    return bitmap;
}
Also used : Bitmap(android.graphics.Bitmap) Canvas(android.graphics.Canvas) PaintDrawable(android.graphics.drawable.PaintDrawable) BitmapDrawable(android.graphics.drawable.BitmapDrawable) Paint(android.graphics.Paint) Paint(android.graphics.Paint)

Example 5 with PaintDrawable

use of android.graphics.drawable.PaintDrawable in project android_frameworks_base by DirtyUnicorns.

the class GridSimple method onCreate.

@Override
protected void onCreate(Bundle icicle) {
    super.onCreate(icicle);
    getGridView().setSelector(new PaintDrawable(0xFFFF0000));
    getGridView().setPadding(0, 0, 0, 0);
    getGridView().setFadingEdgeLength(64);
    getGridView().setVerticalFadingEdgeEnabled(true);
    getGridView().setBackgroundColor(0xFFC0C0C0);
}
Also used : PaintDrawable(android.graphics.drawable.PaintDrawable)

Aggregations

PaintDrawable (android.graphics.drawable.PaintDrawable)35 RectShape (android.graphics.drawable.shapes.RectShape)13 Paint (android.graphics.Paint)12 Bitmap (android.graphics.Bitmap)11 Canvas (android.graphics.Canvas)11 LinearGradient (android.graphics.LinearGradient)11 BitmapDrawable (android.graphics.drawable.BitmapDrawable)11 ShapeDrawable (android.graphics.drawable.ShapeDrawable)11 Shader (android.graphics.Shader)8 Drawable (android.graphics.drawable.Drawable)7 LayerDrawable (android.graphics.drawable.LayerDrawable)5 TypedArray (android.content.res.TypedArray)4 GradientDrawable (android.graphics.drawable.GradientDrawable)3 StateListDrawable (android.graphics.drawable.StateListDrawable)3 Attributes (com.cengalabs.flatui.Attributes)3 Typeface (android.graphics.Typeface)2 InsetDrawable (android.graphics.drawable.InsetDrawable)2 TextPaint (android.text.TextPaint)2 Resources (android.content.res.Resources)1 ClipDrawable (android.graphics.drawable.ClipDrawable)1