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

Commit d6b65f67 authored by Chris Craik's avatar Chris Craik
Browse files

Use const access to snapshot from OpenGLRenderer

Additionally, move clipping methods to StatefulBaseRenderer

Change-Id: Iff232bf16fc1ad3b7d89493da6d8915db7bc5e4f
parent 14e51305
Loading
Loading
Loading
Loading
+5 −4
Original line number Diff line number Diff line
@@ -218,19 +218,19 @@ void DisplayListRenderer::concatMatrix(SkMatrix* matrix) {
bool DisplayListRenderer::clipRect(float left, float top, float right, float bottom,
        SkRegion::Op op) {
    addStateOp(new (alloc()) ClipRectOp(left, top, right, bottom, op));
    return OpenGLRenderer::clipRect(left, top, right, bottom, op);
    return StatefulBaseRenderer::clipRect(left, top, right, bottom, op);
}

bool DisplayListRenderer::clipPath(SkPath* path, SkRegion::Op op) {
    path = refPath(path);
    addStateOp(new (alloc()) ClipPathOp(path, op));
    return OpenGLRenderer::clipPath(path, op);
    return StatefulBaseRenderer::clipPath(path, op);
}

bool DisplayListRenderer::clipRegion(SkRegion* region, SkRegion::Op op) {
    region = refRegion(region);
    addStateOp(new (alloc()) ClipRegionOp(region, op));
    return OpenGLRenderer::clipRegion(region, op);
    return StatefulBaseRenderer::clipRegion(region, op);
}

status_t DisplayListRenderer::drawDisplayList(DisplayList* displayList,
@@ -242,7 +242,8 @@ status_t DisplayListRenderer::drawDisplayList(DisplayList* displayList,
    //       resources cache, but we rely on the caller (UI toolkit) to
    //       do the right thing for now

    DrawDisplayListOp* op = new (alloc()) DrawDisplayListOp(displayList, flags, currentTransform());
    DrawDisplayListOp* op = new (alloc()) DrawDisplayListOp(displayList,
            flags, *currentTransform());
    addDrawOp(op);
    mDisplayListData->children.push(op);

+1 −1
Original line number Diff line number Diff line
@@ -54,7 +54,7 @@ class DrawOp;
class StateOp;

/**
 * Records drawing commands in a display list for latter playback.
 * Records drawing commands in a display list for later playback into an OpenGLRenderer.
 */
class DisplayListRenderer: public OpenGLRenderer {
public:
+1 −1
Original line number Diff line number Diff line
@@ -117,7 +117,7 @@ void LayerRenderer::ensureStencilBuffer() {
///////////////////////////////////////////////////////////////////////////////

Region* LayerRenderer::getRegion() const {
    if (getSnapshot()->flags & Snapshot::kFlagFboTarget) {
    if (currentSnapshot()->flags & Snapshot::kFlagFboTarget) {
        return OpenGLRenderer::getRegion();
    }
    return &mLayer->region;
Loading