Merge "Tweak setViewport stuff for fwd-compat"

This commit is contained in:
Jean-Baptiste Queru
2011-06-08 13:10:58 -07:00
committed by Android Code Review
2 changed files with 3 additions and 18 deletions

View File

@@ -73,20 +73,6 @@ public:
static jboolean isOpaque(JNIEnv* env, jobject jcanvas) { static jboolean isOpaque(JNIEnv* env, jobject jcanvas) {
NPE_CHECK_RETURN_ZERO(env, jcanvas); NPE_CHECK_RETURN_ZERO(env, jcanvas);
SkCanvas* canvas = GraphicsJNI::getNativeCanvas(env, jcanvas); SkCanvas* canvas = GraphicsJNI::getNativeCanvas(env, jcanvas);
/*
Currently we cannot support transparency in GL-based canvas' at
the view level. Therefore we cannot base our answer on the device's
bitmap, but need to hard-code the answer. If we relax this
limitation in views, we can simplify the following code as well.
Use the getViewport() call to find out if we're gl-based...
*/
if (canvas->getViewport(NULL)) {
return true;
}
// normal technique, rely on the device's bitmap for the answer
return canvas->getDevice()->accessBitmap(false).isOpaque(); return canvas->getDevice()->accessBitmap(false).isOpaque();
} }
@@ -104,7 +90,6 @@ public:
static void setViewport(JNIEnv* env, jobject, SkCanvas* canvas, static void setViewport(JNIEnv* env, jobject, SkCanvas* canvas,
int width, int height) { int width, int height) {
canvas->setViewport(width, height);
} }
static void setBitmap(JNIEnv* env, jobject, SkCanvas* canvas, static void setBitmap(JNIEnv* env, jobject, SkCanvas* canvas,

View File

@@ -116,9 +116,9 @@ void NinePatch_Draw(SkCanvas* canvas, const SkRect& bounds,
paint = &defaultPaint; paint = &defaultPaint;
} }
// if our canvas is GL, draw this as a mesh, which will be faster than // if our SkCanvas were back by GL we should enable this and draw this as
// in parts (which is faster for raster) // a mesh, which will be faster in most cases.
if (canvas && canvas->getViewport(NULL)) { if (false) {
SkNinePatch::DrawMesh(canvas, bounds, bitmap, SkNinePatch::DrawMesh(canvas, bounds, bitmap,
chunk.xDivs, chunk.numXDivs, chunk.xDivs, chunk.numXDivs,
chunk.yDivs, chunk.numYDivs, chunk.yDivs, chunk.numYDivs,