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

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

Fix clipping issue in StackView.

Change-Id: I7ec28f25c3993a2bd7ef6399ba1923839d239905
parent c65217e4
Loading
Loading
Loading
Loading
+0 −2
Original line number Original line Diff line number Diff line
@@ -34,8 +34,6 @@ import android.util.AttributeSet;
import android.util.Log;
import android.util.Log;
import android.view.RemotableViewMethod;
import android.view.RemotableViewMethod;
import android.view.View;
import android.view.View;
import android.view.accessibility.AccessibilityEvent;
import android.view.accessibility.AccessibilityManager;
import android.widget.RemoteViews.RemoteView;
import android.widget.RemoteViews.RemoteView;




+8 −10
Original line number Original line Diff line number Diff line
@@ -16,10 +16,9 @@


package android.widget;
package android.widget;


import android.animation.PropertyValuesHolder;
import android.animation.ObjectAnimator;
import android.animation.ObjectAnimator;
import android.animation.PropertyValuesHolder;
import android.content.Context;
import android.content.Context;
import android.content.res.Resources;
import android.graphics.Bitmap;
import android.graphics.Bitmap;
import android.graphics.BlurMaskFilter;
import android.graphics.BlurMaskFilter;
import android.graphics.Canvas;
import android.graphics.Canvas;
@@ -31,15 +30,12 @@ import android.graphics.Rect;
import android.graphics.RectF;
import android.graphics.RectF;
import android.graphics.TableMaskFilter;
import android.graphics.TableMaskFilter;
import android.util.AttributeSet;
import android.util.AttributeSet;
import android.util.DisplayMetrics;
import android.util.Log;
import android.util.Log;
import android.view.MotionEvent;
import android.view.MotionEvent;
import android.view.VelocityTracker;
import android.view.VelocityTracker;
import android.view.View;
import android.view.View;
import android.view.ViewConfiguration;
import android.view.ViewConfiguration;
import android.view.ViewGroup;
import android.view.ViewGroup;
import android.view.View.MeasureSpec;
import android.view.ViewGroup.LayoutParams;
import android.view.animation.LinearInterpolator;
import android.view.animation.LinearInterpolator;
import android.widget.RemoteViews.RemoteView;
import android.widget.RemoteViews.RemoteView;


