Browse Source

Added main Plip class and a stub gameLoop func.

master
Ian Burgmyer 4 years ago
parent
commit
2e24282d71
  1. 13
      libplip/Plip.cpp
  2. 12
      libplip/Plip.h
  3. 2
      plip-sdl/SdlEvent.h
  4. 2
      plip-sdl/SdlWindow.h
  5. 6
      plip-sdl/main.cpp

13
libplip/Plip.cpp

@ -7,6 +7,15 @@
#include "PlipVersion.h"
namespace Plip {
Plip::Plip(PlipInput *input, PlipVideo *video) {
m_input = input;
m_video = video;
}
PlipInput* Plip::GetInput() {
return m_input;
}
std::string Plip::GetVersion() {
#ifndef GIT_FOUND
return PRODUCT_NAME;
@ -18,4 +27,8 @@ namespace Plip {
#endif // GIT_TAG
#endif // GIT_FOUND
}
PlipVideo* Plip::GetVideo() {
return m_video;
}
}

12
libplip/Plip.h

@ -7,9 +7,21 @@
#include <string>
#include "PlipInput.h"
#include "PlipVideo.h"
namespace Plip {
class Plip {
public:
Plip(PlipInput *input, PlipVideo *video);
static std::string GetVersion();
PlipInput* GetInput();
PlipVideo* GetVideo();
private:
PlipInput *m_input;
PlipVideo *m_video;
};
}

2
plip-sdl/SdlEvent.h

@ -8,7 +8,7 @@
#include "PlipInput.h"
namespace PlipSdl {
class SdlEvent : protected Plip::PlipInput {
class SdlEvent : public Plip::PlipInput {
public:
SdlEvent() = default;
};

2
plip-sdl/SdlWindow.h

@ -10,7 +10,7 @@
#include "PlipVideo.h"
namespace PlipSdl {
class SdlWindow : Plip::PlipVideo {
class SdlWindow : public Plip::PlipVideo {
public:
explicit SdlWindow(int scale = 1, const std::string &title = "");
~SdlWindow();

6
plip-sdl/main.cpp

@ -11,6 +11,9 @@
#include "SdlEvent.h"
#include "SdlWindow.h"
void gameLoop(Plip::Plip *plip) {
}
cxxopts::ParseResult parseCmdLine(int argc, char **argv) {
try {
cxxopts::Options options(argv[0]);
@ -71,6 +74,9 @@ int main(int argc, char **argv) {
auto wnd = new PlipSdl::SdlWindow(opts["scale"].as<int>(), version);
auto event = new PlipSdl::SdlEvent();
auto plip = new Plip::Plip(event, wnd);
gameLoop(plip);
return 0;
}

Loading…
Cancel
Save