diff options
author | 2010-07-09 10:36:05 -0700 | |
---|---|---|
committer | 2010-07-09 10:36:05 -0700 | |
commit | dbd77cd444f89d94ec5333223c1bc17dbe0c90cd (patch) | |
tree | 9e31d6779fbec007790029fb834adb92c8551a68 | |
parent | 831e550b49f0edb111b035245353c1ea323ab7c9 (diff) |
Remove support for density compatibility in the hardware renderer.
Change-Id: I535e919986e5ccfb344ede8516ccd84c02642823
-rw-r--r-- | core/java/android/hardware/SensorEvent.java | 4 | ||||
-rw-r--r-- | core/java/android/view/GLES20Canvas.java | 31 | ||||
-rw-r--r-- | core/java/android/view/HardwareRenderer.java | 23 | ||||
-rw-r--r-- | core/java/android/view/ViewRoot.java | 2 | ||||
-rw-r--r-- | core/jni/android_view_GLES20Canvas.cpp | 113 |
5 files changed, 60 insertions, 113 deletions
diff --git a/core/java/android/hardware/SensorEvent.java b/core/java/android/hardware/SensorEvent.java index 70519ff26fd6..aaf389895d47 100644 --- a/core/java/android/hardware/SensorEvent.java +++ b/core/java/android/hardware/SensorEvent.java @@ -84,14 +84,14 @@ public class SensorEvent { * sensor itself (<b>Fs</b>) using the relation: * </p> * - * <b><center>Ad = - ·Fs / mass</center></b> + * <b><center>Ad = - ∑Fs / mass</center></b> * * <p> * In particular, the force of gravity is always influencing the measured * acceleration: * </p> * - * <b><center>Ad = -g - ·F / mass</center></b> + * <b><center>Ad = -g - ∑F / mass</center></b> * * <p> * For this reason, when the device is sitting on a table (and obviously not diff --git a/core/java/android/view/GLES20Canvas.java b/core/java/android/view/GLES20Canvas.java index 00dc12897da3..49ef8dc350d5 100644 --- a/core/java/android/view/GLES20Canvas.java +++ b/core/java/android/view/GLES20Canvas.java @@ -362,53 +362,48 @@ class GLES20Canvas extends Canvas { @Override public void drawPatch(Bitmap bitmap, byte[] chunks, RectF dst, Paint paint) { final int nativePaint = paint == null ? 0 : paint.mNativePaint; - nDrawPatch(mRenderer, bitmap.mNativeBitmap, chunks, dst.left, dst.top, dst.right, - dst.bottom, nativePaint, bitmap.getDensity(), mDensity, mScreenDensity); + nDrawPatch(mRenderer, bitmap.mNativeBitmap, chunks, dst.left, dst.top, + dst.right, dst.bottom, nativePaint); } private native void nDrawPatch(int renderer, int bitmap, byte[] chunks, float left, float top, - float right, float bottom, int paint, int bitmapDensity, int canvasDensity, int screenDensity); + float right, float bottom, int paint); @Override public void drawBitmap(Bitmap bitmap, float left, float top, Paint paint) { final int nativePaint = paint == null ? 0 : paint.mNativePaint; - nDrawBitmap(mRenderer, bitmap.mNativeBitmap, left, top, nativePaint, - bitmap.getDensity(), mDensity, mScreenDensity); + nDrawBitmap(mRenderer, bitmap.mNativeBitmap, left, top, nativePaint); } + private native void nDrawBitmap(int renderer, int bitmap, float left, float top, int paint); + @Override public void drawBitmap(Bitmap bitmap, Matrix matrix, Paint paint) { final int nativePaint = paint == null ? 0 : paint.mNativePaint; - nDrawBitmap(mRenderer, bitmap.mNativeBitmap, matrix.native_instance, nativePaint, - bitmap.getDensity(), mDensity, mScreenDensity); + nDrawBitmap(mRenderer, bitmap.mNativeBitmap, matrix.native_instance, nativePaint); } - private native void nDrawBitmap(int renderer, int bitmap, int matrix, int paint, - int bitmapDensity, int canvasDensity, int screenDensity); + private native void nDrawBitmap(int renderer, int bitmap, int matrix, int paint); @Override public void drawBitmap(Bitmap bitmap, Rect src, Rect dst, Paint paint) { final int nativePaint = paint == null ? 0 : paint.mNativePaint; nDrawBitmap(mRenderer, bitmap.mNativeBitmap, src.left, src.top, src.right, src.bottom, - dst.left, dst.top, dst.right, dst.bottom, nativePaint, - bitmap.getDensity(), mDensity, mScreenDensity); + dst.left, dst.top, dst.right, dst.bottom, nativePaint + ); } @Override public void drawBitmap(Bitmap bitmap, Rect src, RectF dst, Paint paint) { final int nativePaint = paint == null ? 0 : paint.mNativePaint; nDrawBitmap(mRenderer, bitmap.mNativeBitmap, src.left, src.top, src.right, src.bottom, - dst.left, dst.top, dst.right, dst.bottom, nativePaint, - bitmap.getDensity(), mDensity, mScreenDensity); + dst.left, dst.top, dst.right, dst.bottom, nativePaint + ); } - private native void nDrawBitmap(int renderer, int bitmap, float left, float top, int paint, - int bitmapDensity, int canvasDensity, int screenDensity); - private native void nDrawBitmap(int renderer, int bitmap, float srcLeft, float srcTop, float srcRight, float srcBottom, - float left, float top, float right, float bottom, int paint, - int bitmapDensity, int canvasDensity, int screenDensity); + float left, float top, float right, float bottom, int paint); @Override public void drawBitmap(int[] colors, int offset, int stride, float x, float y, diff --git a/core/java/android/view/HardwareRenderer.java b/core/java/android/view/HardwareRenderer.java index d30bce9bb89a..090a74372c1a 100644 --- a/core/java/android/view/HardwareRenderer.java +++ b/core/java/android/view/HardwareRenderer.java @@ -17,10 +17,8 @@ package android.view; -import android.content.res.CompatibilityInfo; import android.graphics.Canvas; import android.os.SystemClock; -import android.util.DisplayMetrics; import android.util.Log; import javax.microedition.khronos.egl.EGL10; @@ -74,14 +72,8 @@ abstract class HardwareRenderer { * * @param view The view to draw. * @param attachInfo AttachInfo tied to the specified view. - * @param translator Translator used to draw applications in compatibility mode. - * @param yoff The vertical offset for the drawing. - * @param density The density of the application - * @param scalingRequired Whether drawing should be scaled. */ - abstract void draw(View view, View.AttachInfo attachInfo, - CompatibilityInfo.Translator translator, int yoff, int density, - boolean scalingRequired); + abstract void draw(View view, View.AttachInfo attachInfo, int yOffset); /** * Initializes the hardware renderer for the specified surface and setup the @@ -371,9 +363,7 @@ abstract class HardwareRenderer { } @Override - void draw(View view, View.AttachInfo attachInfo, CompatibilityInfo.Translator translator, - int yoff, int density, boolean scalingRequired) { - + void draw(View view, View.AttachInfo attachInfo, int yOffset) { if (canDraw()) { attachInfo.mDrawingTime = SystemClock.uptimeMillis(); attachInfo.mIgnoreDirtyState = true; @@ -383,14 +373,9 @@ abstract class HardwareRenderer { Canvas canvas = mCanvas; int saveCount = canvas.save(Canvas.MATRIX_SAVE_FLAG); + canvas.translate(0, -yOffset); + try { - canvas.translate(0, -yoff); - if (translator != null) { - translator.translateCanvas(canvas); - } - canvas.setDensity(density); - canvas.setScreenDensity(scalingRequired ? DisplayMetrics.DENSITY_DEVICE : 0); - view.draw(canvas); } finally { canvas.restoreToCount(saveCount); diff --git a/core/java/android/view/ViewRoot.java b/core/java/android/view/ViewRoot.java index 9cd9a64db9e7..63934bbeb211 100644 --- a/core/java/android/view/ViewRoot.java +++ b/core/java/android/view/ViewRoot.java @@ -1262,7 +1262,7 @@ public final class ViewRoot extends Handler implements ViewParent, View.AttachIn if (mHwRenderer != null && mHwRenderer.isEnabled()) { if (!dirty.isEmpty()) { - mHwRenderer.draw(mView, mAttachInfo, mTranslator, yoff, mDensity, scalingRequired); + mHwRenderer.draw(mView, mAttachInfo, yoff); } if (scrolling) { diff --git a/core/jni/android_view_GLES20Canvas.cpp b/core/jni/android_view_GLES20Canvas.cpp index 47f5bfc59380..1bbac71c171e 100644 --- a/core/jni/android_view_GLES20Canvas.cpp +++ b/core/jni/android_view_GLES20Canvas.cpp @@ -178,65 +178,32 @@ static void android_view_GLES20Canvas_concatMatrix(JNIEnv* env, jobject canvas, // ---------------------------------------------------------------------------- static void android_view_GLES20Canvas_drawBitmap(JNIEnv* env, jobject canvas, - OpenGLRenderer* renderer, SkBitmap* bitmap, float left, float top, - SkPaint* paint, jint bitmapDensity, jint canvasDensity,jint screenDensity) { - if (canvasDensity == bitmapDensity || canvasDensity == 0 || bitmapDensity == 0) { - renderer->drawBitmap(bitmap, left, top, paint); - } else { - renderer->save(0); - const float scale = canvasDensity / float(bitmapDensity); - renderer->translate(left, top); - renderer->scale(scale, scale); - renderer->drawBitmap(bitmap, left, top, paint); - renderer->restore(); - } + OpenGLRenderer* renderer, SkBitmap* bitmap, float left, float top, SkPaint* paint) { + renderer->drawBitmap(bitmap, left, top, paint); } static void android_view_GLES20Canvas_drawBitmapRect(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, SkBitmap* bitmap, float srcLeft, float srcTop, float srcRight, float srcBottom, - float dstLeft, float dstTop, float dstRight, float dstBottom, - SkPaint* paint, jint bitmapDensity, jint canvasDensity, jint screenDensity) { - if (canvasDensity == bitmapDensity || canvasDensity == 0 || bitmapDensity == 0) { - renderer->drawBitmap(bitmap, srcLeft, srcTop, srcRight, srcBottom, - dstLeft, dstTop, dstRight, dstBottom, paint); - } else { - // TODO: implement - } + float dstLeft, float dstTop, float dstRight, float dstBottom, SkPaint* paint) { + renderer->drawBitmap(bitmap, srcLeft, srcTop, srcRight, srcBottom, + dstLeft, dstTop, dstRight, dstBottom, paint); } static void android_view_GLES20Canvas_drawBitmapMatrix(JNIEnv* env, jobject canvas, - OpenGLRenderer* renderer, SkBitmap* bitmap, SkMatrix* matrix, SkPaint* paint, - jint bitmapDensity, jint canvasDensity,jint screenDensity) { - if (canvasDensity == bitmapDensity || canvasDensity == 0 || bitmapDensity == 0) { - renderer->drawBitmap(bitmap, matrix, paint); - } else { - // TODO: implement - } + OpenGLRenderer* renderer, SkBitmap* bitmap, SkMatrix* matrix, SkPaint* paint) { + renderer->drawBitmap(bitmap, matrix, paint); } static void android_view_GLES20Canvas_drawPatch(JNIEnv* env, jobject canvas, OpenGLRenderer* renderer, SkBitmap* bitmap, jbyteArray chunks, - float left, float top, float right, float bottom, SkPaint* paint, - jint bitmapDensity, jint canvasDensity,jint screenDensity) { + float left, float top, float right, float bottom, SkPaint* paint) { jbyte* storage = env->GetByteArrayElements(chunks, NULL); Res_png_9patch* patch = reinterpret_cast<Res_png_9patch*>(storage); Res_png_9patch::deserialize(patch); - if (canvasDensity == bitmapDensity || canvasDensity == 0 || bitmapDensity == 0) { - renderer->drawPatch(bitmap, patch, left, top, right, bottom, paint); - } else { - renderer->save(0); - const float scale = canvasDensity / float(bitmapDensity); - renderer->translate(left, top); - renderer->scale(scale, scale); - left = top = 0.0f; - right = (right - left) / scale; - bottom = (bottom - top) / scale; - renderer->drawPatch(bitmap, patch, left, top, right, bottom, paint); - renderer->restore(); - } + renderer->drawPatch(bitmap, patch, left, top, right, bottom, paint); // TODO: make sure that 0 is correct for the flags env->ReleaseByteArrayElements(chunks, storage, 0); @@ -260,37 +227,37 @@ static void android_view_GLES20Canvas_drawRect(JNIEnv* env, jobject canvas, const char* const kClassPathName = "android/view/GLES20Canvas"; static JNINativeMethod gMethods[] = { - { "nCreateRenderer", "()I", (void*) android_view_GLES20Canvas_createRenderer }, - { "nDestroyRenderer", "(I)V", (void*) android_view_GLES20Canvas_destroyRenderer }, - { "nSetViewport", "(III)V", (void*) android_view_GLES20Canvas_setViewport }, - { "nPrepare", "(I)V", (void*) android_view_GLES20Canvas_prepare }, - - { "nSave", "(II)I", (void*) android_view_GLES20Canvas_save }, - { "nRestore", "(I)V", (void*) android_view_GLES20Canvas_restore }, - { "nRestoreToCount", "(II)V", (void*) android_view_GLES20Canvas_restoreToCount }, - { "nGetSaveCount", "(I)I", (void*) android_view_GLES20Canvas_getSaveCount }, - - { "nSaveLayer", "(IFFFFII)I", (void*) android_view_GLES20Canvas_saveLayer }, - { "nSaveLayerAlpha", "(IFFFFII)I", (void*) android_view_GLES20Canvas_saveLayerAlpha }, - - { "nQuickReject", "(IFFFFI)Z", (void*) android_view_GLES20Canvas_quickReject }, - { "nClipRect", "(IFFFF)Z", (void*) android_view_GLES20Canvas_clipRectF }, - { "nClipRect", "(IIIII)Z", (void*) android_view_GLES20Canvas_clipRect }, - - { "nTranslate", "(IFF)V", (void*) android_view_GLES20Canvas_translate }, - { "nRotate", "(IF)V", (void*) android_view_GLES20Canvas_rotate }, - { "nScale", "(IFF)V", (void*) android_view_GLES20Canvas_scale }, - - { "nSetMatrix", "(II)V", (void*) android_view_GLES20Canvas_setMatrix }, - { "nGetMatrix", "(II)V", (void*) android_view_GLES20Canvas_getMatrix }, - { "nConcatMatrix", "(II)V", (void*) android_view_GLES20Canvas_concatMatrix }, - - { "nDrawBitmap", "(IIFFIIII)V", (void*) android_view_GLES20Canvas_drawBitmap }, - { "nDrawBitmap", "(IIFFFFFFFFIIII)V", (void*) android_view_GLES20Canvas_drawBitmapRect }, - { "nDrawBitmap", "(IIIIIII)V", (void*) android_view_GLES20Canvas_drawBitmapMatrix }, - { "nDrawPatch", "(II[BFFFFIIII)V", (void*) android_view_GLES20Canvas_drawPatch }, - { "nDrawColor", "(III)V", (void*) android_view_GLES20Canvas_drawColor }, - { "nDrawRect", "(IFFFFI)V", (void*) android_view_GLES20Canvas_drawRect }, + { "nCreateRenderer", "()I", (void*) android_view_GLES20Canvas_createRenderer }, + { "nDestroyRenderer", "(I)V", (void*) android_view_GLES20Canvas_destroyRenderer }, + { "nSetViewport", "(III)V", (void*) android_view_GLES20Canvas_setViewport }, + { "nPrepare", "(I)V", (void*) android_view_GLES20Canvas_prepare }, + + { "nSave", "(II)I", (void*) android_view_GLES20Canvas_save }, + { "nRestore", "(I)V", (void*) android_view_GLES20Canvas_restore }, + { "nRestoreToCount", "(II)V", (void*) android_view_GLES20Canvas_restoreToCount }, + { "nGetSaveCount", "(I)I", (void*) android_view_GLES20Canvas_getSaveCount }, + + { "nSaveLayer", "(IFFFFII)I", (void*) android_view_GLES20Canvas_saveLayer }, + { "nSaveLayerAlpha", "(IFFFFII)I", (void*) android_view_GLES20Canvas_saveLayerAlpha }, + + { "nQuickReject", "(IFFFFI)Z", (void*) android_view_GLES20Canvas_quickReject }, + { "nClipRect", "(IFFFF)Z", (void*) android_view_GLES20Canvas_clipRectF }, + { "nClipRect", "(IIIII)Z", (void*) android_view_GLES20Canvas_clipRect }, + + { "nTranslate", "(IFF)V", (void*) android_view_GLES20Canvas_translate }, + { "nRotate", "(IF)V", (void*) android_view_GLES20Canvas_rotate }, + { "nScale", "(IFF)V", (void*) android_view_GLES20Canvas_scale }, + + { "nSetMatrix", "(II)V", (void*) android_view_GLES20Canvas_setMatrix }, + { "nGetMatrix", "(II)V", (void*) android_view_GLES20Canvas_getMatrix }, + { "nConcatMatrix", "(II)V", (void*) android_view_GLES20Canvas_concatMatrix }, + + { "nDrawBitmap", "(IIFFI)V", (void*) android_view_GLES20Canvas_drawBitmap }, + { "nDrawBitmap", "(IIFFFFFFFFI)V", (void*) android_view_GLES20Canvas_drawBitmapRect }, + { "nDrawBitmap", "(IIII)V", (void*) android_view_GLES20Canvas_drawBitmapMatrix }, + { "nDrawPatch", "(II[BFFFFI)V", (void*) android_view_GLES20Canvas_drawPatch }, + { "nDrawColor", "(III)V", (void*) android_view_GLES20Canvas_drawColor }, + { "nDrawRect", "(IFFFFI)V", (void*) android_view_GLES20Canvas_drawRect }, { "nGetClipBounds", "(ILandroid/graphics/Rect;)Z", (void*) android_view_GLES20Canvas_getClipBounds }, |