Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 6b109c74 authored by Chris Craik's avatar Chris Craik
Browse files

Fix glop rendering within unclipped saveLayers

bug:19541881

Additionally, clean up GlopBuilders
and rename onGetSnapshot() for clarity

Change-Id: I0303e4cd61eef87cf80af2d968c4aa67193cd008
parent 26bf3420
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -43,7 +43,7 @@ void CanvasState::initializeSaveStack(float clipLeft, float clipTop,
    mSnapshot = new Snapshot(mFirstSnapshot,
            SkCanvas::kMatrix_SaveFlag | SkCanvas::kClip_SaveFlag);
    mSnapshot->setClip(clipLeft, clipTop, clipRight, clipBottom);
    mSnapshot->fbo = mCanvas.onGetTargetFbo();
    mSnapshot->fbo = mCanvas.getTargetFbo();
    mSnapshot->setRelativeLightCenter(lightCenter);
    mSaveCount = 1;
}
+1 −1
Original line number Diff line number Diff line
@@ -51,7 +51,7 @@ public:
     * Allows subclasses to control what value is stored in snapshot's
     * fbo field in * initializeSaveStack.
     */
    virtual GLuint onGetTargetFbo() const = 0;
    virtual GLuint getTargetFbo() const = 0;

}; // class CanvasStateClient

+1 −1
Original line number Diff line number Diff line
@@ -131,7 +131,7 @@ public:
// ----------------------------------------------------------------------------
    virtual void onViewportInitialized() override { }
    virtual void onSnapshotRestored(const Snapshot& removed, const Snapshot& restored) override { }
    virtual GLuint onGetTargetFbo() const override { return -1; }
    virtual GLuint getTargetFbo() const override { return -1; }

// ----------------------------------------------------------------------------
// android/graphics/Canvas interface
+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ bool LayerRenderer::finish() {
    return retval;
}

GLuint LayerRenderer::onGetTargetFbo() const {
GLuint LayerRenderer::getTargetFbo() const {
    return mLayer->getFbo();
}

+1 −1
Original line number Diff line number Diff line
@@ -69,7 +69,7 @@ protected:
    virtual void ensureStencilBuffer() override;
    virtual bool hasLayer() const override;
    virtual Region* getRegion() const override;
    virtual GLuint onGetTargetFbo() const override;
    virtual GLuint getTargetFbo() const override;
    virtual bool suppressErrorChecks() const override;

private:
Loading