mirror of
https://github.com/overte-org/overte.git
synced 2025-08-09 10:07:58 +02:00
Working on plugin active concept
This commit is contained in:
parent
8a0540234c
commit
7f8f5f66c7
9 changed files with 22 additions and 15 deletions
|
@ -27,7 +27,4 @@ void NullDisplayPlugin::preRender() {}
|
||||||
void NullDisplayPlugin::preDisplay() {}
|
void NullDisplayPlugin::preDisplay() {}
|
||||||
void NullDisplayPlugin::display(GLuint sceneTexture, const glm::uvec2& sceneSize) {}
|
void NullDisplayPlugin::display(GLuint sceneTexture, const glm::uvec2& sceneSize) {}
|
||||||
void NullDisplayPlugin::finishFrame() {}
|
void NullDisplayPlugin::finishFrame() {}
|
||||||
|
|
||||||
void NullDisplayPlugin::activate() {}
|
|
||||||
void NullDisplayPlugin::deactivate() {}
|
|
||||||
void NullDisplayPlugin::stop() {}
|
void NullDisplayPlugin::stop() {}
|
||||||
|
|
|
@ -15,8 +15,6 @@ public:
|
||||||
virtual ~NullDisplayPlugin() final {}
|
virtual ~NullDisplayPlugin() final {}
|
||||||
virtual const QString & getName() const override;
|
virtual const QString & getName() const override;
|
||||||
|
|
||||||
void activate() override;
|
|
||||||
void deactivate() override;
|
|
||||||
void stop() override;
|
void stop() override;
|
||||||
|
|
||||||
virtual glm::uvec2 getRecommendedRenderSize() const override;
|
virtual glm::uvec2 getRecommendedRenderSize() const override;
|
||||||
|
|
|
@ -57,12 +57,12 @@ void OpenGLDisplayPlugin::customizeContext() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenGLDisplayPlugin::activate() {
|
void OpenGLDisplayPlugin::activate() {
|
||||||
_active = true;
|
DisplayPlugin::activate();
|
||||||
_timer.start(1);
|
_timer.start(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
void OpenGLDisplayPlugin::stop() {
|
void OpenGLDisplayPlugin::stop() {
|
||||||
_active = false;
|
DisplayPlugin::activate();
|
||||||
_timer.stop();
|
_timer.stop();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,6 @@ protected:
|
||||||
mutable QTimer _timer;
|
mutable QTimer _timer;
|
||||||
ProgramPtr _program;
|
ProgramPtr _program;
|
||||||
ShapeWrapperPtr _plane;
|
ShapeWrapperPtr _plane;
|
||||||
bool _active{ false };
|
|
||||||
bool _vsyncSupported{ false };
|
bool _vsyncSupported{ false };
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -13,6 +13,9 @@
|
||||||
#define hifi_KeyboardMouseDevice_h
|
#define hifi_KeyboardMouseDevice_h
|
||||||
|
|
||||||
#include <chrono>
|
#include <chrono>
|
||||||
|
|
||||||
|
#include <QtCore/QPoint>
|
||||||
|
|
||||||
#include "InputDevice.h"
|
#include "InputDevice.h"
|
||||||
#include "InputPlugin.h"
|
#include "InputPlugin.h"
|
||||||
|
|
||||||
|
@ -65,9 +68,6 @@ public:
|
||||||
virtual bool isJointController() const override { return false; }
|
virtual bool isJointController() const override { return false; }
|
||||||
const QString& getName() const override { return NAME; }
|
const QString& getName() const override { return NAME; }
|
||||||
|
|
||||||
virtual void activate() override {};
|
|
||||||
virtual void deactivate() override {};
|
|
||||||
|
|
||||||
virtual void pluginFocusOutEvent() override { focusOutEvent(); }
|
virtual void pluginFocusOutEvent() override { focusOutEvent(); }
|
||||||
virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override { update(deltaTime, jointsCaptured); }
|
virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override { update(deltaTime, jointsCaptured); }
|
||||||
|
|
||||||
|
|
|
@ -34,8 +34,6 @@ public:
|
||||||
|
|
||||||
virtual void init() override;
|
virtual void init() override;
|
||||||
virtual void deinit() override;
|
virtual void deinit() override;
|
||||||
virtual void activate() override {};
|
|
||||||
virtual void deactivate() override {};
|
|
||||||
|
|
||||||
virtual void pluginFocusOutEvent() override;
|
virtual void pluginFocusOutEvent() override;
|
||||||
virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override;
|
virtual void pluginUpdate(float deltaTime, bool jointsCaptured) override;
|
||||||
|
|
|
@ -85,6 +85,7 @@ bool SixenseManager::isSupported() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SixenseManager::activate() {
|
void SixenseManager::activate() {
|
||||||
|
InputPlugin::activate();
|
||||||
#ifdef HAVE_SIXENSE
|
#ifdef HAVE_SIXENSE
|
||||||
_calibrationState = CALIBRATION_STATE_IDLE;
|
_calibrationState = CALIBRATION_STATE_IDLE;
|
||||||
_avatarPosition = DEFAULT_AVATAR_POSITION;
|
_avatarPosition = DEFAULT_AVATAR_POSITION;
|
||||||
|
@ -125,6 +126,7 @@ void SixenseManager::activate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void SixenseManager::deactivate() {
|
void SixenseManager::deactivate() {
|
||||||
|
InputPlugin::deactivate();
|
||||||
#ifdef HAVE_SIXENSE
|
#ifdef HAVE_SIXENSE
|
||||||
CONTAINER->removeMenuItem(MENU_NAME, TOGGLE_SMOOTH);
|
CONTAINER->removeMenuItem(MENU_NAME, TOGGLE_SMOOTH);
|
||||||
CONTAINER->removeMenu(MENU_PATH);
|
CONTAINER->removeMenu(MENU_PATH);
|
||||||
|
|
|
@ -79,6 +79,7 @@ bool ViveControllerManager::isSupported() const {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViveControllerManager::activate() {
|
void ViveControllerManager::activate() {
|
||||||
|
InputPlugin::activate();
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
CONTAINER->addMenu(MENU_PATH);
|
CONTAINER->addMenu(MENU_PATH);
|
||||||
CONTAINER->addMenuItem(MENU_PATH, RENDER_CONTROLLERS,
|
CONTAINER->addMenuItem(MENU_PATH, RENDER_CONTROLLERS,
|
||||||
|
@ -143,6 +144,8 @@ void ViveControllerManager::activate() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void ViveControllerManager::deactivate() {
|
void ViveControllerManager::deactivate() {
|
||||||
|
InputPlugin::deactivate();
|
||||||
|
|
||||||
#ifdef Q_OS_WIN
|
#ifdef Q_OS_WIN
|
||||||
CONTAINER->removeMenuItem(MENU_NAME, RENDER_CONTROLLERS);
|
CONTAINER->removeMenuItem(MENU_NAME, RENDER_CONTROLLERS);
|
||||||
CONTAINER->removeMenu(MENU_PATH);
|
CONTAINER->removeMenu(MENU_PATH);
|
||||||
|
|
|
@ -33,9 +33,18 @@ public:
|
||||||
virtual void deinit();
|
virtual void deinit();
|
||||||
|
|
||||||
/// Called when a plugin is being activated for use. May be called multiple times.
|
/// 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.
|
/// 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
|
* Called by the application during it's idle phase. If the plugin needs to do
|
||||||
|
@ -48,6 +57,7 @@ public:
|
||||||
virtual void loadSettings() {}
|
virtual void loadSettings() {}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
bool _active{ false };
|
||||||
static PluginContainer* CONTAINER;
|
static PluginContainer* CONTAINER;
|
||||||
static QString UNKNOWN_PLUGIN_ID;
|
static QString UNKNOWN_PLUGIN_ID;
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue