summaryrefslogtreecommitdiffstats
path: root/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java
diff options
context:
space:
mode:
Diffstat (limited to 'graphics/java/android/graphics/drawable/shapes/RoundRectShape.java')
-rw-r--r--graphics/java/android/graphics/drawable/shapes/RoundRectShape.java119
1 files changed, 0 insertions, 119 deletions
diff --git a/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java b/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java
deleted file mode 100644
index f4cf15c..0000000
--- a/graphics/java/android/graphics/drawable/shapes/RoundRectShape.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (C) 2007 The Android Open Source Project
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package android.graphics.drawable.shapes;
-
-import android.graphics.Canvas;
-import android.graphics.Paint;
-import android.graphics.Path;
-import android.graphics.RectF;
-
-/**
- * Creates a rounded-corner rectangle. Optionally, an inset (rounded) rectangle
- * can be included (to make a sort of "O" shape).
- * The rounded rectangle can be drawn to a Canvas with its own draw() method,
- * but more graphical control is available if you instead pass
- * the RoundRectShape to a {@link android.graphics.drawable.ShapeDrawable}.
- */
-public class RoundRectShape extends RectShape {
- private float[] mOuterRadii;
- private RectF mInset;
- private float[] mInnerRadii;
-
- private RectF mInnerRect;
- private Path mPath; // this is what we actually draw
-
- /**
- * RoundRectShape constructor.
- * Specifies an outer (round)rect and an optional inner (round)rect.
- *
- * @param outerRadii An array of 8 radius values, for the outer roundrect.
- * The first two floats are for the
- * top-left corner (remaining pairs correspond clockwise).
- * For no rounded corners on the outer rectangle,
- * pass null.
- * @param inset A RectF that specifies the distance from the inner
- * rect to each side of the outer rect.
- * For no inner, pass null.
- * @param innerRadii An array of 8 radius values, for the inner roundrect.
- * The first two floats are for the
- * top-left corner (remaining pairs correspond clockwise).
- * For no rounded corners on the inner rectangle,
- * pass null.
- * If inset parameter is null, this parameter is ignored.
- */
- public RoundRectShape(float[] outerRadii, RectF inset,
- float[] innerRadii) {
- if (outerRadii.length < 8) {
- throw new ArrayIndexOutOfBoundsException(
- "outer radii must have >= 8 values");
- }
- if (innerRadii != null && innerRadii.length < 8) {
- throw new ArrayIndexOutOfBoundsException(
- "inner radii must have >= 8 values");
- }
- mOuterRadii = outerRadii;
- mInset = inset;
- mInnerRadii = innerRadii;
-
- if (inset != null) {
- mInnerRect = new RectF();
- }
- mPath = new Path();
- }
-
- @Override
- public void draw(Canvas canvas, Paint paint) {
- canvas.drawPath(mPath, paint);
- }
-
- @Override
- protected void onResize(float w, float h) {
- super.onResize(w, h);
-
- RectF r = rect();
- mPath.reset();
-
- if (mOuterRadii != null) {
- mPath.addRoundRect(r, mOuterRadii, Path.Direction.CW);
- } else {
- mPath.addRect(r, Path.Direction.CW);
- }
- if (mInnerRect != null) {
- mInnerRect.set(r.left + mInset.left, r.top + mInset.top,
- r.right - mInset.right, r.bottom - mInset.bottom);
- if (mInnerRect.width() < w && mInnerRect.height() < h) {
- if (mInnerRadii != null) {
- mPath.addRoundRect(mInnerRect, mInnerRadii,
- Path.Direction.CCW);
- } else {
- mPath.addRect(mInnerRect, Path.Direction.CCW);
- }
- }
- }
- }
-
- @Override
- public RoundRectShape clone() throws CloneNotSupportedException {
- RoundRectShape shape = (RoundRectShape) super.clone();
- shape.mOuterRadii = mOuterRadii.clone();
- shape.mInnerRadii = mInnerRadii.clone();
- shape.mInset = new RectF(mInset);
- shape.mInnerRect = new RectF(mInnerRect);
- shape.mPath = new Path(mPath);
- return shape;
- }
-}