summaryrefslogtreecommitdiff
path: root/source/Asura.Editor/editor.cpp
blob: 6ffd789cb343fd58608ed7ff5ffd11e6d797283f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
#include "Editor.h"

#include <vector>

namespace_begin(AsuraEditor)

void TranslateAndDispatch(MSG& msg)
{
	//if (g_BatchMode || !TranslateAccelerator(gMainWindow, GetMainMenuAccelerators(), &msg))
	//{
	//	ResetGfxDeviceIfNeeded();
	//	TranslateMessage(&msg);
	//	DispatchMessage(&msg);
	//}
}

int MainMessageLoop()
{
	MSG msg, lastMsg; 
	msg.message = WM_NULL; 
	std::vector<MSG> messages; 
	PeekMessage(&msg, NULL, 0U, 0U, PM_NOREMOVE);
	bool isQuit = msg.message == WM_QUIT;
	while (!isQuit)
	{
		messages.clear(); 
		while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE))
		{
			if (msg.message == WM_INPUT || msg.message == WM_PAINT)
			{

			}

			if (msg.message == WM_QUIT)
				isQuit = true; 

			messages.push_back(msg);

			if (messages.size() > 100)
				break; 
		}

		for (unsigned i = 0; i < messages.size(); ++i)
		{
			msg = messages[i];
		}
	}
}


namespace_end