Revert virtualpad code. It works on Pixel XL

This commit is contained in:
Cristian Luis Duarte 2018-05-11 20:34:43 -03:00
parent 3f49046f1c
commit f97155b6cd

View file

@ -28,82 +28,82 @@ void Basic2DWindowOpenGLDisplayPlugin::customizeContext() {
qreal dpi = getFullscreenTarget()->physicalDotsPerInch(); qreal dpi = getFullscreenTarget()->physicalDotsPerInch();
_virtualPadPixelSize = dpi * VirtualPad::Manager::BASE_DIAMETER_PIXELS / VirtualPad::Manager::DPI; _virtualPadPixelSize = dpi * VirtualPad::Manager::BASE_DIAMETER_PIXELS / VirtualPad::Manager::DPI;
auto iconPath = PathUtils::resourcesPath() + "images/analog_stick.png"; if (!_virtualPadStickTexture) {
auto image = QImage(iconPath); auto iconPath = PathUtils::resourcesPath() + "images/analog_stick.png";
if (image.format() != QImage::Format_ARGB32) { auto image = QImage(iconPath);
image = image.convertToFormat(QImage::Format_ARGB32); if (image.format() != QImage::Format_ARGB32) {
} image = image.convertToFormat(QImage::Format_ARGB32);
if ((image.width() > 0) && (image.height() > 0)) { }
image = image.scaled(_virtualPadPixelSize, _virtualPadPixelSize, Qt::KeepAspectRatio); if ((image.width() > 0) && (image.height() > 0)) {
image = image.scaled(_virtualPadPixelSize, _virtualPadPixelSize, Qt::KeepAspectRatio);
_virtualPadStickTexture = gpu::Texture::createStrict( _virtualPadStickTexture = gpu::Texture::createStrict(
gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA), gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA),
image.width(), image.height(), image.width(), image.height(),
gpu::Texture::MAX_NUM_MIPS, gpu::Texture::MAX_NUM_MIPS,
gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR)); gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR));
_virtualPadStickTexture->setSource("virtualPad stick"); _virtualPadStickTexture->setSource("virtualPad stick");
auto usage = gpu::Texture::Usage::Builder().withColor().withAlpha(); auto usage = gpu::Texture::Usage::Builder().withColor().withAlpha();
_virtualPadStickTexture->setUsage(usage.build()); _virtualPadStickTexture->setUsage(usage.build());
_virtualPadStickTexture->setStoredMipFormat(gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA)); _virtualPadStickTexture->setStoredMipFormat(gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA));
_virtualPadStickTexture->assignStoredMip(0, image.byteCount(), image.constBits()); _virtualPadStickTexture->assignStoredMip(0, image.byteCount(), image.constBits());
_virtualPadStickTexture->setAutoGenerateMips(true); _virtualPadStickTexture->setAutoGenerateMips(true);
}
} }
if (!_virtualPadStickBaseTexture) {
auto iconPath = PathUtils::resourcesPath() + "images/analog_stick_base.png";
auto image = QImage(iconPath);
if (image.format() != QImage::Format_ARGB32) {
image = image.convertToFormat(QImage::Format_ARGB32);
}
if ((image.width() > 0) && (image.height() > 0)) {
image = image.scaled(_virtualPadPixelSize, _virtualPadPixelSize, Qt::KeepAspectRatio);
iconPath = PathUtils::resourcesPath() + "images/analog_stick_base.png"; _virtualPadStickBaseTexture = gpu::Texture::createStrict(
image = QImage(iconPath); gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA),
if (image.format() != QImage::Format_ARGB32) { image.width(), image.height(),
image = image.convertToFormat(QImage::Format_ARGB32); gpu::Texture::MAX_NUM_MIPS,
} gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR));
if ((image.width() > 0) && (image.height() > 0)) { _virtualPadStickBaseTexture->setSource("virtualPad base");
image = image.scaled(_virtualPadPixelSize, _virtualPadPixelSize, Qt::KeepAspectRatio); auto usage = gpu::Texture::Usage::Builder().withColor().withAlpha();
_virtualPadStickBaseTexture->setUsage(usage.build());
_virtualPadStickBaseTexture = gpu::Texture::createStrict( _virtualPadStickBaseTexture->setStoredMipFormat(gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA));
gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA), _virtualPadStickBaseTexture->assignStoredMip(0, image.byteCount(), image.constBits());
image.width(), image.height(), _virtualPadStickBaseTexture->setAutoGenerateMips(true);
gpu::Texture::MAX_NUM_MIPS, }
gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR));
_virtualPadStickBaseTexture->setSource("virtualPad base");
auto usage = gpu::Texture::Usage::Builder().withColor().withAlpha();
_virtualPadStickBaseTexture->setUsage(usage.build());
_virtualPadStickBaseTexture->setStoredMipFormat(gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA));
_virtualPadStickBaseTexture->assignStoredMip(0, image.byteCount(), image.constBits());
_virtualPadStickBaseTexture->setAutoGenerateMips(true);
} }
_virtualPadJumpBtnPixelSize = dpi * VirtualPad::Manager::JUMP_BTN_FULL_PIXELS / VirtualPad::Manager::DPI; _virtualPadJumpBtnPixelSize = dpi * VirtualPad::Manager::JUMP_BTN_FULL_PIXELS / VirtualPad::Manager::DPI;
iconPath = PathUtils::resourcesPath() + "images/fly.png"; if (!_virtualPadJumpBtnTexture) {
image = QImage(iconPath); auto iconPath = PathUtils::resourcesPath() + "images/fly.png";
if (image.format() != QImage::Format_ARGB32) { auto image = QImage(iconPath);
image = image.convertToFormat(QImage::Format_ARGB32); if (image.format() != QImage::Format_ARGB32) {
} image = image.convertToFormat(QImage::Format_ARGB32);
if ((image.width() > 0) && (image.height() > 0)) { }
image = image.scaled(_virtualPadJumpBtnPixelSize, _virtualPadJumpBtnPixelSize, Qt::KeepAspectRatio); if ((image.width() > 0) && (image.height() > 0)) {
image = image.mirrored(); image = image.scaled(_virtualPadJumpBtnPixelSize, _virtualPadJumpBtnPixelSize, Qt::KeepAspectRatio);
image = image.mirrored();
_virtualPadJumpBtnTexture = gpu::Texture::createStrict( _virtualPadJumpBtnTexture = gpu::Texture::createStrict(
gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA), gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA),
image.width(), image.height(), image.width(), image.height(),
gpu::Texture::MAX_NUM_MIPS, gpu::Texture::MAX_NUM_MIPS,
gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR)); gpu::Sampler(gpu::Sampler::FILTER_MIN_MAG_MIP_LINEAR));
_virtualPadJumpBtnTexture->setSource("virtualPad jump"); _virtualPadJumpBtnTexture->setSource("virtualPad jump");
auto usage = gpu::Texture::Usage::Builder().withColor().withAlpha(); auto usage = gpu::Texture::Usage::Builder().withColor().withAlpha();
_virtualPadJumpBtnTexture->setUsage(usage.build()); _virtualPadJumpBtnTexture->setUsage(usage.build());
_virtualPadJumpBtnTexture->setStoredMipFormat(gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA)); _virtualPadJumpBtnTexture->setStoredMipFormat(gpu::Element(gpu::VEC4, gpu::NUINT8, gpu::RGBA));
_virtualPadJumpBtnTexture->assignStoredMip(0, image.byteCount(), image.constBits()); _virtualPadJumpBtnTexture->assignStoredMip(0, image.byteCount(), image.constBits());
_virtualPadJumpBtnTexture->setAutoGenerateMips(true); _virtualPadJumpBtnTexture->setAutoGenerateMips(true);
}
} }
#endif #endif
Parent::customizeContext(); Parent::customizeContext();
} }
void Basic2DWindowOpenGLDisplayPlugin::uncustomizeContext() { void Basic2DWindowOpenGLDisplayPlugin::uncustomizeContext() {
#if defined(Q_OS_ANDROID)
_virtualPadStickTexture.reset();
_virtualPadStickBaseTexture.reset();
_virtualPadJumpBtnTexture.reset();
#endif
Parent::uncustomizeContext(); Parent::uncustomizeContext();
} }