# define MIN(a,b) (((a)<(b)) ? (a) : (b))
#endif
+#ifdef WM_TOUCH
+ typedef BOOL (*pGetTouchInputInfo)(HTOUCHINPUT,UINT,PTOUCHINPUT,int);
+ typedef BOOL (*pCloseTouchInputHandle)(HTOUCHINPUT);
+ static pGetTouchInputInfo fghGetTouchInputInfo = (pGetTouchInputInfo)0xDEADBEEF;
+ static pCloseTouchInputHandle fghCloseTouchInputHandle = (pCloseTouchInputHandle)0xDEADBEEF;
+#endif
/*
* TODO BEFORE THE STABLE RELEASE:
if ( window->Parent == NULL )
{
- if ( ! window->IsMenu && (window != fgStructure.GameModeWindow) )
+ if ( ! window->IsMenu && (window != fgStructure.GameModeWindow) &&
+ !( fgState.DisplayMode & GLUT_BORDERLESS ))
{
w += GetSystemMetrics( SM_CXSIZEFRAME ) * 2;
h += GetSystemMetrics( SM_CYSIZEFRAME ) * 2 +
unsigned int numInputs = (unsigned int)wParam;
unsigned int i = 0;
TOUCHINPUT* ti = (TOUCHINPUT*)malloc( sizeof(TOUCHINPUT)*numInputs);
- if (GetTouchInputInfo( (HTOUCHINPUT)lParam, numInputs, ti, sizeof(TOUCHINPUT) )) {
+
+ if (fghGetTouchInputInfo == (pGetTouchInputInfo)0xDEADBEEF) {
+ fghGetTouchInputInfo = (pGetTouchInputInfo)GetProcAddress(GetModuleHandle("user32"),"GetTouchInputInfo");
+ fghCloseTouchInputHandle = (pCloseTouchInputHandle)GetProcAddress(GetModuleHandle("user32"),"CloseTouchInputHandle");
+ }
+
+ if (!fghGetTouchInputInfo) {
+ free( (void*)ti );
+ break;
+ }
+
+ if (fghGetTouchInputInfo( (HTOUCHINPUT)lParam, numInputs, ti, sizeof(TOUCHINPUT) )) {
/* Handle each contact point */
for (i = 0; i < numInputs; ++i ) {
}
}
}
- CloseTouchInputHandle((HTOUCHINPUT)lParam);
+ fghCloseTouchInputHandle((HTOUCHINPUT)lParam);
free( (void*)ti );
lRet = 0; /*DefWindowProc( hWnd, uMsg, wParam, lParam );*/
break;