git.ucc.asn.au
/
tpg
/
acess2.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
usermode/axwin4 - Blit to screen planned
[tpg/acess2.git]
/
Usermode
/
Applications
/
axwin4_src
/
Server
/
main.cpp
diff --git
a/Usermode/Applications/axwin4_src/Server/main.cpp
b/Usermode/Applications/axwin4_src/Server/main.cpp
index
362661a
..
8f0d9e8
100644
(file)
--- a/
Usermode/Applications/axwin4_src/Server/main.cpp
+++ b/
Usermode/Applications/axwin4_src/Server/main.cpp
@@
-1,10
+1,24
@@
/*
/*
+ * Acess2 GUI v4 (AxWin4)
+ * - By John Hodge (thePowesGang)
+ *
+ * main.cpp
+ * - Program main
*/
#include <CConfig.hpp>
#include <ipc.hpp>
#include <input.hpp>
#include <video.hpp>
*/
#include <CConfig.hpp>
#include <ipc.hpp>
#include <input.hpp>
#include <video.hpp>
+#include <CCompositor.hpp>
#include <timing.hpp>
#include <timing.hpp>
+#include <exception>
+#include <algorithm>
+#include <common.hpp>
+
+extern "C" {
+#include <stdio.h>
+#include <stdint.h>
+};
using namespace AxWin;
using namespace AxWin;
@@
-21,14
+35,14
@@
int main(int argc, char *argv[])
return 1;
}
// - Open graphics
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,*/ *vid);
// - Open input
Input::Initialise(config.m_input);
// > Handles hotkeys?
// - Open input
Input::Initialise(config.m_input);
// > Handles hotkeys?
- // - Initialise compositor structures
- Compositor::Initialise(config.m_compositor);
// - Bind IPC channels
// - Bind IPC channels
- IPC::Initialise(config.m_ipc);
+ IPC::Initialise(config.m_ipc
, compositor
);
// - Start root child process (from config)
// TODO: Spin up child process
// - Start root child process (from config)
// TODO: Spin up child process
@@
-38,20
+52,30
@@
int main(int argc, char *argv[])
int nfd = 0;
fd_set rfds;
int nfd = 0;
fd_set rfds;
-
Input::FillSelect(&nfd, &rfds
);
-
IPC::FillSelect(&nfd, &rfds
);
+
nfd = ::std::max(nfd, Input::FillSelect(rfds)
);
+
nfd = ::std::max(nfd, IPC::FillSelect(rfds)
);
- // TODO:
Timer events
+ // TODO:
Support _SysSendMessage IPC?
int64_t timeout = Timing::GetTimeToNextEvent();
int64_t timeout = Timing::GetTimeToNextEvent();
- int rv = ::_SysSelect(nfd, &rfds, NULL, &rfds,
NULL
, 0);
+ int rv = ::_SysSelect(nfd, &rfds, NULL, &rfds,
&timeout
, 0);
Timing::CheckEvents();
Timing::CheckEvents();
- Input::HandleSelect(
&
rfds);
- IPC::HandleSelect(
&
rfds);
+ Input::HandleSelect(rfds);
+ IPC::HandleSelect(rfds);
-
Compositor::
Redraw();
+
compositor->
Redraw();
}
return 0;
}
}
return 0;
}
+namespace AxWin {
+
+const char* InitFailure::what() const throw()
+{
+ return m_what;
+}
+
+
+}
+
UCC
git Repository :: git.ucc.asn.au