Working on plugin active concept

This commit is contained in:
Brad Davis 2015-10-13 10:01:01 -07:00
parent 8a0540234c
commit 7f8f5f66c7
9 changed files with 22 additions and 15 deletions

View file

@ -27,7 +27,4 @@ void NullDisplayPlugin::preRender() {}
void NullDisplayPlugin::preDisplay() {}
void NullDisplayPlugin::display(GLuint sceneTexture, const glm::uvec2& sceneSize) {}
void NullDisplayPlugin::finishFrame() {}
void NullDisplayPlugin::activate() {}
void NullDisplayPlugin::deactivate() {}
void NullDisplayPlugin::stop() {}

View file

@ -15,8 +15,6 @@ public:
virtual ~NullDisplayPlugin() final {}
virtual const QString & getName() const override;
void activate() override;
void deactivate() override;
void stop() override;
virtual glm::uvec2 getRecommendedRenderSize() const override;

View file

@ -57,12 +57,12 @@ void OpenGLDisplayPlugin::customizeContext() {
}
void OpenGLDisplayPlugin::activate() {
_active = true;
DisplayPlugin::activate();
_timer.start(1);
}
void OpenGLDisplayPlugin::stop() {
_active = false;
DisplayPlugin::activate();
_timer.stop();
}

View file

@ -44,7 +44,6 @@ protected:
mutable QTimer _timer;
ProgramPtr _program;
ShapeWrapperPtr _plane;
bool _active{ false };
bool _vsyncSupported{ false };
};

View file

@ -13,6 +13,9 @@
#define hifi_KeyboardMouseDevice_h
#include <chrono>
#include <QtCore/QPoint>
#include "InputDevice.h"
#include "InputPlugin.h"
@ -65,9 +68,6 @@ public:
virtual bool isJointController() const override { return false; }
const QString& getName() const override { return NAME; }
virtual void activate() override {};
virtual void deactivate() override {};
virtual void pluginFocusOutEvent() override { focusOutEvent(); }
virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override { update(deltaTime, jointsCaptured); }

View file

@ -34,8 +34,6 @@ public:
virtual void init() override;
virtual void deinit() override;
virtual void activate() override {};
virtual void deactivate() override {};
virtual void pluginFocusOutEvent() override;
virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override;

View file

@ -85,6 +85,7 @@ bool SixenseManager::isSupported() const {
}
void SixenseManager::activate() {
InputPlugin::activate();
#ifdef HAVE_SIXENSE
_calibrationState = CALIBRATION_STATE_IDLE;
_avatarPosition = DEFAULT_AVATAR_POSITION;
@ -125,6 +126,7 @@ void SixenseManager::activate() {
}
void SixenseManager::deactivate() {
InputPlugin::deactivate();
#ifdef HAVE_SIXENSE
CONTAINER->removeMenuItem(MENU_NAME, TOGGLE_SMOOTH);
CONTAINER->removeMenu(MENU_PATH);

View file

@ -79,6 +79,7 @@ bool ViveControllerManager::isSupported() const {
}
void ViveControllerManager::activate() {
InputPlugin::activate();
#ifdef Q_OS_WIN
CONTAINER->addMenu(MENU_PATH);
CONTAINER->addMenuItem(MENU_PATH, RENDER_CONTROLLERS,
@ -143,6 +144,8 @@ void ViveControllerManager::activate() {
}
void ViveControllerManager::deactivate() {
InputPlugin::deactivate();
#ifdef Q_OS_WIN
CONTAINER->removeMenuItem(MENU_NAME, RENDER_CONTROLLERS);
CONTAINER->removeMenu(MENU_PATH);

View file

@ -33,9 +33,18 @@ public:
virtual void deinit();
/// Called when a plugin is being activated for use. May be called multiple times.
virtual void activate() = 0;
virtual void activate() {
_active = true;
}
/// Called when a plugin is no longer being used. May be called multiple times.
virtual void deactivate() = 0;
virtual void deactivate() {
_active = false;
}
virtual bool isActive() {
return _active;
}
/**
* Called by the application during it's idle phase. If the plugin needs to do
@ -48,6 +57,7 @@ public:
virtual void loadSettings() {}
protected:
bool _active{ false };
static PluginContainer* CONTAINER;
static QString UNKNOWN_PLUGIN_ID;