#include "renderable.h"
#include "preferencesystem.h"
-#include "generic/callback.h"
+#include "signal/signal.h"
#include "container/array.h"
#include "scenelib.h"
#include "render.h"
#include "timer.h"
-std::vector<Callback> g_cameraMoved_callbacks;
+Signal0 g_cameraMoved_callbacks;
-void AddCameraMovedCallback(const Callback& callback)
+void AddCameraMovedCallback(const SignalHandler& handler)
{
- g_cameraMoved_callbacks.push_back(callback);
+ g_cameraMoved_callbacks.connectLast(handler);
}
void CameraMovedNotify()
{
- std::for_each(g_cameraMoved_callbacks.begin(), g_cameraMoved_callbacks.end(), CallbackInvoke());
+ g_cameraMoved_callbacks();
}
}
+
void CamWnd_Add_Handlers_Move(CamWnd& camwnd)
{
camwnd.m_selection_button_press_handler = g_signal_connect(G_OBJECT(camwnd.m_gl_widget), "button_press_event", G_CALLBACK(selection_button_press), camwnd.m_window_observer);
void CamWnd::EnableFreeMove()
{
-#if 0
- globalOutputStream() << "EnableFreeMove\n";
-#endif
+ //globalOutputStream() << "EnableFreeMove\n";
+
ASSERT_MESSAGE(!m_bFreeMove, "EnableFreeMove: free-move was already enabled");
m_bFreeMove = true;
Camera_clearMovementFlags(getCamera(), MOVE_ALL);
void CamWnd::DisableFreeMove()
{
-#if 0
- globalOutputStream() << "DisableFreeMove\n";
-#endif
+ //globalOutputStream() << "DisableFreeMove\n";
+
ASSERT_MESSAGE(m_bFreeMove, "DisableFreeMove: free-move was not enabled");
m_bFreeMove = false;
Camera_clearMovementFlags(getCamera(), MOVE_ALL);