reworking of view/camera mode to match spec

This commit is contained in:
Brad Hefta-Gaub 2016-01-07 12:42:18 -08:00
parent 1508a637ab
commit d51f514281
5 changed files with 35 additions and 24 deletions

View file

@ -1338,7 +1338,7 @@ void Application::paintGL() {
renderArgs._context->syncCache(); renderArgs._context->syncCache();
} }
if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { if (Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) {
PerformanceTimer perfTimer("Mirror"); PerformanceTimer perfTimer("Mirror");
auto primaryFbo = DependencyManager::get<FramebufferCache>()->getPrimaryFramebuffer(); auto primaryFbo = DependencyManager::get<FramebufferCache>()->getPrimaryFramebuffer();
@ -1985,7 +1985,7 @@ void Application::keyPressEvent(QKeyEvent* event) {
case Qt::Key_H: case Qt::Key_H:
if (isShifted) { if (isShifted) {
Menu::getInstance()->triggerOption(MenuOption::Mirror); Menu::getInstance()->triggerOption(MenuOption::MiniMirror);
} else { } else {
Menu::getInstance()->setIsOptionChecked(MenuOption::FullscreenMirror, !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)); Menu::getInstance()->setIsOptionChecked(MenuOption::FullscreenMirror, !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror));
if (!Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) { if (!Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)) {

View file

@ -144,32 +144,43 @@ Menu::Menu() {
// View menu ---------------------------------- // View menu ----------------------------------
// FIXME - this is not yet matching Alan's spec because it bundles the camera mode
// into a sub menu. I need to double check that cameraMenuChanged() is updated
// to handle not being in a sub-menu
MenuWrapper* viewMenu = addMenu("View"); MenuWrapper* viewMenu = addMenu("View");
MenuWrapper* cameraModeMenu = viewMenu->addMenu("Camera Mode"); QActionGroup* cameraModeGroup = new QActionGroup(viewMenu);
QActionGroup* cameraModeGroup = new QActionGroup(cameraModeMenu);
// View > [camera group]
cameraModeGroup->setExclusive(true); cameraModeGroup->setExclusive(true);
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
// View > First Person
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
MenuOption::FirstPerson, 0, // QML Qt:: Key_P MenuOption::FirstPerson, 0, // QML Qt:: Key_P
false, qApp, SLOT(cameraMenuChanged()))); false, qApp, SLOT(cameraMenuChanged())));
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
// View > Third Person
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
MenuOption::ThirdPerson, 0, MenuOption::ThirdPerson, 0,
true, qApp, SLOT(cameraMenuChanged()))); true, qApp, SLOT(cameraMenuChanged())));
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
MenuOption::IndependentMode, 0, // View > Mirror
false, qApp, SLOT(cameraMenuChanged()))); cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
MenuOption::CameraEntityMode, 0,
false, qApp, SLOT(cameraMenuChanged())));
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(cameraModeMenu,
MenuOption::FullscreenMirror, 0, // QML Qt::Key_H, MenuOption::FullscreenMirror, 0, // QML Qt::Key_H,
false, qApp, SLOT(cameraMenuChanged()))); false, qApp, SLOT(cameraMenuChanged())));
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::Mirror, // View > Independent [advanced]
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
MenuOption::IndependentMode, 0,
false, qApp, SLOT(cameraMenuChanged()),
UNSPECIFIED_POSITION, "Advanced"));
// View > Entity Camera [advanced]
cameraModeGroup->addAction(addCheckableActionToQMenuAndActionHash(viewMenu,
MenuOption::CameraEntityMode, 0,
false, qApp, SLOT(cameraMenuChanged()),
UNSPECIFIED_POSITION, "Advanced"));
// View > Mini Mirror [advanced]
addCheckableActionToQMenuAndActionHash(viewMenu, MenuOption::MiniMirror,
0, //QML Qt::SHIFT | Qt::Key_H, 0, //QML Qt::SHIFT | Qt::Key_H,
true); false, NULL, NULL, UNSPECIFIED_POSITION, "Advanced");
// Edit menu ---------------------------------- // Edit menu ----------------------------------

