More layout Canvas/Paint implementation.
Change-Id: Ib3da4a4b2259dc7c53b24444b5c0b78cee15d387
diff --git a/bridge/src/android/graphics/Paint_Delegate.java b/bridge/src/android/graphics/Paint_Delegate.java
index f2602b5..6074bd3 100644
--- a/bridge/src/android/graphics/Paint_Delegate.java
+++ b/bridge/src/android/graphics/Paint_Delegate.java
@@ -77,6 +77,12 @@
private float mTextScaleX;
private float mTextSkewX;
+ private int mXfermode;
+ private int mColorFilter;
+ private int mShader;
+ private int mPathEffect;
+ private int mMaskFilter;
+
// ---- Public Helper methods ----
@@ -92,6 +98,10 @@
return mFonts;
}
+ public boolean isAntiAliased() {
+ return (mFlags & Paint.ANTI_ALIAS_FLAG) != 0;
+ }
+
public boolean isFilterBitmap() {
return (mFlags & Paint.FILTER_BITMAP_FLAG) != 0;
}
@@ -574,28 +584,58 @@
}
/*package*/ static int native_setShader(int native_object, int shader) {
- // FIXME
- throw new UnsupportedOperationException();
+ // get the delegate from the native int.
+ Paint_Delegate delegate = sManager.getDelegate(native_object);
+ if (delegate == null) {
+ assert false;
+ return shader;
+ }
+
+ return delegate.mShader = shader;
}
/*package*/ static int native_setColorFilter(int native_object, int filter) {
- // FIXME
- throw new UnsupportedOperationException();
+ // get the delegate from the native int.
+ Paint_Delegate delegate = sManager.getDelegate(native_object);
+ if (delegate == null) {
+ assert false;
+ return filter;
+ }
+
+ return delegate.mColorFilter = filter;
}
/*package*/ static int native_setXfermode(int native_object, int xfermode) {
- // FIXME
- throw new UnsupportedOperationException();
+ // get the delegate from the native int.
+ Paint_Delegate delegate = sManager.getDelegate(native_object);
+ if (delegate == null) {
+ assert false;
+ return xfermode;
+ }
+
+ return delegate.mXfermode = xfermode;
}
/*package*/ static int native_setPathEffect(int native_object, int effect) {
- // FIXME
- throw new UnsupportedOperationException();
+ // get the delegate from the native int.
+ Paint_Delegate delegate = sManager.getDelegate(native_object);
+ if (delegate == null) {
+ assert false;
+ return effect;
+ }
+
+ return delegate.mPathEffect = effect;
}
/*package*/ static int native_setMaskFilter(int native_object, int maskfilter) {
- // FIXME
- throw new UnsupportedOperationException();
+ // get the delegate from the native int.
+ Paint_Delegate delegate = sManager.getDelegate(native_object);
+ if (delegate == null) {
+ assert false;
+ return maskfilter;
+ }
+
+ return delegate.mMaskFilter = maskfilter;
}
/*package*/ static int native_setTypeface(int native_object, int typeface) {
@@ -778,6 +818,11 @@
mTextSize = paint.mTextSize;
mTextScaleX = paint.mTextScaleX;
mTextSkewX = paint.mTextSkewX;
+ mXfermode = paint.mXfermode;
+ mColorFilter = paint.mColorFilter;
+ mShader = paint.mShader;
+ mPathEffect = paint.mPathEffect;
+ mMaskFilter = paint.mMaskFilter;
}
private void reset() {
@@ -793,6 +838,11 @@
mTextSize = 20.f;
mTextScaleX = 1.f;
mTextSkewX = 0.f;
+ mXfermode = 0;
+ mColorFilter = 0;
+ mShader = 0;
+ mPathEffect = 0;
+ mMaskFilter = 0;
}
/**
@@ -877,7 +927,6 @@
}
-
private static void setFlag(Paint thisPaint, int flagMask, boolean flagValue) {
// get the delegate from the native int.
Paint_Delegate delegate = sManager.getDelegate(thisPaint.mNativePaint);