diff options
author | Jiyong Park <jiyong@google.com> | 2018-08-02 17:02:45 +0900 |
---|---|---|
committer | Jiyong Park <jiyong@google.com> | 2018-08-02 18:07:54 +0900 |
commit | 1581c348fc5d6cbf1673b3dbc5960637f891d488 (patch) | |
tree | 31e9444210520c28f42b9445fbc53daf68e5a0be /libs/hwui/pipeline/skia/RenderNodeDrawable.cpp | |
parent | 7a01a307753309f198eacbb8a36e15428b38bbe7 (diff) | |
parent | decdaee091799aced8169d45632c923e2605214e (diff) |
Merge QPR1.180718.001
Conflicts:
core/java/android/provider/Settings.java
core/jni/android_view_InputEventReceiver.cpp
core/res/res/values/config.xml
core/res/res/values/symbols.xml
media/jni/Android.bp
packages/SettingsLib/src/com/android/settingslib/bluetooth/CachedBluetoothDevice.java
packages/SettingsLib/tests/robotests/src/com/android/settingslib/fuelgauge/PowerWhitelistBackendTest.java
packages/SystemUI/res/layout/status_bar_mobile_signal_group.xml
packages/SystemUI/res/values/config.xml
packages/SystemUI/src/com/android/keyguard/KeyguardConstants.java
packages/SystemUI/src/com/android/systemui/statusbar/StatusBarMobileView.java
services/core/java/com/android/server/ConnectivityService.java
services/core/java/com/android/server/NetworkTimeUpdateService.java
services/core/java/com/android/server/StorageManagerService.java
services/core/java/com/android/server/Watchdog.java
services/core/java/com/android/server/am/ActiveServices.java
services/core/java/com/android/server/am/ActivityManagerService.java
services/core/java/com/android/server/am/ActivityStack.java
services/core/java/com/android/server/am/AppTaskImpl.java
services/core/java/com/android/server/audio/AudioService.java
services/core/java/com/android/server/wm/DisplayContent.java
services/tests/uiservicestests/src/com/android/server/notification/NotificationRecordTest.java
telephony/java/android/telephony/CarrierConfigManager.java
telephony/java/android/telephony/ims/ImsReasonInfo.java
telephony/java/android/telephony/ims/feature/MmTelFeature.java
telephony/java/com/android/internal/telephony/ISmsBaseImpl.java
Change-Id: I3f98340699f9e31be03eaf23fdea70803c4cef42
Diffstat (limited to 'libs/hwui/pipeline/skia/RenderNodeDrawable.cpp')
-rw-r--r-- | libs/hwui/pipeline/skia/RenderNodeDrawable.cpp | 24 |
1 files changed, 17 insertions, 7 deletions
diff --git a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp index 6c04d7862979..85fdc103b1e3 100644 --- a/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp +++ b/libs/hwui/pipeline/skia/RenderNodeDrawable.cpp @@ -25,6 +25,19 @@ namespace android { namespace uirenderer { namespace skiapipeline { +RenderNodeDrawable::RenderNodeDrawable(RenderNode* node, SkCanvas* canvas, bool composeLayer, + bool inReorderingSection) + : mRenderNode(node) + , mRecordedTransform(canvas->getTotalMatrix()) + , mComposeLayer(composeLayer) + , mInReorderingSection(inReorderingSection) {} + +RenderNodeDrawable::~RenderNodeDrawable() { + // Just here to move the destructor into the cpp file where we can access RenderNode. + + // TODO: Detangle the header nightmare. +} + void RenderNodeDrawable::drawBackwardsProjectedNodes(SkCanvas* canvas, const SkiaDisplayList& displayList, int nestLevel) { @@ -115,7 +128,6 @@ void RenderNodeDrawable::forceDraw(SkCanvas* canvas) { return; } - SkASSERT(renderNode->getDisplayList()->isSkiaDL()); SkiaDisplayList* displayList = (SkiaDisplayList*)renderNode->getDisplayList(); SkAutoCanvasRestore acr(canvas, true); @@ -130,7 +142,7 @@ void RenderNodeDrawable::forceDraw(SkCanvas* canvas) { LOG_ALWAYS_FATAL_IF(!mProjectedDisplayList->mProjectedOutline); const bool shouldClip = mProjectedDisplayList->mProjectedOutline->getPath(); SkAutoCanvasRestore acr2(canvas, shouldClip); - canvas->setMatrix(mProjectedDisplayList->mProjectedReceiverParentMatrix); + canvas->setMatrix(mProjectedDisplayList->mParentMatrix); if (shouldClip) { clipOutline(*mProjectedDisplayList->mProjectedOutline, canvas, nullptr); } @@ -144,10 +156,10 @@ static bool layerNeedsPaint(const LayerProperties& properties, float alphaMultip SkPaint* paint) { paint->setFilterQuality(kLow_SkFilterQuality); if (alphaMultiplier < 1.0f || properties.alpha() < 255 || - properties.xferMode() != SkBlendMode::kSrcOver || properties.colorFilter() != nullptr) { + properties.xferMode() != SkBlendMode::kSrcOver || properties.getColorFilter() != nullptr) { paint->setAlpha(properties.alpha() * alphaMultiplier); paint->setBlendMode(properties.xferMode()); - paint->setColorFilter(sk_ref_sp(properties.colorFilter())); + paint->setColorFilter(sk_ref_sp(properties.getColorFilter())); return true; } return false; @@ -188,9 +200,7 @@ void RenderNodeDrawable::drawContent(SkCanvas* canvas) const { setViewProperties(properties, canvas, &alphaMultiplier); } SkiaDisplayList* displayList = (SkiaDisplayList*)mRenderNode->getDisplayList(); - if (displayList->containsProjectionReceiver()) { - displayList->mProjectedReceiverParentMatrix = canvas->getTotalMatrix(); - } + displayList->mParentMatrix = canvas->getTotalMatrix(); // TODO should we let the bound of the drawable do this for us? const SkRect bounds = SkRect::MakeWH(properties.getWidth(), properties.getHeight()); |