View file

@ -218,7 +218,7 @@ namespace MenuOption {
const QString FixGaze = "Fix Gaze (no saccade)"; const QString FixGaze = "Fix Gaze (no saccade)";
const QString Forward = "Forward"; const QString Forward = "Forward";
const QString FrameTimer = "Show Timer"; const QString FrameTimer = "Show Timer";
const QString FullscreenMirror = "Fullscreen Mirror"; const QString FullscreenMirror = "Mirror";
const QString GlowWhenSpeaking = "Glow When Speaking"; const QString GlowWhenSpeaking = "Glow When Speaking";
const QString Help = "Help..."; const QString Help = "Help...";
const QString IncreaseAvatarSize = "Increase Avatar Size"; const QString IncreaseAvatarSize = "Increase Avatar Size";
@ -234,7 +234,7 @@ namespace MenuOption {
const QString LogExtraTimings = "Log Extra Timing Details"; const QString LogExtraTimings = "Log Extra Timing Details";
const QString LowVelocityFilter = "Low Velocity Filter"; const QString LowVelocityFilter = "Low Velocity Filter";
const QString MeshVisible = "Draw Mesh"; const QString MeshVisible = "Draw Mesh";
const QString Mirror = "Mirror"; const QString MiniMirror = "Mini Mirror";
const QString MuteAudio = "Mute Microphone"; const QString MuteAudio = "Mute Microphone";
const QString MuteEnvironment = "Mute Environment"; const QString MuteEnvironment = "Mute Environment";
const QString MuteFaceTracking = "Mute Face Tracking"; const QString MuteFaceTracking = "Mute Face Tracking";

View file

@ -158,7 +158,7 @@ void ApplicationOverlay::renderRearViewToFbo(RenderArgs* renderArgs) {
} }
void ApplicationOverlay::renderRearView(RenderArgs* renderArgs) { void ApplicationOverlay::renderRearView(RenderArgs* renderArgs) {
if (!qApp->isHMDMode() && Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { if (!qApp->isHMDMode() && Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) {
gpu::Batch& batch = *renderArgs->_batch; gpu::Batch& batch = *renderArgs->_batch;
auto geometryCache = DependencyManager::get<GeometryCache>(); auto geometryCache = DependencyManager::get<GeometryCache>();

View file

@ -62,7 +62,7 @@ void AvatarInputs::update() {
if (!Menu::getInstance()) { if (!Menu::getInstance()) {
return; return;
} }
AI_UPDATE(mirrorVisible, Menu::getInstance()->isOptionChecked(MenuOption::Mirror) && !qApp->isHMDMode() AI_UPDATE(mirrorVisible, Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror) && !qApp->isHMDMode()
&& !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror)); && !Menu::getInstance()->isOptionChecked(MenuOption::FullscreenMirror));
AI_UPDATE(cameraEnabled, !Menu::getInstance()->isOptionChecked(MenuOption::NoFaceTracking)); AI_UPDATE(cameraEnabled, !Menu::getInstance()->isOptionChecked(MenuOption::NoFaceTracking));
AI_UPDATE(cameraMuted, Menu::getInstance()->isOptionChecked(MenuOption::MuteFaceTracking)); AI_UPDATE(cameraMuted, Menu::getInstance()->isOptionChecked(MenuOption::MuteFaceTracking));
@ -129,7 +129,7 @@ void AvatarInputs::toggleZoom() {
} }
void AvatarInputs::closeMirror() { void AvatarInputs::closeMirror() {
if (Menu::getInstance()->isOptionChecked(MenuOption::Mirror)) { if (Menu::getInstance()->isOptionChecked(MenuOption::MiniMirror)) {
Menu::getInstance()->triggerOption(MenuOption::Mirror); Menu::getInstance()->triggerOption(MenuOption::MiniMirror);
} }
} }