[DEBUG] correct periodic call

This commit is contained in:
Edouard DUPIN 2016-10-20 21:35:32 +02:00
parent 96e1e298e1
commit eecbd99072
4 changed files with 28 additions and 15 deletions

View File

@ -5,6 +5,7 @@
*/
#include <ege/widget/Mesh.hpp>
#include <ewol/object/Manager.hpp>
#include <ewol/widget/Manager.hpp>
#include <gale/resource/Manager.hpp>
#include <ege/debug.hpp>
@ -108,9 +109,9 @@ void ege::widget::Mesh::setAngle(const vec3& _angle) {
void ege::widget::Mesh::setAngleSpeed(const vec3& _speed) {
if (_speed != vec3(0,0,0)) {
periodicCallEnable();
m_PCH = getObjectManager().periodicCall.connect(this, &ege::widget::Mesh::periodicCall);
} else {
periodicCallDisable();
m_PCH.disconnect();
}
m_angleSpeed = _speed;
markToRedraw();

View File

@ -31,12 +31,18 @@ namespace ege {
void init(); // automatic considering in the appl Data older
public:
virtual ~Mesh();
public: // Derived function
virtual void onRegenerateDisplay();
virtual void systemDraw(const ewol::DrawProperty& _displayProp);
virtual void onDraw();
virtual bool onEventInput(const ewol::event::Input& _event);
virtual void periodicCall(const ewol::event::Time& _event);
public:
void onRegenerateDisplay() override;
void systemDraw(const ewol::DrawProperty& _displayProp) override;
void onDraw() override;
bool onEventInput(const ewol::event::Input& _event) override;
protected:
esignal::Connection m_PCH; //!< Periodic call handle to remove it when needed
/**
* @brief Periodic call to update grapgic display
* @param[in] _event Time generic event
*/
void periodicCall(const ewol::event::Time& _event);
public:
/**
* @brief set a mesh name file

View File

@ -10,6 +10,7 @@
#include <cmath>
#include <ege/debug.hpp>
#include <ewol/ewol.hpp>
#include <ewol/object/Manager.hpp>
#include <gale/renderer/openGL/openGL.hpp>
#include <etk/math/Matrix4.hpp>
#include <BulletDynamics/Dynamics/btRigidBody.h>
@ -47,7 +48,7 @@ void ege::widget::Scene::init() {
ewol::Widget::init();
setKeyboardRepeate(false);
propertyCanFocus.set(true);
periodicCallEnable();
m_PCH = getObjectManager().periodicCall.connect(this, &ege::widget::Scene::periodicCall);
m_debugDrawProperty = ewol::resource::Colored3DObject::create();
}

View File

@ -78,13 +78,18 @@ namespace ege {
protected:
// Note : This is only for temporary elements : on the display
std::vector<ege::Environement::ResultNearestElement> m_displayElementOrdered;
protected: // Derived function
virtual void onDraw();
public: // Derived function
virtual void systemDraw(const ewol::DrawProperty& _displayProp);
virtual void onRegenerateDisplay();
protected:
esignal::Connection m_PCH; //!< Periodic call handle to remove it when needed
/**
* @brief Periodic call to update grapgic display
* @param[in] _event Time generic event
*/
virtual void periodicCall(const ewol::event::Time& _event);
virtual void calculateSize();
protected:
void onDraw() override;
void systemDraw(const ewol::DrawProperty& _displayProp) override;
void onRegenerateDisplay() override;
void calculateSize() override;
};
}
}