Merge change I24895c35 into eclair

* changes:
  Reimplement all the method of Paint for layoutlib
This commit is contained in:
Android (Google) Code Review
2009-10-06 12:49:01 -04:00

View File

@@ -33,11 +33,15 @@ import java.awt.geom.Rectangle2D;
public class Paint extends _Original_Paint { public class Paint extends _Original_Paint {
private int mColor = 0xFFFFFFFF; private int mColor = 0xFFFFFFFF;
private float mStrokeWidth = 1.f;
private float mTextSize = 20; private float mTextSize = 20;
private float mScaleX = 1; private float mScaleX = 1;
private float mSkewX = 0; private float mSkewX = 0;
private Align mAlign = Align.LEFT; private Align mAlign = Align.LEFT;
private Style mStyle = Style.FILL; private Style mStyle = Style.FILL;
private float mStrokeMiter = 4.0f;
private Cap mCap = Cap.BUTT;
private Join mJoin = Join.MITER;
private int mFlags = 0; private int mFlags = 0;
private Font mFont; private Font mFont;
@@ -191,6 +195,11 @@ public class Paint extends _Original_Paint {
// pass // pass
} }
@Override
public void reset() {
super.reset();
}
/** /**
* Returns the {@link Font} object. * Returns the {@link Font} object.
*/ */
@@ -236,6 +245,11 @@ public class Paint extends _Original_Paint {
} }
} }
@Override
public void setCompatibilityScaling(float factor) {
super.setCompatibilityScaling(factor);
}
@Override @Override
public int getFlags() { public int getFlags() {
return mFlags; return mFlags;
@@ -246,6 +260,46 @@ public class Paint extends _Original_Paint {
mFlags = flags; mFlags = flags;
} }
@Override
public boolean isAntiAlias() {
return super.isAntiAlias();
}
@Override
public boolean isDither() {
return super.isDither();
}
@Override
public boolean isLinearText() {
return super.isLinearText();
}
@Override
public boolean isStrikeThruText() {
return super.isStrikeThruText();
}
@Override
public boolean isUnderlineText() {
return super.isUnderlineText();
}
@Override
public boolean isFakeBoldText() {
return super.isFakeBoldText();
}
@Override
public boolean isSubpixelText() {
return super.isSubpixelText();
}
@Override
public boolean isFilterBitmap() {
return super.isFilterBitmap();
}
/** /**
* Return the font's recommended interline spacing, given the Paint's * Return the font's recommended interline spacing, given the Paint's
* settings for typeface, textSize, etc. If metrics is not null, return the * settings for typeface, textSize, etc. If metrics is not null, return the
@@ -311,13 +365,11 @@ public class Paint extends _Original_Paint {
@Override @Override
public float getFontMetrics(_Original_Paint.FontMetrics metrics) { public float getFontMetrics(_Original_Paint.FontMetrics metrics) {
// TODO implement if needed
throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN"); throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN");
} }
@Override @Override
public int getFontMetricsInt(_Original_Paint.FontMetricsInt metrics) { public int getFontMetricsInt(_Original_Paint.FontMetricsInt metrics) {
// TODO implement if needed
throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN"); throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN");
} }
@@ -334,6 +386,11 @@ public class Paint extends _Original_Paint {
return typeface; return typeface;
} }
@Override
public Typeface getTypeface() {
return super.getTypeface();
}
@Override @Override
public int getColor() { public int getColor() {
return mColor; return mColor;
@@ -344,6 +401,10 @@ public class Paint extends _Original_Paint {
mColor = color; mColor = color;
} }
@Override
public void setARGB(int a, int r, int g, int b) {
super.setARGB(a, r, g, b);
}
@Override @Override
public void setAlpha(int alpha) { public void setAlpha(int alpha) {
@@ -369,6 +430,11 @@ public class Paint extends _Original_Paint {
return mShader = shader; return mShader = shader;
} }
@Override
public Shader getShader() {
return super.getShader();
}
/** /**
* Set or clear the paint's colorfilter, returning the parameter. * Set or clear the paint's colorfilter, returning the parameter.
* *
@@ -377,13 +443,15 @@ public class Paint extends _Original_Paint {
*/ */
@Override @Override
public ColorFilter setColorFilter(ColorFilter filter) { public ColorFilter setColorFilter(ColorFilter filter) {
int filterNative = 0;
if (filter != null)
filterNative = filter.native_instance;
mColorFilter = filter; mColorFilter = filter;
return filter; return filter;
} }
@Override
public ColorFilter getColorFilter() {
return super.getColorFilter();
}
/** /**
* Set or clear the xfermode object. * Set or clear the xfermode object.
* <p /> * <p />
@@ -398,13 +466,38 @@ public class Paint extends _Original_Paint {
return mXfermode = xfermode; return mXfermode = xfermode;
} }
@Override
public Xfermode getXfermode() {
return super.getXfermode();
}
@Override
public Rasterizer setRasterizer(Rasterizer rasterizer) {
mRasterizer = rasterizer;
return rasterizer;
}
@Override
public Rasterizer getRasterizer() {
return super.getRasterizer();
}
@Override
public void setShadowLayer(float radius, float dx, float dy, int color) {
// TODO Auto-generated method stub
}
@Override
public void clearShadowLayer() {
super.clearShadowLayer();
}
public void setTextAlign(Align align) { public void setTextAlign(Align align) {
mAlign = align; mAlign = align;
} }
@Override @Override
public void setTextAlign(android.graphics._Original_Paint.Align align) { public void setTextAlign(android.graphics._Original_Paint.Align align) {
// TODO implement if needed
throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN"); throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN");
} }
@@ -418,7 +511,6 @@ public class Paint extends _Original_Paint {
@Override @Override
public void setStyle(android.graphics._Original_Paint.Style style) { public void setStyle(android.graphics._Original_Paint.Style style) {
// TODO implement if needed
throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN"); throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN");
} }
@@ -441,6 +533,104 @@ public class Paint extends _Original_Paint {
mFlags |= flag ? FAKE_BOLD_TEXT_FLAG : ~FAKE_BOLD_TEXT_FLAG; mFlags |= flag ? FAKE_BOLD_TEXT_FLAG : ~FAKE_BOLD_TEXT_FLAG;
} }
@Override
public void setLinearText(boolean flag) {
mFlags |= flag ? LINEAR_TEXT_FLAG : ~LINEAR_TEXT_FLAG;
}
@Override
public void setSubpixelText(boolean flag) {
mFlags |= flag ? SUBPIXEL_TEXT_FLAG : ~SUBPIXEL_TEXT_FLAG;
}
@Override
public void setUnderlineText(boolean flag) {
mFlags |= flag ? UNDERLINE_TEXT_FLAG : ~UNDERLINE_TEXT_FLAG;
}
@Override
public void setStrikeThruText(boolean flag) {
mFlags |= flag ? STRIKE_THRU_TEXT_FLAG : ~STRIKE_THRU_TEXT_FLAG;
}
@Override
public void setFilterBitmap(boolean flag) {
mFlags |= flag ? FILTER_BITMAP_FLAG : ~FILTER_BITMAP_FLAG;
}
@Override
public float getStrokeWidth() {
return mStrokeWidth;
}
@Override
public void setStrokeWidth(float width) {
mStrokeWidth = width;
}
@Override
public float getStrokeMiter() {
return mStrokeMiter;
}
@Override
public void setStrokeMiter(float miter) {
mStrokeMiter = miter;
}
@Override
public void setStrokeCap(android.graphics._Original_Paint.Cap cap) {
throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN");
}
public void setStrokeCap(Cap cap) {
mCap = cap;
}
public Cap getStrokeCap() {
return mCap;
}
@Override
public void setStrokeJoin(android.graphics._Original_Paint.Join join) {
throw new UnsupportedOperationException("CALL TO PARENT FORBIDDEN");
}
public void setStrokeJoin(Join join) {
mJoin = join;
}
public Join getStrokeJoin() {
return mJoin;
}
@Override
public boolean getFillPath(Path src, Path dst) {
return super.getFillPath(src, dst);
}
@Override
public PathEffect setPathEffect(PathEffect effect) {
mPathEffect = effect;
return effect;
}
@Override
public PathEffect getPathEffect() {
return super.getPathEffect();
}
@Override
public MaskFilter setMaskFilter(MaskFilter maskfilter) {
mMaskFilter = maskfilter;
return maskfilter;
}
@Override
public MaskFilter getMaskFilter() {
return super.getMaskFilter();
}
/** /**
* Return the paint's text size. * Return the paint's text size.
* *
@@ -512,6 +702,11 @@ public class Paint extends _Original_Paint {
updateFontObject(); updateFontObject();
} }
@Override
public float getFontSpacing() {
return super.getFontSpacing();
}
/** /**
* Return the distance above (negative) the baseline (ascent) based on the * Return the distance above (negative) the baseline (ascent) based on the
* current typeface and text size. * current typeface and text size.
@@ -689,6 +884,28 @@ public class Paint extends _Original_Paint {
measureForwards, maxWidth, measuredWidth); measureForwards, maxWidth, measuredWidth);
} }
/**
* Measure the text, stopping early if the measured width exceeds maxWidth.
* Return the number of chars that were measured, and if measuredWidth is
* not null, return in it the actual width measured.
*
* @param text The text to measure
* @param start The offset into text to begin measuring at
* @param end The end of the text slice to measure.
* @param measureForwards If true, measure forwards, starting at start.
* Otherwise, measure backwards, starting with end.
* @param maxWidth The maximum width to accumulate.
* @param measuredWidth Optional. If not null, returns the actual width
* measured.
* @return The number of chars that were measured. Will always be <=
* abs(end - start).
*/
@Override
public int breakText(CharSequence text, int start, int end, boolean measureForwards,
float maxWidth, float[] measuredWidth) {
return super.breakText(text, start, end, measureForwards, maxWidth, measuredWidth);
}
/** /**
* Return the advance widths for the characters in the string. * Return the advance widths for the characters in the string.
* *
@@ -763,6 +980,10 @@ public class Paint extends _Original_Paint {
return result; return result;
} }
@Override
public int getTextWidths(String text, float[] widths) {
return super.getTextWidths(text, widths);
}
/** /**
* Return the path (outline) for the specified text. * Return the path (outline) for the specified text.
@@ -861,4 +1082,8 @@ public class Paint extends _Original_Paint {
bounds.set(0, 0, (int)rect.getWidth(), (int)rect.getHeight()); bounds.set(0, 0, (int)rect.getWidth(), (int)rect.getHeight());
} }
} }
public static void finalizer(int foo) {
// pass
}
} }