am 78760b4a: Merge "A bunch more cleanups" into mnc-dev
* commit '78760b4ae47f5d59a541cbcbf1fca623bae4508a': A bunch more cleanups
This commit is contained in:
@@ -360,7 +360,7 @@ public class ThreadedRenderer extends HardwareRenderer {
|
||||
@Override
|
||||
boolean copyLayerInto(final HardwareLayer layer, final Bitmap bitmap) {
|
||||
return nCopyLayerInto(mNativeProxy,
|
||||
layer.getDeferredLayerUpdater(), bitmap.getSkBitmap());
|
||||
layer.getDeferredLayerUpdater(), bitmap);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -531,7 +531,7 @@ public class ThreadedRenderer extends HardwareRenderer {
|
||||
|
||||
private static native long nCreateTextureLayer(long nativeProxy);
|
||||
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 nCancelLayerUpdate(long nativeProxy, long layer);
|
||||
private static native void nDetachSurfaceTexture(long nativeProxy, long layer);
|
||||
|
||||
@@ -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)
|
||||
{
|
||||
const SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapHandle);
|
||||
SkShader* s = SkShader::CreateBitmapShader(*bitmap,
|
||||
SkBitmap bitmap;
|
||||
GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
|
||||
SkShader* s = SkShader::CreateBitmapShader(bitmap,
|
||||
(SkShader::TileMode)tileModeX,
|
||||
(SkShader::TileMode)tileModeY);
|
||||
|
||||
@@ -249,7 +250,7 @@ static JNINativeMethod gShaderMethods[] = {
|
||||
};
|
||||
|
||||
static JNINativeMethod gBitmapShaderMethods[] = {
|
||||
{ "nativeCreate", "(JII)J", (void*)BitmapShader_constructor },
|
||||
{ "nativeCreate", "(Landroid/graphics/Bitmap;II)J", (void*)BitmapShader_constructor },
|
||||
};
|
||||
|
||||
static JNINativeMethod gLinearGradientMethods[] = {
|
||||
|
||||
@@ -40,22 +40,21 @@ static void finalizer(JNIEnv* env, jobject clazz, jlong canvasHandle) {
|
||||
|
||||
// Native wrapper constructor used by Canvas(Bitmap)
|
||||
static jlong initRaster(JNIEnv* env, jobject, jobject jbitmap) {
|
||||
SkBitmap* bitmap = nullptr;
|
||||
SkBitmap bitmap;
|
||||
if (jbitmap != NULL) {
|
||||
bitmap = GraphicsJNI::getSkBitmapDeprecated(env, jbitmap);
|
||||
GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
|
||||
}
|
||||
return reinterpret_cast<jlong>(Canvas::create_canvas(
|
||||
bitmap ? *bitmap : SkBitmap()));
|
||||
return reinterpret_cast<jlong>(Canvas::create_canvas(bitmap));
|
||||
}
|
||||
|
||||
// Set the given bitmap as the new draw target (wrapped in a new SkCanvas),
|
||||
// optionally copying canvas matrix & clip state.
|
||||
static void setBitmap(JNIEnv* env, jobject, jlong canvasHandle, jobject jbitmap) {
|
||||
SkBitmap* bitmap = nullptr;
|
||||
SkBitmap bitmap;
|
||||
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) {
|
||||
|
||||
@@ -21,6 +21,7 @@
|
||||
#include "jni.h"
|
||||
#include <nativehelper/JNIHelp.h>
|
||||
#include "core_jni_helpers.h"
|
||||
#include <GraphicsJNI.h>
|
||||
#include <ScopedPrimitiveArray.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,
|
||||
jlong proxyPtr, jlong layerPtr, jlong bitmapPtr) {
|
||||
jlong proxyPtr, jlong layerPtr, jobject jbitmap) {
|
||||
RenderProxy* proxy = reinterpret_cast<RenderProxy*>(proxyPtr);
|
||||
DeferredLayerUpdater* layer = reinterpret_cast<DeferredLayerUpdater*>(layerPtr);
|
||||
SkBitmap* bitmap = reinterpret_cast<SkBitmap*>(bitmapPtr);
|
||||
SkBitmap bitmap;
|
||||
GraphicsJNI::getSkBitmap(env, jbitmap, &bitmap);
|
||||
return proxy->copyLayerInto(layer, bitmap);
|
||||
}
|
||||
|
||||
@@ -458,7 +460,7 @@ static JNINativeMethod gMethods[] = {
|
||||
{ "nInvokeFunctor", "(JZ)V", (void*) android_view_ThreadedRenderer_invokeFunctor },
|
||||
{ "nCreateTextureLayer", "(J)J", (void*) android_view_ThreadedRenderer_createTextureLayer },
|
||||
{ "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 },
|
||||
{ "nCancelLayerUpdate", "(JJ)V", (void*) android_view_ThreadedRenderer_cancelLayerUpdate },
|
||||
{ "nDetachSurfaceTexture", "(JJ)V", (void*) android_view_ThreadedRenderer_detachSurfaceTexture },
|
||||
|
||||
@@ -42,8 +42,7 @@ public class BitmapShader extends Shader {
|
||||
mBitmap = bitmap;
|
||||
mTileX = tileX;
|
||||
mTileY = tileY;
|
||||
final long b = bitmap.getSkBitmap();
|
||||
init(nativeCreate(b, tileX.nativeInt, tileY.nativeInt));
|
||||
init(nativeCreate(bitmap, tileX.nativeInt, tileY.nativeInt));
|
||||
}
|
||||
|
||||
/**
|
||||
@@ -56,6 +55,6 @@ public class BitmapShader extends Shader {
|
||||
return copy;
|
||||
}
|
||||
|
||||
private static native long nativeCreate(long native_bitmap, int shaderTileModeX,
|
||||
private static native long nativeCreate(Bitmap bitmap, int shaderTileModeX,
|
||||
int shaderTileModeY);
|
||||
}
|
||||
|
||||
@@ -81,10 +81,6 @@ public class Canvas {
|
||||
*/
|
||||
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
|
||||
// (see SkCanvas.cpp, SkDraw.cpp)
|
||||
private static final int MAXMIMUM_BITMAP_SIZE = 32766;
|
||||
|
||||
@@ -293,11 +293,11 @@ CREATE_BRIDGE3(copyLayerInto, CanvasContext* context, DeferredLayerUpdater* laye
|
||||
return (void*) success;
|
||||
}
|
||||
|
||||
bool RenderProxy::copyLayerInto(DeferredLayerUpdater* layer, SkBitmap* bitmap) {
|
||||
bool RenderProxy::copyLayerInto(DeferredLayerUpdater* layer, SkBitmap& bitmap) {
|
||||
SETUP_TASK(copyLayerInto);
|
||||
args->context = mContext;
|
||||
args->layer = layer;
|
||||
args->bitmap = bitmap;
|
||||
args->bitmap = &bitmap;
|
||||
return (bool) postAndWait(task);
|
||||
}
|
||||
|
||||
|
||||
@@ -83,7 +83,7 @@ public:
|
||||
|
||||
ANDROID_API DeferredLayerUpdater* createTextureLayer();
|
||||
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 cancelLayerUpdate(DeferredLayerUpdater* layer);
|
||||
ANDROID_API void detachSurfaceTexture(DeferredLayerUpdater* layer);
|
||||
|
||||
@@ -64,7 +64,8 @@ namespace android {
|
||||
static jboolean com_android_server_AssetAtlasService_upload(JNIEnv* env, jobject,
|
||||
jobject graphicBuffer, jobject bitmapHandle) {
|
||||
|
||||
SkBitmap& bitmap = *GraphicsJNI::getSkBitmapDeprecated(env, bitmapHandle);
|
||||
SkBitmap bitmap;
|
||||
GraphicsJNI::getSkBitmap(env, bitmapHandle, &bitmap);
|
||||
SkAutoLockPixels alp(bitmap);
|
||||
|
||||
// The goal of this method is to copy the bitmap into the GraphicBuffer
|
||||
|
||||
Reference in New Issue
Block a user