redraw no-preview message if window size changes

This commit is contained in:
Brad Hefta-Gaub 2016-09-20 10:15:27 -07:00
parent 8f5c5ebf0e
commit 73a7d1b63b
2 changed files with 15 additions and 0 deletions

View file

@ -249,6 +249,9 @@ void HmdDisplayPlugin::internalPresent() {
if (getGLBackend()->isTextureReady(_previewTexture)) {
auto viewport = getViewportForSourceSize(uvec2(_previewTexture->getDimensions()));
qDebug() << "viewport:" << viewport.x << "," << viewport.y << "," << viewport.z << "," << viewport.w;
render([&](gpu::Batch& batch) {
batch.enableStereo(false);
batch.resetViewTransform();
@ -265,6 +268,17 @@ void HmdDisplayPlugin::internalPresent() {
}
}
postPreview();
// If preview is disabled, we need to check to see if the window size has changed
// and re-render the no-preview message
if (_disablePreview) {
auto window = _container->getPrimaryWidget();
glm::vec2 windowSize = toGlm(window->size());
if (windowSize != _lastWindowSize) {
_clearPreviewFlag = true;
_lastWindowSize = windowSize;
}
}
}
// HMD specific stuff

View file

@ -108,6 +108,7 @@ private:
bool _monoPreview { true };
bool _clearPreviewFlag { false };
gpu::TexturePointer _previewTexture;
glm::vec2 _lastWindowSize;
struct OverlayRenderer {
gpu::Stream::FormatPointer format;