/*
+ * Acess2 GUI v4 (AxWin4)
+ * - By John Hodge (thePowesGang)
+ *
+ * main.cpp
+ * - Program main
*/
#include <CConfig.hpp>
#include <ipc.hpp>
#include <timing.hpp>
#include <exception>
#include <algorithm>
+#include <common.hpp>
extern "C" {
#include <stdio.h>
return 1;
}
// - Open graphics
- Graphics::Initialise(config.m_video);
+ CVideo* vid = new CVideo(config.m_video);
// - Initialise compositor structures
- CCompositor* compositor = new CCompositor(/*config.m_compositor*/);
+ CCompositor* compositor = new CCompositor(/*config.m_compositor,*/ *vid);
// - Open input
- Input::Initialise(config.m_input);
+ CInput* input = new CInput(config.m_input, *compositor);
// > Handles hotkeys?
// - Bind IPC channels
- IPC::Initialise(config.m_ipc, compositor);
+ IPC::Initialise(config.m_ipc, *compositor);
// - Start root child process (from config)
// TODO: Spin up child process
-
+
// - Event loop
for( ;; )
{
int nfd = 0;
fd_set rfds;
- nfd = ::std::max(nfd, Input::FillSelect(rfds));
+ nfd = ::std::max(nfd, input->FillSelect(rfds));
nfd = ::std::max(nfd, IPC::FillSelect(rfds));
// TODO: Support _SysSendMessage IPC?
Timing::CheckEvents();
- Input::HandleSelect(rfds);
+ input->HandleSelect(rfds);
IPC::HandleSelect(rfds);
compositor->Redraw();
return 0;
}
+namespace AxWin {
+
+const char* InitFailure::what() const throw()
+{
+ return m_what;
+}
+
+
+}
+