19038afb70d70650d87659bb252181ca8645670b8Chris Craik/* 29038afb70d70650d87659bb252181ca8645670b8Chris Craik * Copyright (C) 2014 The Android Open Source Project 39038afb70d70650d87659bb252181ca8645670b8Chris Craik * 49038afb70d70650d87659bb252181ca8645670b8Chris Craik * Licensed under the Apache License, Version 2.0 (the "License"); 59038afb70d70650d87659bb252181ca8645670b8Chris Craik * you may not use this file except in compliance with the License. 69038afb70d70650d87659bb252181ca8645670b8Chris Craik * You may obtain a copy of the License at 79038afb70d70650d87659bb252181ca8645670b8Chris Craik * 89038afb70d70650d87659bb252181ca8645670b8Chris Craik * http://www.apache.org/licenses/LICENSE-2.0 99038afb70d70650d87659bb252181ca8645670b8Chris Craik * 109038afb70d70650d87659bb252181ca8645670b8Chris Craik * Unless required by applicable law or agreed to in writing, software 119038afb70d70650d87659bb252181ca8645670b8Chris Craik * distributed under the License is distributed on an "AS IS" BASIS, 129038afb70d70650d87659bb252181ca8645670b8Chris Craik * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 139038afb70d70650d87659bb252181ca8645670b8Chris Craik * See the License for the specific language governing permissions and 149038afb70d70650d87659bb252181ca8645670b8Chris Craik * limitations under the License. 159038afb70d70650d87659bb252181ca8645670b8Chris Craik */ 169038afb70d70650d87659bb252181ca8645670b8Chris Craik 179038afb70d70650d87659bb252181ca8645670b8Chris Craikpackage android.support.v4.graphics.drawable; 189038afb70d70650d87659bb252181ca8645670b8Chris Craik 199038afb70d70650d87659bb252181ca8645670b8Chris Craikimport android.content.res.Resources; 209038afb70d70650d87659bb252181ca8645670b8Chris Craikimport android.graphics.Bitmap; 219038afb70d70650d87659bb252181ca8645670b8Chris Craikimport android.graphics.Outline; 229038afb70d70650d87659bb252181ca8645670b8Chris Craikimport android.graphics.Rect; 239038afb70d70650d87659bb252181ca8645670b8Chris Craikimport android.view.Gravity; 249038afb70d70650d87659bb252181ca8645670b8Chris Craikimport android.view.View; 259038afb70d70650d87659bb252181ca8645670b8Chris Craik 269038afb70d70650d87659bb252181ca8645670b8Chris Craikclass RoundedBitmapDrawable21 extends RoundedBitmapDrawable { 279038afb70d70650d87659bb252181ca8645670b8Chris Craik protected RoundedBitmapDrawable21(Resources res, Bitmap bitmap) { 289038afb70d70650d87659bb252181ca8645670b8Chris Craik super(res, bitmap); 299038afb70d70650d87659bb252181ca8645670b8Chris Craik } 309038afb70d70650d87659bb252181ca8645670b8Chris Craik 319038afb70d70650d87659bb252181ca8645670b8Chris Craik @Override 329038afb70d70650d87659bb252181ca8645670b8Chris Craik public void getOutline(Outline outline) { 339038afb70d70650d87659bb252181ca8645670b8Chris Craik updateDstRect(); 349038afb70d70650d87659bb252181ca8645670b8Chris Craik outline.setRoundRect(mDstRect, getCornerRadius()); 359038afb70d70650d87659bb252181ca8645670b8Chris Craik } 369038afb70d70650d87659bb252181ca8645670b8Chris Craik 379038afb70d70650d87659bb252181ca8645670b8Chris Craik @Override 389038afb70d70650d87659bb252181ca8645670b8Chris Craik public void setMipMap(boolean mipMap) { 399038afb70d70650d87659bb252181ca8645670b8Chris Craik if (mBitmap != null) { 409038afb70d70650d87659bb252181ca8645670b8Chris Craik mBitmap.setHasMipMap(mipMap); 419038afb70d70650d87659bb252181ca8645670b8Chris Craik invalidateSelf(); 429038afb70d70650d87659bb252181ca8645670b8Chris Craik } 439038afb70d70650d87659bb252181ca8645670b8Chris Craik } 449038afb70d70650d87659bb252181ca8645670b8Chris Craik 459038afb70d70650d87659bb252181ca8645670b8Chris Craik @Override 469038afb70d70650d87659bb252181ca8645670b8Chris Craik public boolean hasMipMap() { 479038afb70d70650d87659bb252181ca8645670b8Chris Craik return mBitmap != null && mBitmap.hasMipMap(); 489038afb70d70650d87659bb252181ca8645670b8Chris Craik } 499038afb70d70650d87659bb252181ca8645670b8Chris Craik 509038afb70d70650d87659bb252181ca8645670b8Chris Craik @Override 519038afb70d70650d87659bb252181ca8645670b8Chris Craik void gravityCompatApply(int gravity, int bitmapWidth, int bitmapHeight, 529038afb70d70650d87659bb252181ca8645670b8Chris Craik Rect bounds, Rect outRect) { 539038afb70d70650d87659bb252181ca8645670b8Chris Craik Gravity.apply(gravity, bitmapWidth, bitmapHeight, 549038afb70d70650d87659bb252181ca8645670b8Chris Craik bounds, outRect, View.LAYOUT_DIRECTION_LTR); 559038afb70d70650d87659bb252181ca8645670b8Chris Craik } 569038afb70d70650d87659bb252181ca8645670b8Chris Craik} 57