Ver código fonte

Should compile on Windows again

Ivan Safrin 13 anos atrás
pai
commit
54a4856cc7

+ 2 - 0
Core/Contents/Include/PolyWinCore.h

@@ -25,6 +25,7 @@
 #include "PolyGlobals.h"
 #include "PolyCore.h"
 #include "PolyInputKeys.h"
+#include "PolyInputEvent.h"
 #include "PolyRectangle.h"
 
 #include <winsock2.h>
@@ -111,6 +112,7 @@ namespace Polycode {
 		int eventCode;		
 		int mouseX;
 		int mouseY;
+		TouchInfo touch;
 		std::vector<TouchInfo> touches;
 		PolyKEY keyCode;
 		wchar_t unicodeChar;		

+ 1 - 1
Core/Contents/Source/PolyScreen.cpp

@@ -279,7 +279,7 @@ ScreenEntity* Screen::addEntity(ScreenEntity *newEntity) {
 }
 
 ScreenEntity* Screen::addChild(ScreenEntity *newEntity) {
-	addEntity(newEntity);
+	return addEntity(newEntity);
 }
 
 ScreenEntity* Screen::removeChild(ScreenEntity *entityToRemove) {

+ 6 - 3
Core/Contents/Source/PolyWinCore.cpp

@@ -494,18 +494,21 @@ void Win32Core::handleTouchEvent(LPARAM lParam, WPARAM wParam) {
 						newEvent.eventGroup = Win32Event::INPUT_EVENT;
 						newEvent.eventCode = InputEvent::EVENT_TOUCHES_ENDED;
 						newEvent.touches = touches;
+						newEvent.touch = touches[i];
 						win32Events.push_back(newEvent);	
 					} else if(ti.dwFlags & TOUCHEVENTF_MOVE) {
 						Win32Event newEvent;
 						newEvent.eventGroup = Win32Event::INPUT_EVENT;
 						newEvent.eventCode = InputEvent::EVENT_TOUCHES_MOVED;
 						newEvent.touches = touches;
+						newEvent.touch = touches[i];
 						win32Events.push_back(newEvent);
 					} else if(ti.dwFlags & TOUCHEVENTF_DOWN) {
 						Win32Event newEvent;
 						newEvent.eventGroup = Win32Event::INPUT_EVENT;
 						newEvent.eventCode = InputEvent::EVENT_TOUCHES_BEGAN;
 						newEvent.touches = touches;
+						newEvent.touch = touches[i];
 						win32Events.push_back(newEvent);
 					}
 			  }
@@ -573,13 +576,13 @@ void Win32Core::checkEvents() {
 			case Win32Event::INPUT_EVENT:
 				switch(event.eventCode) {
 					case InputEvent::EVENT_TOUCHES_BEGAN:
-						input->touchesBegan(event.touches, getTicks());
+						input->touchesBegan(event.touch, event.touches, getTicks());
 					break;
 					case InputEvent::EVENT_TOUCHES_ENDED:
-						input->touchesEnded(event.touches, getTicks());
+						input->touchesEnded(event.touch, event.touches, getTicks());
 					break;
 					case InputEvent::EVENT_TOUCHES_MOVED:
-						input->touchesMoved(event.touches, getTicks());
+						input->touchesMoved(event.touch, event.touches, getTicks());
 					break;
 					case InputEvent::EVENT_MOUSEMOVE:
 						input->setDeltaPosition(event.mouseX - lastMouseX , event.mouseY - lastMouseY);