Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  package com.WazaBe.HoloEverywhere.drawable;
  
  
  
 
 
 public class RotateDrawable extends Drawable {

Represents the state of a rotation for a given drawable. The same rotate drawable can be invoked with different states to drive several rotations at the same time.

 
 	final static class RotateState extends Drawable.ConstantState {
 		private boolean mCanConstantState;
 
 
 		private boolean mCheckedConstantState;
 		float mFromDegrees;
 
 		float mPivotX;
 		boolean mPivotXRel;
 
 		float mPivotY;
 
 		boolean mPivotYRel;
 		float mToDegrees;
 
 		@SuppressLint("NewApi")
 		public RotateState(RotateState sourceRotateDrawable owner,
 				Resources res) {
 			if (source != null) {
 				if (res != null && . >= 5) {
 					 = source.mDrawable.getConstantState()
 							.newDrawable(res);
 				} else {
 					 = source.mDrawable.getConstantState()
 				}
 				 = source.mPivotXRel;
 				 = source.mPivotX;
 				 = source.mPivotYRel;
 				 = source.mPivotY;
 				 =  = source.mFromDegrees;
 				 = source.mToDegrees;
 			}
 		}
 
 		public boolean canConstantState() {
 			}
 
 		}
 
 		public int getChangingConfigurations() {
 		}
 
 		public Drawable newDrawable() {
 			return new RotateDrawable(thisnull);
 		}
 
 		public Drawable newDrawable(Resources res) {
 			return new RotateDrawable(thisres);
 		}
 	}
 
 	private static final float MAX_LEVEL = 10000.0f;
 	private boolean mMutated;
 
 	private RotateState mState;

Create a new rotating drawable with an empty state.

	public RotateDrawable() {
		this(nullnull);
	}

Create a new rotating drawable with the specified state. A copy of this state is used as the internal state for the newly created drawable.

Parameters:
rotateState the state for this drawable
	private RotateDrawable(RotateState rotateStateResources res) {
		 = new RotateState(rotateStatethisres);
	}
	public void draw(Canvas canvas) {
		int saveCount = canvas.save();
		int w = bounds.right - bounds.left;
		int h = bounds.bottom - bounds.top;
		final RotateState st = ;
		float px = st.mPivotXRel ? w * st.mPivotX : st.mPivotX;
		float py = st.mPivotYRel ? h * st.mPivotY : st.mPivotY;
		canvas.rotate(st.mCurrentDegreespx + bounds.leftpy + bounds.top);
		st.mDrawable.draw(canvas);
		canvas.restoreToCount(saveCount);
	}
	public int getChangingConfigurations() {
	}
			return ;
		}
		return null;
	}

Returns the drawable rotated by this RotateDrawable.
	public Drawable getDrawable() {
	}
	public int getIntrinsicHeight() {
	}
	public int getIntrinsicWidth() {
	}
	public int getOpacity() {
	}
	public boolean getPadding(Rect padding) {
		return ..getPadding(padding);
	}
	public void inflate(Resources rXmlPullParser parserAttributeSet attrs)
				true);
		boolean pivotXRel;
		float pivotX;
		if (tv == null) {
			pivotXRel = true;
			pivotX = 0.5f;
else {
			pivotXRel = tv.type == .;
			pivotX = pivotXRel ? tv.getFraction(1.0f, 1.0f) : tv.getFloat();
		}
		boolean pivotYRel;
		float pivotY;
		if (tv == null) {
			pivotYRel = true;
			pivotY = 0.5f;
else {
			pivotYRel = tv.type == .;
			pivotY = pivotYRel ? tv.getFraction(1.0f, 1.0f) : tv.getFloat();
		}
		float fromDegrees = a.getFloat(
		float toDegrees = a.getFloat(
				0);
		Drawable drawable = null;
		if (res > 0) {
			drawable = r.getDrawable(res);
		}
		int outerDepth = parser.getDepth();
		int type;
		while ((type = parser.next()) != .
				&& (type != . || parser.getDepth() > outerDepth)) {
			if (type != .) {
				continue;
			}
			if ((drawable = Drawable.createFromXmlInner(rparserattrs)) == null) {
				Log.w("drawable",
						"Bad element under <rotate>: " + parser.getName());
			}
		}
		if (drawable == null) {
			Log.w("drawable""No drawable specified for <rotate>");
		}
		. = drawable;
		. = pivotXRel;
		. = pivotX;
		. = pivotYRel;
		. = pivotY;
		. = toDegrees;
	}
	public boolean isStateful() {
	}
	public Drawable mutate() {
		if (! && super.mutate() == this) {
			 = true;
		}
		return this;
	}
	protected void onBoundsChange(Rect bounds) {
		..setBounds(bounds.leftbounds.topbounds.right,
				bounds.bottom);
	}
	protected boolean onLevelChange(int level) {
				* (level / .);
		return true;
	}
	protected boolean onStateChange(int[] state) {
		boolean changed = ..setState(state);
		return changed;
	}
	public void setAlpha(int alpha) {
	}
	public void setColorFilter(ColorFilter cf) {
	}
	public void setState(Drawable drawableboolean pivotXRel,
			boolean pivotYRelfloat pivotXfloat pivotYfloat fromDegrees,
			float toDegrees) {
		. = drawable;
		. = pivotXRel;
		. = pivotX;
		. = pivotYRel;
		. = pivotY;
		. = toDegrees;
	}
	public boolean setVisible(boolean visibleboolean restart) {
		..setVisible(visiblerestart);
		return super.setVisible(visiblerestart);
	}
New to GrepCode? Check out our FAQ X