AI 143321: am: CL 143172 am: CL 142875 [1732012] for some reason these files didn't go through in the preview check-in.
Original author: mathias Merged from: //branches/cupcake/... Original author: android-build Merged from: //branches/donutburger/... Automated import of CL 143321
This commit is contained in:
committed by
The Android Open Source Project
parent
eb0c86e18b
commit
d97bbd8871
@@ -65,6 +65,8 @@ LayerOrientationAnimRotate::LayerOrientationAnimRotate(
|
||||
mLastAngle = 0;
|
||||
mLastScale = 0;
|
||||
mNeedsBlending = false;
|
||||
const GraphicPlane& plane(graphicPlane(0));
|
||||
mOriginalTargetOrientation = plane.getOrientation();
|
||||
}
|
||||
|
||||
LayerOrientationAnimRotate::~LayerOrientationAnimRotate()
|
||||
@@ -117,10 +119,6 @@ void LayerOrientationAnimRotate::onDraw(const Region& clip) const
|
||||
{
|
||||
// Animation...
|
||||
|
||||
// FIXME: works only for portrait framebuffers
|
||||
const Point size(getPhysicalSize());
|
||||
const float TARGET_SCALE = size.x * (1.0f / size.y);
|
||||
|
||||
const nsecs_t now = systemTime();
|
||||
float angle, scale, alpha;
|
||||
|
||||
@@ -154,6 +152,9 @@ void LayerOrientationAnimRotate::onDraw(const Region& clip) const
|
||||
scale = 1.0f;
|
||||
}
|
||||
} else {
|
||||
// FIXME: works only for portrait framebuffers
|
||||
const Point size(getPhysicalSize());
|
||||
const float TARGET_SCALE = size.x * (1.0f / size.y);
|
||||
const float normalizedTime = float(now - mStartTime) / DURATION;
|
||||
if (normalizedTime <= 1.0f) {
|
||||
mLastNormalizedTime = normalizedTime;
|
||||
@@ -212,8 +213,7 @@ void LayerOrientationAnimRotate::drawScaled(float f, float s, float alpha) const
|
||||
t.format = src.format;
|
||||
t.data = (GGLubyte*)(intptr_t(src.base) + src.offset);
|
||||
|
||||
const int targetOrientation = plane.getOrientation();
|
||||
if (!targetOrientation) {
|
||||
if (!mOriginalTargetOrientation) {
|
||||
f = -f;
|
||||
}
|
||||
|
||||
@@ -246,7 +246,7 @@ void LayerOrientationAnimRotate::drawScaled(float f, float s, float alpha) const
|
||||
drawWithOpenGL(clip, mTextureName, t);
|
||||
|
||||
if (alpha > 0) {
|
||||
const float sign = (!targetOrientation) ? 1.0f : -1.0f;
|
||||
const float sign = (!mOriginalTargetOrientation) ? 1.0f : -1.0f;
|
||||
tr.set(f + sign*(M_PI * 0.5f * ROTATION_FACTOR), w*0.5f, h*0.5f);
|
||||
tr.scale(s, w*0.5f, h*0.5f);
|
||||
tr.transform(self.mVertices[0], 0, 0);
|
||||
|
||||
@@ -60,6 +60,7 @@ private:
|
||||
nsecs_t mStartTime;
|
||||
nsecs_t mFinishTime;
|
||||
bool mOrientationCompleted;
|
||||
int mOriginalTargetOrientation;
|
||||
mutable bool mFirstRedraw;
|
||||
mutable float mLastNormalizedTime;
|
||||
mutable float mLastAngle;
|
||||
|
||||
Reference in New Issue
Block a user