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

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

Simplify ClipArea to prefer Rect args

Change-Id: I8af83d01dc5dd8009a0cd235dd8b59dab61d8560
parent 2b17db77
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -192,7 +192,7 @@ void CanvasState::concatMatrix(const Matrix4& matrix) {
///////////////////////////////////////////////////////////////////////////////

bool CanvasState::clipRect(float left, float top, float right, float bottom, SkRegion::Op op) {
    mSnapshot->clip(left, top, right, bottom, op);
    mSnapshot->clip(Rect(left, top, right, bottom), op);
    mDirtyClip = true;
    return !mSnapshot->clipIsEmpty();
}
+0 −24
Original line number Diff line number Diff line
@@ -201,12 +201,6 @@ void ClipArea::setClip(float left, float top, float right, float bottom) {
    mClipRegion.setEmpty();
}

void ClipArea::clipRectWithTransform(float left, float top, float right,
        float bottom, const mat4* transform, SkRegion::Op op) {
    Rect r(left, top, right, bottom);
    clipRectWithTransform(r, transform, op);
}

void ClipArea::clipRectWithTransform(const Rect& r, const mat4* transform,
        SkRegion::Op op) {
    switch (mMode) {
@@ -274,13 +268,6 @@ void ClipArea::rectangleModeClipRectWithTransform(const Rect& r,
    rectangleListModeClipRectWithTransform(r, transform, op);
}

void ClipArea::rectangleModeClipRectWithTransform(float left, float top,
        float right, float bottom, const mat4* transform, SkRegion::Op op) {
    Rect r(left, top, right, bottom);
    rectangleModeClipRectWithTransform(r, transform, op);
    mClipRect = mRectangleList.calculateBounds();
}

/*
 * RectangleList mode implementation
 */
@@ -303,12 +290,6 @@ void ClipArea::rectangleListModeClipRectWithTransform(const Rect& r,
    }
}

void ClipArea::rectangleListModeClipRectWithTransform(float left, float top,
        float right, float bottom, const mat4* transform, SkRegion::Op op) {
    Rect r(left, top, right, bottom);
    rectangleListModeClipRectWithTransform(r, transform, op);
}

/*
 * Region mode implementation
 */
@@ -336,11 +317,6 @@ void ClipArea::regionModeClipRectWithTransform(const Rect& r,
    onClipRegionUpdated();
}

void ClipArea::regionModeClipRectWithTransform(float left, float top,
        float right, float bottom, const mat4* transform, SkRegion::Op op) {
    regionModeClipRectWithTransform(Rect(left, top, right, bottom), transform, op);
}

void ClipArea::onClipRegionUpdated() {
    if (!mClipRegion.isEmpty()) {
        mClipRect.set(mClipRegion.getBounds());
+0 −8
Original line number Diff line number Diff line
@@ -98,8 +98,6 @@ public:

    void setEmpty();
    void setClip(float left, float top, float right, float bottom);
    void clipRectWithTransform(float left, float top, float right, float bottom,
            const mat4* transform, SkRegion::Op op);
    void clipRectWithTransform(const Rect& r, const mat4* transform,
            SkRegion::Op op);
    void clipRegion(const SkRegion& region, SkRegion::Op op);
@@ -133,12 +131,8 @@ public:
private:
    void enterRectangleMode();
    void rectangleModeClipRectWithTransform(const Rect& r, const mat4* transform, SkRegion::Op op);
    void rectangleModeClipRectWithTransform(float left, float top, float right,
            float bottom, const mat4* transform, SkRegion::Op op);

    void enterRectangleListMode();
    void rectangleListModeClipRectWithTransform(float left, float top,
            float right, float bottom, const mat4* transform, SkRegion::Op op);
    void rectangleListModeClipRectWithTransform(const Rect& r,
            const mat4* transform, SkRegion::Op op);

@@ -147,8 +141,6 @@ private:
    void enterRegionMode();
    void regionModeClipRectWithTransform(const Rect& r, const mat4* transform,
            SkRegion::Op op);
    void regionModeClipRectWithTransform(float left, float top, float right,
            float bottom, const mat4* transform, SkRegion::Op op);

    void ensureClipRegion();
    void onClipRegionUpdated();
+2 −2
Original line number Diff line number Diff line
@@ -88,9 +88,9 @@ void Snapshot::clipRegionTransformed(const SkRegion& region, SkRegion::Op op) {
    mClipArea->clipRegion(region, op);
}

void Snapshot::clip(float left, float top, float right, float bottom, SkRegion::Op op) {
void Snapshot::clip(const Rect& localClip, SkRegion::Op op) {
    flags |= Snapshot::kFlagClipSet;
    mClipArea->clipRectWithTransform(left, top, right, bottom, transform, op);
    mClipArea->clipRectWithTransform(localClip, transform, op);
}

void Snapshot::clipPath(const SkPath& path, SkRegion::Op op) {
+1 −1
Original line number Diff line number Diff line
@@ -124,7 +124,7 @@ public:
     * the specified operation. The specified rectangle is transformed
     * by this snapshot's trasnformation.
     */
    void clip(float left, float top, float right, float bottom, SkRegion::Op op);
    void clip(const Rect& localClip, SkRegion::Op op);

    /**
     * Modifies the current clip with the new clip rectangle and
Loading