56 lines
1.4 KiB
C++
56 lines
1.4 KiB
C++
#pragma once
|
|
#include "Core.h"
|
|
|
|
using namespace std;
|
|
|
|
class Framework
|
|
{
|
|
public:
|
|
Framework();
|
|
Framework(unsigned int width, unsigned int height);
|
|
virtual ~Framework();
|
|
|
|
int Run(HINSTANCE hInstance, int nCmdShow);
|
|
|
|
LRESULT MsgProc(HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam);
|
|
|
|
inline unsigned int GetWindowWidth() { return _width; }
|
|
inline unsigned int GetWindowHeight() { return _height; }
|
|
inline HWND GetHWnd() { return _hWnd; }
|
|
|
|
// Initialise the application. Called after the window and bitmap has been
|
|
// created, but before the main loop starts
|
|
//
|
|
// Return false if the application cannot be initialised.
|
|
virtual bool Initialise() { return true; }
|
|
|
|
// Perform any updates to the structures that will be used
|
|
// to render the window (i.e. transformation matrices, etc).
|
|
virtual void Update() {}
|
|
|
|
// Render the contents of the window.
|
|
virtual void Render() {};
|
|
|
|
// Perform any application shutdown or cleanup that is needed
|
|
virtual void Shutdown() {}
|
|
|
|
// Handlers for Windows messages. If you need more, add them
|
|
// here and call them from MsgProc.
|
|
virtual void OnKeyDown(WPARAM wParam) {}
|
|
virtual void OnKeyUp(WPARAM wParam) {}
|
|
virtual void OnResize(WPARAM wParam) {}
|
|
|
|
private:
|
|
HINSTANCE _hInstance;
|
|
HWND _hWnd;
|
|
unsigned int _width;
|
|
unsigned int _height;
|
|
|
|
// Used in timing loop
|
|
double _timeSpan;
|
|
|
|
bool InitialiseMainWindow(int nCmdShow);
|
|
int MainLoop();
|
|
};
|
|
|