@@ -54,13 +50,14 @@ public class StackView extends AdapterViewAnimator {
    /**
    /**
     * Default animation parameters
     * Default animation parameters
     */
     */
    private final int DEFAULT_ANIMATION_DURATION = 400;
    private static final int DEFAULT_ANIMATION_DURATION = 400;
    private final int MINIMUM_ANIMATION_DURATION = 50;
    private static final int MINIMUM_ANIMATION_DURATION = 50;


    /**
    /**
     * Parameters effecting the perspective visuals
     * Parameters effecting the perspective visuals
     */
     */
    private static float PERSPECTIVE_SHIFT_FACTOR = 0.12f;
    private static float PERSPECTIVE_SHIFT_FACTOR = 0.12f;
    @SuppressWarnings({"FieldCanBeLocal"})
    private static float PERSPECTIVE_SCALE_FACTOR = 0.35f;
    private static float PERSPECTIVE_SCALE_FACTOR = 0.35f;


    /**
    /**
@@ -182,7 +179,6 @@ public class StackView extends AdapterViewAnimator {
            // Slide item in
            // Slide item in
            view.setVisibility(VISIBLE);
            view.setVisibility(VISIBLE);


            LayoutParams lp = (LayoutParams) view.getLayoutParams();
            int duration = Math.round(mStackSlider.getDurationForNeutralPosition(mYVelocity));
            int duration = Math.round(mStackSlider.getDurationForNeutralPosition(mYVelocity));


            StackSlider animationSlider = new StackSlider(mStackSlider);
            StackSlider animationSlider = new StackSlider(mStackSlider);
@@ -195,8 +191,6 @@ public class StackView extends AdapterViewAnimator {
            pa.start();
            pa.start();
        } else if (fromIndex == mNumActiveViews - 2 && toIndex == mNumActiveViews - 1) {
        } else if (fromIndex == mNumActiveViews - 2 && toIndex == mNumActiveViews - 1) {
            // Slide item out
            // Slide item out
            LayoutParams lp = (LayoutParams) view.getLayoutParams();

            int duration = Math.round(mStackSlider.getDurationForOffscreenPosition(mYVelocity));
            int duration = Math.round(mStackSlider.getDurationForOffscreenPosition(mYVelocity));


            StackSlider animationSlider = new StackSlider(mStackSlider);
            StackSlider animationSlider = new StackSlider(mStackSlider);
@@ -730,10 +724,14 @@ public class StackView extends AdapterViewAnimator {
            return 0;
            return 0;
        }
        }


        // Used for animations
        @SuppressWarnings({"UnusedDeclaration"})
        public float getYProgress() {
        public float getYProgress() {
            return mYProgress;
            return mYProgress;
        }
        }


        // Used for animations
        @SuppressWarnings({"UnusedDeclaration"})
        public float getXProgress() {
        public float getXProgress() {
            return mXProgress;
            return mXProgress;
        }
        }
+1 −1
Original line number Original line Diff line number Diff line
@@ -87,7 +87,7 @@ void Matrix4::load(const SkMatrix& v) {


    data[kScaleZ] = 1.0f;
    data[kScaleZ] = 1.0f;


    mSimpleMatrix = (v.getType() <= SkMatrix::kScale_Mask);
    mSimpleMatrix = (v.getType() <= (SkMatrix::kScale_Mask | SkMatrix::kTranslate_Mask));
}
}


void Matrix4::copyTo(SkMatrix& v) const {
void Matrix4::copyTo(SkMatrix& v) const {
+6 −3
Original line number Original line Diff line number Diff line
@@ -597,8 +597,10 @@ void OpenGLRenderer::getMatrix(SkMatrix* matrix) {
}
}


void OpenGLRenderer::concatMatrix(SkMatrix* matrix) {
void OpenGLRenderer::concatMatrix(SkMatrix* matrix) {
    mat4 m(*matrix);
    SkMatrix transform;
    mSnapshot->transform->multiply(m);
    mSnapshot->transform->copyTo(transform);
    transform.preConcat(*matrix);
    mSnapshot->transform->load(transform);
}
}


///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////
@@ -606,7 +608,8 @@ void OpenGLRenderer::concatMatrix(SkMatrix* matrix) {
///////////////////////////////////////////////////////////////////////////////
///////////////////////////////////////////////////////////////////////////////


void OpenGLRenderer::setScissorFromClip() {
void OpenGLRenderer::setScissorFromClip() {
    const Rect& clip = *mSnapshot->clipRect;
    Rect clip(*mSnapshot->clipRect);
    clip.snapToPixelBoundaries();
    glScissor(clip.left, mSnapshot->height - clip.bottom, clip.getWidth(), clip.getHeight());
    glScissor(clip.left, mSnapshot->height - clip.bottom, clip.getWidth(), clip.getHeight());
}
}


+19 −0
Original line number Original line Diff line number Diff line
@@ -39,6 +39,15 @@
            </intent-filter>
            </intent-filter>
        </activity>
        </activity>
        
        
        <activity
                android:name="Bitmaps3dActivity"
                android:label="_Bitmaps3d">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        
        <activity
        <activity
                android:name="LabelsActivity"
                android:name="LabelsActivity"
                android:label="_Labels">
                android:label="_Labels">
@@ -48,6 +57,16 @@
            </intent-filter>
            </intent-filter>
        </activity>
        </activity>


            <activity
                android:name="ViewFlipperActivity"
                android:label="_ViewFlipper"
                android:theme="@android:style/Theme.Translucent.NoTitleBar">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

        <activity
        <activity
                android:name="ResizeActivity"
                android:name="ResizeActivity"
                android:label="_Resize"
                android:label="_Resize"
Loading