Loading api/current.txt +48 −5 Original line number Diff line number Diff line Loading @@ -13572,6 +13572,46 @@ package android.graphics { ctor public BitmapShader(android.graphics.Bitmap, android.graphics.Shader.TileMode, android.graphics.Shader.TileMode); } public final class BlendMode extends java.lang.Enum { method public static android.graphics.BlendMode valueOf(java.lang.String); method public static final android.graphics.BlendMode[] values(); enum_constant public static final android.graphics.BlendMode CLEAR; enum_constant public static final android.graphics.BlendMode COLOR; enum_constant public static final android.graphics.BlendMode COLOR_BURN; enum_constant public static final android.graphics.BlendMode COLOR_DODGE; enum_constant public static final android.graphics.BlendMode DARKEN; enum_constant public static final android.graphics.BlendMode DIFFERENCE; enum_constant public static final android.graphics.BlendMode DST; enum_constant public static final android.graphics.BlendMode DST_ATOP; enum_constant public static final android.graphics.BlendMode DST_IN; enum_constant public static final android.graphics.BlendMode DST_OUT; enum_constant public static final android.graphics.BlendMode DST_OVER; enum_constant public static final android.graphics.BlendMode EXCLUSION; enum_constant public static final android.graphics.BlendMode HARD_LIGHT; enum_constant public static final android.graphics.BlendMode HUE; enum_constant public static final android.graphics.BlendMode LIGHTEN; enum_constant public static final android.graphics.BlendMode LUMINOSITY; enum_constant public static final android.graphics.BlendMode MODULATE; enum_constant public static final android.graphics.BlendMode MULTIPLY; enum_constant public static final android.graphics.BlendMode OVERLAY; enum_constant public static final android.graphics.BlendMode PLUS; enum_constant public static final android.graphics.BlendMode SATURATION; enum_constant public static final android.graphics.BlendMode SCREEN; enum_constant public static final android.graphics.BlendMode SOFT_LIGHT; enum_constant public static final android.graphics.BlendMode SRC; enum_constant public static final android.graphics.BlendMode SRC_ATOP; enum_constant public static final android.graphics.BlendMode SRC_IN; enum_constant public static final android.graphics.BlendMode SRC_OUT; enum_constant public static final android.graphics.BlendMode SRC_OVER; enum_constant public static final android.graphics.BlendMode XOR; } public final class BlendModeColorFilter extends android.graphics.ColorFilter { ctor public BlendModeColorFilter(int, android.graphics.BlendMode); method public int getColor(); method public android.graphics.BlendMode getMode(); } public class BlurMaskFilter extends android.graphics.MaskFilter { ctor public BlurMaskFilter(float, android.graphics.BlurMaskFilter.Blur); } Loading Loading @@ -13634,7 +13674,8 @@ package android.graphics { method public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint); method public void drawCircle(float, float, float, android.graphics.Paint); method public void drawColor(int); method public void drawColor(int, android.graphics.PorterDuff.Mode); method public deprecated void drawColor(int, android.graphics.PorterDuff.Mode); method public void drawColor(int, android.graphics.BlendMode); method public void drawDoubleRoundRect(android.graphics.RectF, float, float, android.graphics.RectF, float, float, android.graphics.Paint); method public void drawDoubleRoundRect(android.graphics.RectF, float[], android.graphics.RectF, float[], android.graphics.Paint); method public void drawLine(float, float, float, float, android.graphics.Paint); Loading Loading @@ -14256,6 +14297,7 @@ package android.graphics { method public float descent(); method public boolean equalsForTextMeasurement(android.graphics.Paint); method public int getAlpha(); method public android.graphics.BlendMode getBlendMode(); method public int getColor(); method public android.graphics.ColorFilter getColorFilter(); method public boolean getFillPath(android.graphics.Path, android.graphics.Path); Loading Loading @@ -14310,7 +14352,7 @@ package android.graphics { method public float getUnderlinePosition(); method public float getUnderlineThickness(); method public float getWordSpacing(); method public android.graphics.Xfermode getXfermode(); method public deprecated android.graphics.Xfermode getXfermode(); method public boolean hasGlyph(java.lang.String); method public final boolean isAntiAlias(); method public final boolean isDither(); Loading @@ -14330,6 +14372,7 @@ package android.graphics { method public void setARGB(int, int, int, int); method public void setAlpha(int); method public void setAntiAlias(boolean); method public void setBlendMode(android.graphics.BlendMode); method public void setColor(int); method public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter); method public void setDither(boolean); Loading Loading @@ -14363,7 +14406,7 @@ package android.graphics { method public android.graphics.Typeface setTypeface(android.graphics.Typeface); method public void setUnderlineText(boolean); method public void setWordSpacing(float); method public android.graphics.Xfermode setXfermode(android.graphics.Xfermode); method public deprecated android.graphics.Xfermode setXfermode(android.graphics.Xfermode); field public static final int ANTI_ALIAS_FLAG = 1; // 0x1 field public static final int CURSOR_AFTER = 0; // 0x0 field public static final int CURSOR_AT = 4; // 0x4 Loading Loading @@ -14645,7 +14688,7 @@ package android.graphics { enum_constant public static final android.graphics.PorterDuff.Mode XOR; } public class PorterDuffColorFilter extends android.graphics.ColorFilter { public deprecated class PorterDuffColorFilter extends android.graphics.ColorFilter { ctor public PorterDuffColorFilter(int, android.graphics.PorterDuff.Mode); } Loading Loading @@ -15201,7 +15244,7 @@ package android.graphics.drawable { method public final void setCallback(android.graphics.drawable.Drawable.Callback); method public void setChangingConfigurations(int); method public abstract void setColorFilter(android.graphics.ColorFilter); method public void setColorFilter(int, android.graphics.PorterDuff.Mode); method public deprecated void setColorFilter(int, android.graphics.PorterDuff.Mode); method public deprecated void setDither(boolean); method public void setFilterBitmap(boolean); method public void setHotspot(float, float); core/jni/android/graphics/ColorFilter.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ public: return static_cast<jlong>(reinterpret_cast<uintptr_t>(&SafeUnref)); } static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor, jint modeHandle) { static jlong CreateBlendModeFilter(JNIEnv* env, jobject, jint srcColor, jint modeHandle) { SkBlendMode mode = static_cast<SkBlendMode>(modeHandle); return reinterpret_cast<jlong>(SkColorFilter::MakeModeFilter(srcColor, mode).release()); } Loading @@ -61,8 +61,8 @@ static const JNINativeMethod colorfilter_methods[] = { {"nativeGetFinalizer", "()J", (void*) SkColorFilterGlue::GetNativeFinalizer } }; static const JNINativeMethod porterduff_methods[] = { { "native_CreatePorterDuffFilter", "(II)J", (void*) SkColorFilterGlue::CreatePorterDuffFilter }, static const JNINativeMethod blendmode_methods[] = { { "native_CreateBlendModeFilter", "(II)J", (void*) SkColorFilterGlue::CreateBlendModeFilter }, }; static const JNINativeMethod lighting_methods[] = { Loading @@ -76,8 +76,10 @@ static const JNINativeMethod colormatrix_methods[] = { int register_android_graphics_ColorFilter(JNIEnv* env) { android::RegisterMethodsOrDie(env, "android/graphics/ColorFilter", colorfilter_methods, NELEM(colorfilter_methods)); android::RegisterMethodsOrDie(env, "android/graphics/PorterDuffColorFilter", porterduff_methods, NELEM(porterduff_methods)); android::RegisterMethodsOrDie(env, "android/graphics/PorterDuffColorFilter", blendmode_methods, NELEM(blendmode_methods)); android::RegisterMethodsOrDie(env, "android/graphics/BlendModeColorFilter", blendmode_methods, NELEM(blendmode_methods)); android::RegisterMethodsOrDie(env, "android/graphics/LightingColorFilter", lighting_methods, NELEM(lighting_methods)); android::RegisterMethodsOrDie(env, "android/graphics/ColorMatrixColorFilter", Loading core/jni/android/graphics/Paint.cpp +14 −3 Original line number Diff line number Diff line Loading @@ -845,12 +845,23 @@ namespace PaintGlue { static_assert(9 == static_cast<int>(SkBlendMode::kSrcATop), "xfermode_mismatch"); static_assert(10 == static_cast<int>(SkBlendMode::kDstATop), "xfermode_mismatch"); static_assert(11 == static_cast<int>(SkBlendMode::kXor), "xfermode_mismatch"); static_assert(16 == static_cast<int>(SkBlendMode::kDarken), "xfermode_mismatch"); static_assert(17 == static_cast<int>(SkBlendMode::kLighten), "xfermode_mismatch"); static_assert(12 == static_cast<int>(SkBlendMode::kPlus), "xfermode_mismatch"); static_assert(13 == static_cast<int>(SkBlendMode::kModulate), "xfermode_mismatch"); static_assert(14 == static_cast<int>(SkBlendMode::kScreen), "xfermode_mismatch"); static_assert(12 == static_cast<int>(SkBlendMode::kPlus), "xfermode_mismatch"); static_assert(15 == static_cast<int>(SkBlendMode::kOverlay), "xfermode_mismatch"); static_assert(16 == static_cast<int>(SkBlendMode::kDarken), "xfermode_mismatch"); static_assert(17 == static_cast<int>(SkBlendMode::kLighten), "xfermode_mismatch"); static_assert(18 == static_cast<int>(SkBlendMode::kColorDodge), "xfermode mismatch"); static_assert(19 == static_cast<int>(SkBlendMode::kColorBurn), "xfermode mismatch"); static_assert(20 == static_cast<int>(SkBlendMode::kHardLight), "xfermode mismatch"); static_assert(21 == static_cast<int>(SkBlendMode::kSoftLight), "xfermode mismatch"); static_assert(22 == static_cast<int>(SkBlendMode::kDifference), "xfermode mismatch"); static_assert(23 == static_cast<int>(SkBlendMode::kExclusion), "xfermode mismatch"); static_assert(24 == static_cast<int>(SkBlendMode::kMultiply), "xfermode mismatch"); static_assert(25 == static_cast<int>(SkBlendMode::kHue), "xfermode mismatch"); static_assert(26 == static_cast<int>(SkBlendMode::kSaturation), "xfermode mismatch"); static_assert(27 == static_cast<int>(SkBlendMode::kColor), "xfermode mismatch"); static_assert(28 == static_cast<int>(SkBlendMode::kLuminosity), "xfermode mismatch"); SkBlendMode mode = static_cast<SkBlendMode>(xfermodeHandle); Paint* paint = reinterpret_cast<Paint*>(paintHandle); Loading docs/html/reference/images/graphics/blendmode_CLEAR.png 0 → 100644 +363 B Loading image diff... docs/html/reference/images/graphics/blendmode_COLOR.png 0 → 100644 +3.75 KiB Loading image diff... Loading
api/current.txt +48 −5 Original line number Diff line number Diff line Loading @@ -13572,6 +13572,46 @@ package android.graphics { ctor public BitmapShader(android.graphics.Bitmap, android.graphics.Shader.TileMode, android.graphics.Shader.TileMode); } public final class BlendMode extends java.lang.Enum { method public static android.graphics.BlendMode valueOf(java.lang.String); method public static final android.graphics.BlendMode[] values(); enum_constant public static final android.graphics.BlendMode CLEAR; enum_constant public static final android.graphics.BlendMode COLOR; enum_constant public static final android.graphics.BlendMode COLOR_BURN; enum_constant public static final android.graphics.BlendMode COLOR_DODGE; enum_constant public static final android.graphics.BlendMode DARKEN; enum_constant public static final android.graphics.BlendMode DIFFERENCE; enum_constant public static final android.graphics.BlendMode DST; enum_constant public static final android.graphics.BlendMode DST_ATOP; enum_constant public static final android.graphics.BlendMode DST_IN; enum_constant public static final android.graphics.BlendMode DST_OUT; enum_constant public static final android.graphics.BlendMode DST_OVER; enum_constant public static final android.graphics.BlendMode EXCLUSION; enum_constant public static final android.graphics.BlendMode HARD_LIGHT; enum_constant public static final android.graphics.BlendMode HUE; enum_constant public static final android.graphics.BlendMode LIGHTEN; enum_constant public static final android.graphics.BlendMode LUMINOSITY; enum_constant public static final android.graphics.BlendMode MODULATE; enum_constant public static final android.graphics.BlendMode MULTIPLY; enum_constant public static final android.graphics.BlendMode OVERLAY; enum_constant public static final android.graphics.BlendMode PLUS; enum_constant public static final android.graphics.BlendMode SATURATION; enum_constant public static final android.graphics.BlendMode SCREEN; enum_constant public static final android.graphics.BlendMode SOFT_LIGHT; enum_constant public static final android.graphics.BlendMode SRC; enum_constant public static final android.graphics.BlendMode SRC_ATOP; enum_constant public static final android.graphics.BlendMode SRC_IN; enum_constant public static final android.graphics.BlendMode SRC_OUT; enum_constant public static final android.graphics.BlendMode SRC_OVER; enum_constant public static final android.graphics.BlendMode XOR; } public final class BlendModeColorFilter extends android.graphics.ColorFilter { ctor public BlendModeColorFilter(int, android.graphics.BlendMode); method public int getColor(); method public android.graphics.BlendMode getMode(); } public class BlurMaskFilter extends android.graphics.MaskFilter { ctor public BlurMaskFilter(float, android.graphics.BlurMaskFilter.Blur); } Loading Loading @@ -13634,7 +13674,8 @@ package android.graphics { method public void drawBitmapMesh(android.graphics.Bitmap, int, int, float[], int, int[], int, android.graphics.Paint); method public void drawCircle(float, float, float, android.graphics.Paint); method public void drawColor(int); method public void drawColor(int, android.graphics.PorterDuff.Mode); method public deprecated void drawColor(int, android.graphics.PorterDuff.Mode); method public void drawColor(int, android.graphics.BlendMode); method public void drawDoubleRoundRect(android.graphics.RectF, float, float, android.graphics.RectF, float, float, android.graphics.Paint); method public void drawDoubleRoundRect(android.graphics.RectF, float[], android.graphics.RectF, float[], android.graphics.Paint); method public void drawLine(float, float, float, float, android.graphics.Paint); Loading Loading @@ -14256,6 +14297,7 @@ package android.graphics { method public float descent(); method public boolean equalsForTextMeasurement(android.graphics.Paint); method public int getAlpha(); method public android.graphics.BlendMode getBlendMode(); method public int getColor(); method public android.graphics.ColorFilter getColorFilter(); method public boolean getFillPath(android.graphics.Path, android.graphics.Path); Loading Loading @@ -14310,7 +14352,7 @@ package android.graphics { method public float getUnderlinePosition(); method public float getUnderlineThickness(); method public float getWordSpacing(); method public android.graphics.Xfermode getXfermode(); method public deprecated android.graphics.Xfermode getXfermode(); method public boolean hasGlyph(java.lang.String); method public final boolean isAntiAlias(); method public final boolean isDither(); Loading @@ -14330,6 +14372,7 @@ package android.graphics { method public void setARGB(int, int, int, int); method public void setAlpha(int); method public void setAntiAlias(boolean); method public void setBlendMode(android.graphics.BlendMode); method public void setColor(int); method public android.graphics.ColorFilter setColorFilter(android.graphics.ColorFilter); method public void setDither(boolean); Loading Loading @@ -14363,7 +14406,7 @@ package android.graphics { method public android.graphics.Typeface setTypeface(android.graphics.Typeface); method public void setUnderlineText(boolean); method public void setWordSpacing(float); method public android.graphics.Xfermode setXfermode(android.graphics.Xfermode); method public deprecated android.graphics.Xfermode setXfermode(android.graphics.Xfermode); field public static final int ANTI_ALIAS_FLAG = 1; // 0x1 field public static final int CURSOR_AFTER = 0; // 0x0 field public static final int CURSOR_AT = 4; // 0x4 Loading Loading @@ -14645,7 +14688,7 @@ package android.graphics { enum_constant public static final android.graphics.PorterDuff.Mode XOR; } public class PorterDuffColorFilter extends android.graphics.ColorFilter { public deprecated class PorterDuffColorFilter extends android.graphics.ColorFilter { ctor public PorterDuffColorFilter(int, android.graphics.PorterDuff.Mode); } Loading Loading @@ -15201,7 +15244,7 @@ package android.graphics.drawable { method public final void setCallback(android.graphics.drawable.Drawable.Callback); method public void setChangingConfigurations(int); method public abstract void setColorFilter(android.graphics.ColorFilter); method public void setColorFilter(int, android.graphics.PorterDuff.Mode); method public deprecated void setColorFilter(int, android.graphics.PorterDuff.Mode); method public deprecated void setDither(boolean); method public void setFilterBitmap(boolean); method public void setHotspot(float, float);
core/jni/android/graphics/ColorFilter.cpp +7 −5 Original line number Diff line number Diff line Loading @@ -36,7 +36,7 @@ public: return static_cast<jlong>(reinterpret_cast<uintptr_t>(&SafeUnref)); } static jlong CreatePorterDuffFilter(JNIEnv* env, jobject, jint srcColor, jint modeHandle) { static jlong CreateBlendModeFilter(JNIEnv* env, jobject, jint srcColor, jint modeHandle) { SkBlendMode mode = static_cast<SkBlendMode>(modeHandle); return reinterpret_cast<jlong>(SkColorFilter::MakeModeFilter(srcColor, mode).release()); } Loading @@ -61,8 +61,8 @@ static const JNINativeMethod colorfilter_methods[] = { {"nativeGetFinalizer", "()J", (void*) SkColorFilterGlue::GetNativeFinalizer } }; static const JNINativeMethod porterduff_methods[] = { { "native_CreatePorterDuffFilter", "(II)J", (void*) SkColorFilterGlue::CreatePorterDuffFilter }, static const JNINativeMethod blendmode_methods[] = { { "native_CreateBlendModeFilter", "(II)J", (void*) SkColorFilterGlue::CreateBlendModeFilter }, }; static const JNINativeMethod lighting_methods[] = { Loading @@ -76,8 +76,10 @@ static const JNINativeMethod colormatrix_methods[] = { int register_android_graphics_ColorFilter(JNIEnv* env) { android::RegisterMethodsOrDie(env, "android/graphics/ColorFilter", colorfilter_methods, NELEM(colorfilter_methods)); android::RegisterMethodsOrDie(env, "android/graphics/PorterDuffColorFilter", porterduff_methods, NELEM(porterduff_methods)); android::RegisterMethodsOrDie(env, "android/graphics/PorterDuffColorFilter", blendmode_methods, NELEM(blendmode_methods)); android::RegisterMethodsOrDie(env, "android/graphics/BlendModeColorFilter", blendmode_methods, NELEM(blendmode_methods)); android::RegisterMethodsOrDie(env, "android/graphics/LightingColorFilter", lighting_methods, NELEM(lighting_methods)); android::RegisterMethodsOrDie(env, "android/graphics/ColorMatrixColorFilter", Loading
core/jni/android/graphics/Paint.cpp +14 −3 Original line number Diff line number Diff line Loading @@ -845,12 +845,23 @@ namespace PaintGlue { static_assert(9 == static_cast<int>(SkBlendMode::kSrcATop), "xfermode_mismatch"); static_assert(10 == static_cast<int>(SkBlendMode::kDstATop), "xfermode_mismatch"); static_assert(11 == static_cast<int>(SkBlendMode::kXor), "xfermode_mismatch"); static_assert(16 == static_cast<int>(SkBlendMode::kDarken), "xfermode_mismatch"); static_assert(17 == static_cast<int>(SkBlendMode::kLighten), "xfermode_mismatch"); static_assert(12 == static_cast<int>(SkBlendMode::kPlus), "xfermode_mismatch"); static_assert(13 == static_cast<int>(SkBlendMode::kModulate), "xfermode_mismatch"); static_assert(14 == static_cast<int>(SkBlendMode::kScreen), "xfermode_mismatch"); static_assert(12 == static_cast<int>(SkBlendMode::kPlus), "xfermode_mismatch"); static_assert(15 == static_cast<int>(SkBlendMode::kOverlay), "xfermode_mismatch"); static_assert(16 == static_cast<int>(SkBlendMode::kDarken), "xfermode_mismatch"); static_assert(17 == static_cast<int>(SkBlendMode::kLighten), "xfermode_mismatch"); static_assert(18 == static_cast<int>(SkBlendMode::kColorDodge), "xfermode mismatch"); static_assert(19 == static_cast<int>(SkBlendMode::kColorBurn), "xfermode mismatch"); static_assert(20 == static_cast<int>(SkBlendMode::kHardLight), "xfermode mismatch"); static_assert(21 == static_cast<int>(SkBlendMode::kSoftLight), "xfermode mismatch"); static_assert(22 == static_cast<int>(SkBlendMode::kDifference), "xfermode mismatch"); static_assert(23 == static_cast<int>(SkBlendMode::kExclusion), "xfermode mismatch"); static_assert(24 == static_cast<int>(SkBlendMode::kMultiply), "xfermode mismatch"); static_assert(25 == static_cast<int>(SkBlendMode::kHue), "xfermode mismatch"); static_assert(26 == static_cast<int>(SkBlendMode::kSaturation), "xfermode mismatch"); static_assert(27 == static_cast<int>(SkBlendMode::kColor), "xfermode mismatch"); static_assert(28 == static_cast<int>(SkBlendMode::kLuminosity), "xfermode mismatch"); SkBlendMode mode = static_cast<SkBlendMode>(xfermodeHandle); Paint* paint = reinterpret_cast<Paint*>(paintHandle); Loading