Add project files.

This commit is contained in:
2018-06-25 21:48:45 -04:00
parent b04a25689b
commit 3c1b7d28e8
425 changed files with 35333 additions and 0 deletions
@@ -0,0 +1,297 @@
#include "cEvent.hpp"
using EventEngine::cEvent;
cEvent::cEvent()
{}
/*virtual*/ cEvent::~cEvent()
{
//Do nothing
}
/*virtual*/ void cEvent::OnEvent( const SDL_Event& event )
{
switch (event.type)
{
case SDL_WINDOWEVENT:
OnWindowsEvent(event);
break;
case SDL_KEYDOWN:
OnKeyDown(event.key.keysym.sym, event.key.keysym.mod);// , Event->key.keysym.unicode);
break;
case SDL_KEYUP:
OnKeyUp(event.key.keysym.sym, event.key.keysym.mod);//, Event->key.keysym.unicode);
break;
case SDL_MOUSEMOTION:
OnMouseMove(event.motion.x, event.motion.y, event.motion.xrel, event.motion.yrel, (event.motion.state&SDL_BUTTON(SDL_BUTTON_LEFT)) != 0, (event.motion.state&SDL_BUTTON(SDL_BUTTON_RIGHT)) != 0, (event.motion.state&SDL_BUTTON(SDL_BUTTON_MIDDLE)) != 0);
break;
case SDL_MOUSEBUTTONDOWN:
OnMouseButtonUp(event);
break;
case SDL_MOUSEBUTTONUP:
OnMouseButtonDown(event);
break;
case SDL_JOYAXISMOTION:
OnJoyAxis(event.jaxis.which, event.jaxis.axis, event.jaxis.value);
break;
case SDL_JOYBALLMOTION:
OnJoyBall(event.jball.which, event.jball.ball, event.jball.xrel, event.jball.yrel);
break;
case SDL_JOYHATMOTION:
OnJoyHat(event.jhat.which, event.jhat.hat, event.jhat.value);
break;
case SDL_JOYBUTTONDOWN:
OnJoyButtonDown(event.jbutton.which, event.jbutton.button);
break;
case SDL_JOYBUTTONUP:
OnJoyButtonUp(event.jbutton.which, event.jbutton.button);
break;
case SDL_QUIT:
OnExit();
break;
case SDL_SYSWMEVENT:
//Ignore
break;
default:
OnUser(event.user.type, event.user.code, event.user.data1, event.user.data2);
break;
}
}
/*virtual*/ void cEvent::OnInputFocus()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnInputBlur()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnKeyDown(SDL_Keycode sym, Uint16 mod)//, Uint16 unicode)
{
sym, mod;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnKeyUp(SDL_Keycode sym, Uint16 mod)//, Uint16 unicode)
{
sym, mod;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMouseFocus()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMouseBlur()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMouseMove(int mX, int mY, int relX, int relY, bool Left, bool Right, bool Middle)
{
mX, mY, relX, relY, Left, Right, Middle;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMouseWheel(bool Up, bool Down)
{
Up, Down;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnLButtonDown(int mX, int mY)
{
mX, mY;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnLButtonUp(int mX, int mY)
{
mX, mY;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnRButtonDown(int mX, int mY)
{
mX, mY;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnRButtonUp(int mX, int mY)
{
mX, mY;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMButtonDown(int mX, int mY)
{
mX, mY;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMButtonUp(int mX, int mY)
{
mX, mY;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnJoyAxis(SDL_JoystickID which, Uint8 axis, Sint16 value)
{
which, axis, value;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnJoyButtonDown(SDL_JoystickID which, Uint8 button)
{
which, button;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnJoyButtonUp(SDL_JoystickID which, Uint8 button)
{
which, button;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnJoyHat(SDL_JoystickID which, Uint8 hat, Uint8 value)
{
which, hat, value;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnJoyBall(SDL_JoystickID which, Uint8 ball, Sint16 xrel, Sint16 yrel)
{
which, ball, xrel, yrel;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnMinimize()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnRestore()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnResize(int w, int h)
{
w, h;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnExpose()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnExit()
{
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnUser(Uint32 type, int code, void* data1, void* data2)
{
type, code, data1, data2;
//Pure virtual, do nothing
}
/*virtual*/ void cEvent::OnWindowsEvent( const SDL_Event& event )
{
switch (event.window.event)
{
case SDL_WINDOWEVENT_SHOWN:
SDL_Log("Window %d shown", event.window.windowID);
break;
case SDL_WINDOWEVENT_HIDDEN:
SDL_Log("Window %d hidden", event.window.windowID);
break;
case SDL_WINDOWEVENT_EXPOSED:
SDL_Log("Window %d exposed", event.window.windowID);
break;
case SDL_WINDOWEVENT_MOVED:
SDL_Log("Window %d moved to %d,%d",
event.window.windowID, event.window.data1,
event.window.data2);
break;
case SDL_WINDOWEVENT_RESIZED:
SDL_Log("Window %d resized to %dx%d",
event.window.windowID, event.window.data1,
event.window.data2);
break;
case SDL_WINDOWEVENT_SIZE_CHANGED:
SDL_Log("Window %d size changed to %dx%d",
event.window.windowID, event.window.data1,
event.window.data2);
break;
case SDL_WINDOWEVENT_MINIMIZED:
SDL_Log("Window %d minimized", event.window.windowID);
break;
case SDL_WINDOWEVENT_MAXIMIZED:
SDL_Log("Window %d maximized", event.window.windowID);
break;
case SDL_WINDOWEVENT_RESTORED:
SDL_Log("Window %d restored", event.window.windowID);
break;
case SDL_WINDOWEVENT_ENTER:
SDL_Log("Mouse entered window %d",
event.window.windowID);
break;
case SDL_WINDOWEVENT_LEAVE:
SDL_Log("Mouse left window %d", event.window.windowID);
break;
case SDL_WINDOWEVENT_FOCUS_GAINED:
SDL_Log("Window %d gained keyboard focus",
event.window.windowID);
break;
case SDL_WINDOWEVENT_FOCUS_LOST:
SDL_Log("Window %d lost keyboard focus",
event.window.windowID);
break;
case SDL_WINDOWEVENT_CLOSE:
SDL_Log("Window %d closed", event.window.windowID);
break;
default:
SDL_Log("Window %d got unknown event %d",
event.window.windowID, event.window.event);
break;
}
}
/*virtual*/ void cEvent::OnMouseButtonDown( const SDL_Event& event )
{
switch (event.button.button)
{
case SDL_BUTTON_LEFT:
OnLButtonDown(event.button.x, event.button.y);
break;
case SDL_BUTTON_RIGHT:
OnRButtonDown(event.button.x, event.button.y);
break;
case SDL_BUTTON_MIDDLE:
OnMButtonDown(event.button.x, event.button.y);
break;
}
}
/*virtual*/ void cEvent::OnMouseButtonUp( const SDL_Event& event )
{
switch (event.button.button)
{
case SDL_BUTTON_LEFT:
OnLButtonUp(event.button.x, event.button.y);
break;
case SDL_BUTTON_RIGHT:
OnRButtonUp(event.button.x, event.button.y);
break;
case SDL_BUTTON_MIDDLE:
OnMButtonUp(event.button.x, event.button.y);
break;
}
}
@@ -0,0 +1,76 @@
#ifndef _CEVENT_HPP_
#define _CEVENT_HPP_
/*** SDL Header Files ***/
#include <SDL.h>
/*** DLL Header File ***/
#include "dllExport.h"
namespace EventEngine {
class EXPORT_FROM_MYDLL cEvent
{
public:
public:
cEvent();
virtual ~cEvent();
virtual void OnEvent( const SDL_Event& event );
virtual void OnInputFocus();
virtual void OnInputBlur();
virtual void OnKeyDown(SDL_Keycode sym, Uint16 mod);//, Uint16 unicode);
virtual void OnKeyUp(SDL_Keycode sym, Uint16 mod);//, Uint16 unicode);
virtual void OnMouseFocus();
virtual void OnMouseBlur();
virtual void OnMouseMove(int mX, int mY, int relX, int relY, bool Left, bool Right, bool Middle);
virtual void OnMouseWheel(bool Up, bool Down); //Not implemented
virtual void OnLButtonDown(int mX, int mY);
virtual void OnLButtonUp(int mX, int mY);
virtual void OnRButtonDown(int mX, int mY);
virtual void OnRButtonUp(int mX, int mY);
virtual void OnMButtonDown(int mX, int mY);
virtual void OnMButtonUp(int mX, int mY);
virtual void OnJoyAxis(SDL_JoystickID which, Uint8 axis, Sint16 value);
virtual void OnJoyButtonDown(SDL_JoystickID which, Uint8 button);
virtual void OnJoyButtonUp(SDL_JoystickID which, Uint8 button);
virtual void OnJoyHat(SDL_JoystickID which, Uint8 hat, Uint8 value);
virtual void OnJoyBall(SDL_JoystickID which, Uint8 ball, Sint16 xrel, Sint16 yrel);
virtual void OnMinimize();
virtual void OnRestore();
virtual void OnResize(int w, int h);
virtual void OnExpose();
virtual void OnExit();
virtual void OnUser(Uint32 type, int code, void* data1, void* data2);
private:
void OnWindowsEvent( const SDL_Event& event );
void OnMouseButtonDown( const SDL_Event& event );
void OnMouseButtonUp( const SDL_Event& event );
};/// END CLASS DEFINITION cEvent
}/// END NAMESPACE DEFINITION EventEngine
#endif/// END IFNDEF _CEVENT_HPP_
@@ -0,0 +1,123 @@
#include "cEventControl.hpp"
/*** Custom Header Files ***/
#include "../InputEngine/cInput.hpp"
#include "../MathEngine/iVector/iVector2.hpp"
#include "../GUIEngine/cGUI.hpp"
using EventEngine::cEventControl;
using MathEngine::iVector2;
/*static*/ cEventControl* cEventControl::sp_inst = nullptr;
//Private
cEventControl::cEventControl()
{}
cEventControl::~cEventControl()
{
CleanUp();
for (unsigned int i = 0; i < m_children.size(); ++i) {
delete m_children[i];
m_children[i] = nullptr;
}
m_children.clear();
}
//Public
/*static*/ cEventControl& cEventControl::Inst()
{
if (sp_inst == nullptr)
sp_inst = new cEventControl();
return *sp_inst;
}
/*static*/ void cEventControl::Delete()
{
delete sp_inst;
sp_inst = nullptr;
}
//Functions
const bool cEventControl::Initialize() const
{
return true;
}
const bool cEventControl::Setup()
{
return true;
}
void cEventControl::CleanUp()
{
}
/* Checks for Events */
void cEventControl::CheckEvents()
{
SDL_Event event;
while ( SDL_PollEvent(&event)) {
std::vector<EventEngine::cEvent*>::iterator it;
for (it = m_children.begin(); it < m_children.end(); it++) {
(*it)->OnEvent(event);
}
// iVector2 location = { 0, 0 };
// switch (event.type)
// {
// case SDL_KEYUP:
// case SDL_KEYDOWN:
// case SDL_JOYAXISMOTION:
// case SDL_JOYBALLMOTION:
// case SDL_JOYHATMOTION:
// case SDL_JOYBUTTONDOWN:
// case SDL_JOYBUTTONUP:
// InputEngine::cInput::Inst().CheckInputs(event);
// break;
// case SDL_MOUSEBUTTONDOWN:
//
// SDL_GetMouseState(&location.x, &location.y);
// GUIEngine::cGUI::Inst().Event(location, GUIEngine::cGUI::eGUIEventType::MouseButton1);
// break;
// case SDL_MOUSEBUTTONUP:
// break;
// }
}
}
void cEventControl::AddEvent(EventEngine::cEvent* event)
{
m_children.push_back(event);
}
const bool cEventControl::RemoveEvent(EventEngine::cEvent* event)
{
bool rtn = false;
std::vector<EventEngine::cEvent*>::iterator it;
for (it = m_children.begin(); it < m_children.end(); it++) {
if (event == (*it)) {
m_children.erase(it);
rtn = true;
//break out of the for loop
break;
}
}
return rtn;
}
std::vector<EventEngine::cEvent*>& cEventControl::GetEvents()
{
return m_children;
}
///Sets
///Gets
/* Gets return true if Event was initialized */
const bool cEventControl::IsInit() const
{
return true;
}
@@ -0,0 +1,53 @@
#ifndef _CEVENTCONTROL_HPP_
#define _CEVENTCONTROL_HPP_
/*** C++ STL Files ***/
#include <vector>
/*** SDL Header Files ***/
#include <SDL.h>
/*** DLL Header File ***/
#include "dllExport.h"
#include "cEvent.hpp"
namespace EventEngine {
/* Singleton */
class EXPORT_FROM_MYDLL cEventControl
{
private:
cEventControl();
~cEventControl();
public:
static cEventControl& Inst();
static void Delete();
//Functions
const bool Initialize() const;
const bool Setup();
void CleanUp();
/* Checks for Events */
void CheckEvents();
void AddEvent(EventEngine::cEvent* event);
const bool RemoveEvent(EventEngine::cEvent* event);
std::vector<EventEngine::cEvent*>& GetEvents();
///Sets
///Gets
/* Gets return true if Event was initialized */
const bool IsInit() const;
private:
std::vector<cEvent*> m_children;
static cEventControl* sp_inst;// = nullptr
};/// END CLASS DEFINITION cEventControl
}/// END NAMESPACE DEFINITION EventEngine
#endif/// END IFNDEF _CEVENTCONTROL_HPP_