TaskViewTransform.java revision b5ddfc375616bf7dbe9f4ff85ad124f02cc5990f
1cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root/*
2cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Copyright (C) 2014 The Android Open Source Project
3cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
4cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Licensed under the Apache License, Version 2.0 (the "License");
5cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * you may not use this file except in compliance with the License.
6cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * You may obtain a copy of the License at
7cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
8cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *      http://www.apache.org/licenses/LICENSE-2.0
9cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root *
10cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * Unless required by applicable law or agreed to in writing, software
11cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * distributed under the License is distributed on an "AS IS" BASIS,
12cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * See the License for the specific language governing permissions and
14cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root * limitations under the License.
15cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root */
16cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
17cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootpackage com.android.systemui.recents.views;
18cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
19cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootimport android.graphics.Rect;
20cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
21cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
22cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root/* The transform state for a task view */
23cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Rootpublic class TaskViewTransform {
24cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public int translationY = 0;
25cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public int translationZ = 0;
26cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public float scale = 1f;
27cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public float alpha = 1f;
28cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public float dismissAlpha = 1f;
29cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public boolean visible = false;
30cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public Rect rect = new Rect();
31cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    float t;
32cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
33cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public TaskViewTransform() {
34cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        // Do nothing
35cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
36cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
37cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public TaskViewTransform(TaskViewTransform o) {
38cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        translationY = o.translationY;
39cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        translationZ = o.translationZ;
40cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        scale = o.scale;
41cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        alpha = o.alpha;
42cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        dismissAlpha = o.dismissAlpha;
43cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        visible = o.visible;
44cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        rect.set(o.rect);
45cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        t = o.t;
46cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
47cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
48cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    /** Convenience functions to compare against current property values */
49cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public boolean hasAlphaChangedFrom(float v) {
50cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return (Float.compare(alpha, v) != 0);
51cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
52cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public boolean hasDismissAlphaChangedFrom(float v) {
53cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return (Float.compare(dismissAlpha, v) != 0);
54cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
55cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public boolean hasScaleChangedFrom(float v) {
56cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return (Float.compare(scale, v) != 0);
57cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
58cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public boolean hasTranslationYChangedFrom(float v) {
59cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return (Float.compare(translationY, v) != 0);
60cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
61cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public boolean hasTranslationZChangedFrom(float v) {
62cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return (Float.compare(translationZ, v) != 0);
63cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
64cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root
65cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    @Override
66cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    public String toString() {
67cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root        return "TaskViewTransform y: " + translationY + " z: " + translationZ + " scale: " + scale +
68cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root                " alpha: " + alpha + " visible: " + visible + " rect: " + rect +
69cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root                " dismissAlpha: " + dismissAlpha;
70cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root    }
71cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root}
72cf0b38ca6e5aa5efded7dbdbb623f6cd2746c96aKenny Root