am 78760b4a: Merge "A bunch more cleanups" into mnc-dev

* commit '78760b4ae47f5d59a541cbcbf1fca623bae4508a':
  A bunch more cleanups
This commit is contained in:
John Reck
2015-05-01 14:51:48 +00:00
committed by Android Git Automerger
9 changed files with 25 additions and 27 deletions

View File

@@ -360,7 +360,7 @@ public class ThreadedRenderer extends HardwareRenderer {
@Override @Override
boolean copyLayerInto(final HardwareLayer layer, final Bitmap bitmap) { boolean copyLayerInto(final HardwareLayer layer, final Bitmap bitmap) {
return nCopyLayerInto(mNativeProxy, return nCopyLayerInto(mNativeProxy,
layer.getDeferredLayerUpdater(), bitmap.getSkBitmap()); layer.getDeferredLayerUpdater(), bitmap);
} }
@Override @Override
@@ -531,7 +531,7 @@ public class ThreadedRenderer extends HardwareRenderer {
private static native long nCreateTextureLayer(long nativeProxy); private static native long nCreateTextureLayer(long nativeProxy);
private static native void nBuildLayer(long nativeProxy, long node); private static native void nBuildLayer(long nativeProxy, long node);
private static native boolean nCopyLayerInto(long nativeProxy, long layer, long bitmap); private static native boolean nCopyLayerInto(long nativeProxy, long layer, Bitmap bitmap);
private static native void nPushLayerUpdate(long nativeProxy, long layer); private static native void nPushLayerUpdate(long nativeProxy, long layer);
private static native void nCancelLayerUpdate(long nativeProxy, long layer); private static native void nCancelLayerUpdate(long nativeProxy, long layer);
private static native void nDetachSurfaceTexture(long nativeProxy, long layer); private static native void nDetachSurfaceTexture(long nativeProxy, long layer);

View File

@@ -80,11 +80,12 @@ static jlong Shader_setLocalMatrix(JNIEnv* env, jobject o, jlong shaderHandle, j
/////////////////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////////////////
static jlong BitmapShader_constructor(JNIEnv* env, jobject o, jlong bitmapHandle, static jlong BitmapShader_constructor(JNIEnv* env, jobject o, jobject jbitmap,
jint tileModeX, jint tileModeY) jint tileModeX, jint tileModeY)
{ {
const SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle); SkBitmap bitmap;
SkShader* s = SkShader::CreateBitmapShader(*bitmap, GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
SkShader* s = SkShader::CreateBitmapShader(bitmap,
(SkShader::TileMode)tileModeX, (SkShader::TileMode)tileModeX,
(SkShader::TileMode)tileModeY); (SkShader::TileMode)tileModeY);
@@ -249,7 +250,7 @@ static JNINativeMethod gShaderMethods[] = {
}; };
static JNINativeMethod gBitmapShaderMethods[] = { static JNINativeMethod gBitmapShaderMethods[] = {
{ "nativeCreate", "(JII)J", (void*)BitmapShader_constructor }, { "nativeCreate", "(Landroid/graphics/Bitmap;II)J", (void*)BitmapShader_constructor },
}; };
static JNINativeMethod gLinearGradientMethods[] = { static JNINativeMethod gLinearGradientMethods[] = {

View File

@@ -40,22 +40,21 @@ static void finalizer(JNIEnv* env, jobject clazz, jlong canvasHandle) {
// Native wrapper constructor used by Canvas(Bitmap) // Native wrapper constructor used by Canvas(Bitmap)
static jlong initRaster(JNIEnv* env, jobject, jobject jbitmap) { static jlong initRaster(JNIEnv* env, jobject, jobject jbitmap) {
SkBitmap* bitmap = nullptr; SkBitmap bitmap;
if (jbitmap != NULL) { if (jbitmap != NULL) {
bitmap = GraphicsJNI::getSkBitmapDeprecated(env, jbitmap); GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
} }
return reinterpret_cast<jlong>(Canvas::create_canvas( return reinterpret_cast<jlong>(Canvas::create_canvas(bitmap));
bitmap ? *bitmap : SkBitmap()));
} }
// Set the given bitmap as the new draw target (wrapped in a new SkCanvas), // Set the given bitmap as the new draw target (wrapped in a new SkCanvas),
// optionally copying canvas matrix & clip state. // optionally copying canvas matrix & clip state.
static void setBitmap(JNIEnv* env, jobject, jlong canvasHandle, jobject jbitmap) { static void setBitmap(JNIEnv* env, jobject, jlong canvasHandle, jobject jbitmap) {
SkBitmap* bitmap = nullptr; SkBitmap bitmap;
if (jbitmap != NULL) { if (jbitmap != NULL) {
bitmap = GraphicsJNI::getSkBitmapDeprecated(env, jbitmap); GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
} }
get_canvas(canvasHandle)->setBitmap(bitmap ? *bitmap : SkBitmap()); get_canvas(canvasHandle)->setBitmap(bitmap);
} }
static jboolean isOpaque(JNIEnv*, jobject, jlong canvasHandle) { static jboolean isOpaque(JNIEnv*, jobject, jlong canvasHandle) {

View File

@@ -21,6 +21,7 @@
#include "jni.h" #include "jni.h"
#include <nativehelper/JNIHelp.h> #include <nativehelper/JNIHelp.h>
#include "core_jni_helpers.h" #include "core_jni_helpers.h"
#include <GraphicsJNI.h>
#include <ScopedPrimitiveArray.h> #include <ScopedPrimitiveArray.h>
#include <EGL/egl.h> #include <EGL/egl.h>
@@ -347,10 +348,11 @@ static void android_view_ThreadedRenderer_buildLayer(JNIEnv* env, jobject clazz,
} }
static jboolean android_view_ThreadedRenderer_copyLayerInto(JNIEnv* env, jobject clazz, static jboolean android_view_ThreadedRenderer_copyLayerInto(JNIEnv* env, jobject clazz,
jlong proxyPtr, jlong layerPtr, jlong bitmapPtr) { jlong proxyPtr, jlong layerPtr, jobject jbitmap) {
RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr); RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr); DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr);
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapPtr); SkBitmap bitmap;
GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
return proxy->copyLayerInto(layer, bitmap); return proxy->copyLayerInto(layer, bitmap);
} }
@@ -458,7 +460,7 @@ static JNINativeMethod gMethods[] = {
{ "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor }, { "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor },
{ "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer }, { "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer },
{ "nBuildLayer", "(JJ)V", (void*) android_view_ThreadedRenderer_buildLayer }, { "nBuildLayer", "(JJ)V", (void*) android_view_ThreadedRenderer_buildLayer },
{ "nCopyLayerInto", "(JJJ)Z", (void*) android_view_ThreadedRenderer_copyLayerInto }, { "nCopyLayerInto", "(JJLandroid/graphics/Bitmap;)Z", (void*) android_view_ThreadedRenderer_copyLayerInto },
{ "nPushLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_pushLayerUpdate }, { "nPushLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_pushLayerUpdate },
{ "nCancelLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_cancelLayerUpdate }, { "nCancelLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_cancelLayerUpdate },
{ "nDetachSurfaceTexture", "(JJ)V", (void*) android_view_ThreadedRenderer_detachSurfaceTexture }, { "nDetachSurfaceTexture", "(JJ)V", (void*) android_view_ThreadedRenderer_detachSurfaceTexture },

View File

@@ -42,8 +42,7 @@ public class BitmapShader extends Shader {
mBitmap = bitmap; mBitmap = bitmap;
mTileX = tileX; mTileX = tileX;
mTileY = tileY; mTileY = tileY;
final long b = bitmap.getSkBitmap(); init(nativeCreate(bitmap, tileX.nativeInt, tileY.nativeInt));
init(nativeCreate(b, tileX.nativeInt, tileY.nativeInt));
} }
/** /**
@@ -56,6 +55,6 @@ public class BitmapShader extends Shader {
return copy; return copy;
} }
private static native long nativeCreate(long native_bitmap, int shaderTileModeX, private static native long nativeCreate(Bitmap bitmap, int shaderTileModeX,
int shaderTileModeY); int shaderTileModeY);
} }

View File

@@ -81,10 +81,6 @@ public class Canvas {
*/ */
protected int mScreenDensity = Bitmap.DENSITY_NONE; protected int mScreenDensity = Bitmap.DENSITY_NONE;
// Used by native code
@SuppressWarnings("UnusedDeclaration")
private int mSurfaceFormat;
// Maximum bitmap size as defined in Skia's native code // Maximum bitmap size as defined in Skia's native code
// (see SkCanvas.cpp, SkDraw.cpp) // (see SkCanvas.cpp, SkDraw.cpp)
private static final int MAXMIMUM_BITMAP_SIZE = 32766; private static final int MAXMIMUM_BITMAP_SIZE = 32766;

View File

@@ -293,11 +293,11 @@ CREATE_BRIDGE3(copyLayerInto, CanvasContext* context, DeferredLayerUpdater* laye
return (void*) success; return (void*) success;
} }
bool RenderProxy::copyLayerInto(DeferredLayerUpdater* layer, SkBitmap* bitmap) { bool RenderProxy::copyLayerInto(DeferredLayerUpdater* layer, SkBitmap& bitmap) {
SETUP_TASK(copyLayerInto); SETUP_TASK(copyLayerInto);
args->context = mContext; args->context = mContext;
args->layer = layer; args->layer = layer;
args->bitmap = bitmap; args->bitmap = &bitmap;
return (bool) postAndWait(task); return (bool) postAndWait(task);
} }

View File

@@ -83,7 +83,7 @@ public:
ANDROID_API DeferredLayerUpdater* createTextureLayer(); ANDROID_API DeferredLayerUpdater* createTextureLayer();
ANDROID_API void buildLayer(RenderNode* node); ANDROID_API void buildLayer(RenderNode* node);
ANDROID_API bool copyLayerInto(DeferredLayerUpdater* layer, SkBitmap* bitmap); ANDROID_API bool copyLayerInto(DeferredLayerUpdater* layer, SkBitmap& bitmap);
ANDROID_API void pushLayerUpdate(DeferredLayerUpdater* layer); ANDROID_API void pushLayerUpdate(DeferredLayerUpdater* layer);
ANDROID_API void cancelLayerUpdate(DeferredLayerUpdater* layer); ANDROID_API void cancelLayerUpdate(DeferredLayerUpdater* layer);
ANDROID_API void detachSurfaceTexture(DeferredLayerUpdater* layer); ANDROID_API void detachSurfaceTexture(DeferredLayerUpdater* layer);

View File

@@ -64,7 +64,8 @@ namespace android {
static jboolean com_android_server_AssetAtlasService_upload(JNIEnv* env, jobject, static jboolean com_android_server_AssetAtlasService_upload(JNIEnv* env, jobject,
jobject graphicBuffer, jobject bitmapHandle) { jobject graphicBuffer, jobject bitmapHandle) {
SkBitmap& bitmap = *GraphicsJNI::getSkBitmapDeprecated(env, bitmapHandle); SkBitmap bitmap;
GraphicsJNI::getSkBitmap(env, bitmapHandle, &bitmap);
SkAutoLockPixels alp(bitmap); SkAutoLockPixels alp(bitmap);
// The goal of this method is to copy the bitmap into the GraphicBuffer // The goal of this method is to copy the bitmap into the GraphicBuffer