summaryrefslogtreecommitdiff
path: root/libs
diff options
context:
space:
mode:
author Tom Hudson <tomhudson@google.com> 2015-10-28 20:35:36 +0000
committer Tom Hudson <tomhudson@google.com> 2015-10-28 20:35:36 +0000
commitd8f904f256b82e48e9a85561eb96e15399b0b2d9 (patch)
tree6f418fc8ec95ab0112a39adbd7fa3bfff0d2ca4d /libs
parent550780745fa28ae9a87d02331841ca5ce4f9c763 (diff)
Revert "Merge six commits from master-skia to master"
This reverts commit 550780745fa28ae9a87d02331841ca5ce4f9c763. Change-Id: Ic71eccea454b26261fe6e9a9a7a24eff56396989
Diffstat (limited to 'libs')
-rw-r--r--libs/hwui/Android.mk1
-rw-r--r--libs/hwui/DisplayListCanvas.cpp2
-rw-r--r--libs/hwui/SkiaCanvas.cpp16
-rw-r--r--libs/hwui/SkiaCanvasProxy.cpp2
-rw-r--r--libs/hwui/SkiaCanvasProxy.h2
-rw-r--r--libs/hwui/SkiaShader.cpp4
-rw-r--r--libs/hwui/utils/NinePatchImpl.cpp8
7 files changed, 18 insertions, 17 deletions
diff --git a/libs/hwui/Android.mk b/libs/hwui/Android.mk
index f14e444fd7b1..4385e7012f54 100644
--- a/libs/hwui/Android.mk
+++ b/libs/hwui/Android.mk
@@ -113,7 +113,6 @@ $(call local-generated-sources-dir)/proto/$(LOCAL_PATH)
endef
hwui_c_includes += \
- external/skia/include/private \
external/skia/src/core
hwui_shared_libraries := \
diff --git a/libs/hwui/DisplayListCanvas.cpp b/libs/hwui/DisplayListCanvas.cpp
index f5e57355138c..bad397219398 100644
--- a/libs/hwui/DisplayListCanvas.cpp
+++ b/libs/hwui/DisplayListCanvas.cpp
@@ -584,7 +584,7 @@ void DisplayListCanvas::refBitmapsInShader(const SkShader* shader) {
// it to the bitmap pile
SkBitmap bitmap;
SkShader::TileMode xy[2];
- if (shader->isABitmap(&bitmap, nullptr, xy)) {
+ if (shader->asABitmap(&bitmap, nullptr, xy) == SkShader::kDefault_BitmapType) {
refBitmap(bitmap);
return;
}
diff --git a/libs/hwui/SkiaCanvas.cpp b/libs/hwui/SkiaCanvas.cpp
index a8f8134170d3..36633b5205a1 100644
--- a/libs/hwui/SkiaCanvas.cpp
+++ b/libs/hwui/SkiaCanvas.cpp
@@ -194,13 +194,15 @@ private:
void SkiaCanvas::setBitmap(const SkBitmap& bitmap) {
SkCanvas* newCanvas = new SkCanvas(bitmap);
+ SkASSERT(newCanvas);
if (!bitmap.isNull()) {
// Copy the canvas matrix & clip state.
newCanvas->setMatrix(mCanvas->getTotalMatrix());
-
- ClipCopier copier(newCanvas);
- mCanvas->replayClips(&copier);
+ if (NULL != mCanvas->getDevice() && NULL != newCanvas->getDevice()) {
+ ClipCopier copier(newCanvas);
+ mCanvas->replayClips(&copier);
+ }
}
// unrefs the existing canvas
@@ -215,15 +217,15 @@ void SkiaCanvas::setBitmap(const SkBitmap& bitmap) {
// ----------------------------------------------------------------------------
bool SkiaCanvas::isOpaque() {
- return mCanvas->imageInfo().isOpaque();
+ return mCanvas->getDevice()->accessBitmap(false).isOpaque();
}
int SkiaCanvas::width() {
- return mCanvas->imageInfo().width();
+ return mCanvas->getBaseLayerSize().width();
}
int SkiaCanvas::height() {
- return mCanvas->imageInfo().height();
+ return mCanvas->getBaseLayerSize().height();
}
// ----------------------------------------------------------------------------
@@ -579,7 +581,7 @@ void SkiaCanvas::drawBitmap(const SkBitmap& bitmap, float srcLeft, float srcTop,
float dstRight, float dstBottom, const SkPaint* paint) {
SkRect srcRect = SkRect::MakeLTRB(srcLeft, srcTop, srcRight, srcBottom);
SkRect dstRect = SkRect::MakeLTRB(dstLeft, dstTop, dstRight, dstBottom);
- mCanvas->drawBitmapRect(bitmap, srcRect, dstRect, paint);
+ mCanvas->drawBitmapRectToRect(bitmap, &srcRect, dstRect, paint);
}
void SkiaCanvas::drawBitmapMesh(const SkBitmap& bitmap, int meshWidth, int meshHeight,
diff --git a/libs/hwui/SkiaCanvasProxy.cpp b/libs/hwui/SkiaCanvasProxy.cpp
index 2d5f70f6a70c..c3f5eb27e236 100644
--- a/libs/hwui/SkiaCanvasProxy.cpp
+++ b/libs/hwui/SkiaCanvasProxy.cpp
@@ -125,7 +125,7 @@ void SkiaCanvasProxy::onDrawBitmap(const SkBitmap& bitmap, SkScalar left, SkScal
}
void SkiaCanvasProxy::onDrawBitmapRect(const SkBitmap& bitmap, const SkRect* srcPtr,
- const SkRect& dst, const SkPaint* paint, SrcRectConstraint) {
+ const SkRect& dst, const SkPaint* paint, DrawBitmapRectFlags) {
SkRect src = (srcPtr) ? *srcPtr : SkRect::MakeWH(bitmap.width(), bitmap.height());
// TODO: if bitmap is a subset, do we need to add pixelRefOrigin to src?
mCanvas->drawBitmap(bitmap, src.fLeft, src.fTop, src.fRight, src.fBottom,
diff --git a/libs/hwui/SkiaCanvasProxy.h b/libs/hwui/SkiaCanvasProxy.h
index 2fe4327b9539..0de965094e64 100644
--- a/libs/hwui/SkiaCanvasProxy.h
+++ b/libs/hwui/SkiaCanvasProxy.h
@@ -63,7 +63,7 @@ protected:
virtual void onDrawBitmap(const SkBitmap&, SkScalar left, SkScalar top,
const SkPaint*) override;
virtual void onDrawBitmapRect(const SkBitmap&, const SkRect* src, const SkRect& dst,
- const SkPaint* paint, SrcRectConstraint) override;
+ const SkPaint* paint, DrawBitmapRectFlags flags) override;
virtual void onDrawBitmapNine(const SkBitmap& bitmap, const SkIRect& center,
const SkRect& dst, const SkPaint*) override;
virtual void onDrawSprite(const SkBitmap&, int left, int top,
diff --git a/libs/hwui/SkiaShader.cpp b/libs/hwui/SkiaShader.cpp
index 83652c6de21f..6c105cfc7b00 100644
--- a/libs/hwui/SkiaShader.cpp
+++ b/libs/hwui/SkiaShader.cpp
@@ -204,7 +204,7 @@ bool tryStoreBitmap(Caches& caches, const SkShader& shader, const Matrix4& model
SkiaShaderData::BitmapShaderData* outData) {
SkBitmap bitmap;
SkShader::TileMode xy[2];
- if (!shader.isABitmap(&bitmap, nullptr, xy)) {
+ if (shader.asABitmap(&bitmap, nullptr, xy) != SkShader::kDefault_BitmapType) {
return false;
}
@@ -272,7 +272,7 @@ SkiaShaderType getComposeSubType(const SkShader& shader) {
}
// The shader is not a gradient. Check for a bitmap shader.
- if (shader.isABitmap()) {
+ if (shader.asABitmap(nullptr, nullptr, nullptr) == SkShader::kDefault_BitmapType) {
return kBitmap_SkiaShaderType;
}
return kNone_SkiaShaderType;
diff --git a/libs/hwui/utils/NinePatchImpl.cpp b/libs/hwui/utils/NinePatchImpl.cpp
index 9af99111129d..f51f5df2402c 100644
--- a/libs/hwui/utils/NinePatchImpl.cpp
+++ b/libs/hwui/utils/NinePatchImpl.cpp
@@ -61,7 +61,7 @@ static SkColor modAlpha(SkColor c, int alpha) {
return SkColorSetA(c, a);
}
-static void drawStretchyPatch(SkCanvas* canvas, SkIRect& isrc, const SkRect& dst,
+static void drawStretchyPatch(SkCanvas* canvas, SkIRect& src, const SkRect& dst,
const SkBitmap& bitmap, const SkPaint& paint,
SkColor initColor, uint32_t colorHint,
bool hasXfer) {
@@ -69,9 +69,9 @@ static void drawStretchyPatch(SkCanvas* canvas, SkIRect& isrc, const SkRect& dst
((SkPaint*)&paint)->setColor(modAlpha(colorHint, paint.getAlpha()));
canvas->drawRect(dst, paint);
((SkPaint*)&paint)->setColor(initColor);
- } else if (isrc.width() == 1 && isrc.height() == 1) {
+ } else if (src.width() == 1 && src.height() == 1) {
SkColor c;
- if (!getColor(bitmap, isrc.fLeft, isrc.fTop, &c)) {
+ if (!getColor(bitmap, src.fLeft, src.fTop, &c)) {
goto SLOW_CASE;
}
if (0 != c || hasXfer) {
@@ -82,7 +82,7 @@ static void drawStretchyPatch(SkCanvas* canvas, SkIRect& isrc, const SkRect& dst
}
} else {
SLOW_CASE:
- canvas->drawBitmapRect(bitmap, SkRect::Make(isrc), dst, &paint);
+ canvas->drawBitmapRect(bitmap, &src, dst, &paint);
}
}