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

Commit bf434114 authored by Romain Guy's avatar Romain Guy
Browse files

Snap layer bounds to pixel boundaries.

Change-Id: I272ceebf469a119f01ea9d73cdd68519afdffa99
parent b025b9c8
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -353,6 +353,8 @@ bool OpenGLRenderer::createLayer(sp<Snapshot> snapshot, float left, float top,

    // Layers only make sense if they are in the framebuffer's bounds
    bounds.intersect(*mSnapshot->clipRect);
    bounds.snapToPixelBoundaries();

    if (bounds.isEmpty() || bounds.getWidth() > mMaxTextureSize ||
            bounds.getHeight() > mMaxTextureSize) {
        return false;
+7 −0
Original line number Diff line number Diff line
@@ -148,6 +148,13 @@ struct Rect {
        return false;
    }

    void snapToPixelBoundaries() {
        left = floor(left);
        top = floor(top);
        right = ceil(right);
        bottom = ceil(bottom);
    }

    void dump() const {
        LOGD("Rect[l=%f t=%f r=%f b=%f]", left, top, right, bottom);
    }