Merge "bootanimation: correct logo position and size after resolution changed" into tm-dev
This commit is contained in:
@@ -577,8 +577,8 @@ status_t BootAnimation::readyToRun() {
|
|||||||
mDisplay = display;
|
mDisplay = display;
|
||||||
mContext = context;
|
mContext = context;
|
||||||
mSurface = surface;
|
mSurface = surface;
|
||||||
mWidth = w;
|
mInitWidth = mWidth = w;
|
||||||
mHeight = h;
|
mInitHeight = mHeight = h;
|
||||||
mFlingerSurfaceControl = control;
|
mFlingerSurfaceControl = control;
|
||||||
mFlingerSurface = s;
|
mFlingerSurface = s;
|
||||||
mTargetInset = -1;
|
mTargetInset = -1;
|
||||||
@@ -611,6 +611,7 @@ void BootAnimation::resizeSurface(int newWidth, int newHeight) {
|
|||||||
eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
|
eglMakeCurrent(mDisplay, EGL_NO_SURFACE, EGL_NO_SURFACE, EGL_NO_CONTEXT);
|
||||||
eglDestroySurface(mDisplay, mSurface);
|
eglDestroySurface(mDisplay, mSurface);
|
||||||
|
|
||||||
|
mFlingerSurfaceControl->updateDefaultBufferSize(newWidth, newHeight);
|
||||||
const auto limitedSize = limitSurfaceSize(newWidth, newHeight);
|
const auto limitedSize = limitSurfaceSize(newWidth, newHeight);
|
||||||
mWidth = limitedSize.width;
|
mWidth = limitedSize.width;
|
||||||
mHeight = limitedSize.height;
|
mHeight = limitedSize.height;
|
||||||
@@ -1515,8 +1516,10 @@ bool BootAnimation::playAnimation(const Animation& animation) {
|
|||||||
|
|
||||||
processDisplayEvents();
|
processDisplayEvents();
|
||||||
|
|
||||||
const int animationX = (mWidth - animation.width) / 2;
|
const double ratio_w = static_cast<double>(mWidth) / mInitWidth;
|
||||||
const int animationY = (mHeight - animation.height) / 2;
|
const double ratio_h = static_cast<double>(mHeight) / mInitHeight;
|
||||||
|
const int animationX = (mWidth - animation.width * ratio_w) / 2;
|
||||||
|
const int animationY = (mHeight - animation.height * ratio_h) / 2;
|
||||||
|
|
||||||
const Animation::Frame& frame(part.frames[j]);
|
const Animation::Frame& frame(part.frames[j]);
|
||||||
nsecs_t lastFrame = systemTime();
|
nsecs_t lastFrame = systemTime();
|
||||||
@@ -1532,12 +1535,16 @@ bool BootAnimation::playAnimation(const Animation& animation) {
|
|||||||
initTexture(frame.map, &w, &h, false /* don't premultiply alpha */);
|
initTexture(frame.map, &w, &h, false /* don't premultiply alpha */);
|
||||||
}
|
}
|
||||||
|
|
||||||
const int xc = animationX + frame.trimX;
|
const int trimWidth = frame.trimWidth * ratio_w;
|
||||||
const int yc = animationY + frame.trimY;
|
const int trimHeight = frame.trimHeight * ratio_h;
|
||||||
|
const int trimX = frame.trimX * ratio_w;
|
||||||
|
const int trimY = frame.trimY * ratio_h;
|
||||||
|
const int xc = animationX + trimX;
|
||||||
|
const int yc = animationY + trimY;
|
||||||
glClear(GL_COLOR_BUFFER_BIT);
|
glClear(GL_COLOR_BUFFER_BIT);
|
||||||
// specify the y center as ceiling((mHeight - frame.trimHeight) / 2)
|
// specify the y center as ceiling((mHeight - frame.trimHeight) / 2)
|
||||||
// which is equivalent to mHeight - (yc + frame.trimHeight)
|
// which is equivalent to mHeight - (yc + frame.trimHeight)
|
||||||
const int frameDrawY = mHeight - (yc + frame.trimHeight);
|
const int frameDrawY = mHeight - (yc + trimHeight);
|
||||||
|
|
||||||
float fade = 0;
|
float fade = 0;
|
||||||
// if the part hasn't been stopped yet then continue fading if necessary
|
// if the part hasn't been stopped yet then continue fading if necessary
|
||||||
@@ -1554,7 +1561,7 @@ bool BootAnimation::playAnimation(const Animation& animation) {
|
|||||||
glUniform1f(mImageColorProgressLocation, colorProgress);
|
glUniform1f(mImageColorProgressLocation, colorProgress);
|
||||||
}
|
}
|
||||||
glEnable(GL_BLEND);
|
glEnable(GL_BLEND);
|
||||||
drawTexturedQuad(xc, frameDrawY, frame.trimWidth, frame.trimHeight);
|
drawTexturedQuad(xc, frameDrawY, trimWidth, trimHeight);
|
||||||
glDisable(GL_BLEND);
|
glDisable(GL_BLEND);
|
||||||
|
|
||||||
if (mClockEnabled && mTimeIsAccurate && validClock(part)) {
|
if (mClockEnabled && mTimeIsAccurate && validClock(part)) {
|
||||||
|
|||||||
@@ -213,6 +213,8 @@ private:
|
|||||||
Texture mAndroid[2];
|
Texture mAndroid[2];
|
||||||
int mWidth;
|
int mWidth;
|
||||||
int mHeight;
|
int mHeight;
|
||||||
|
int mInitWidth;
|
||||||
|
int mInitHeight;
|
||||||
int mMaxWidth = 0;
|
int mMaxWidth = 0;
|
||||||
int mMaxHeight = 0;
|
int mMaxHeight = 0;
|
||||||
int mCurrentInset;
|
int mCurrentInset;
|
||||||
|
|||||||
Reference in New Issue
Block a user