diff options
Diffstat (limited to 'src/utils.h')
| -rw-r--r-- | src/utils.h | 61 |
1 files changed, 60 insertions, 1 deletions
diff --git a/src/utils.h b/src/utils.h index 08b33962..1611b02c 100644 --- a/src/utils.h +++ b/src/utils.h @@ -5,7 +5,7 @@ * * LICENSE: zlib/libpng * -* Copyright (c) 2014-2018 Ramon Santamaria (@raysan5) +* Copyright (c) 2014-2019 Ramon Santamaria (@raysan5) * * This software is provided "as-is", without any express or implied warranty. In no event * will the authors be held liable for any damages arising from the use of this software. @@ -59,6 +59,65 @@ void InitAssetManager(AAssetManager *manager); // Initialize asset manager from FILE *android_fopen(const char *fileName, const char *mode); // Replacement for fopen() #endif +#if defined(PLATFORM_UWP) +// UWP Messages System +typedef enum { + UWP_MSG_NONE = 0, + + // Send + UWP_MSG_SHOW_MOUSE, + UWP_MSG_HIDE_MOUSE, + UWP_MSG_LOCK_MOUSE, + UWP_MSG_UNLOCK_MOUSE, + UWP_MSG_SET_MOUSE_LOCATION, // paramVector0 (pos) + + // Receive (Into C) + UWP_MSG_REGISTER_KEY, // paramInt0 (key), paramChar0 (status) + UWP_MSG_REGISTER_CLICK, // paramInt0 (button), paramChar0 (status) + UWP_MSG_SCROLL_WHEEL_UPDATE, // paramInt0 (delta) + UWP_MSG_UPDATE_MOUSE_LOCATION, // paramVector0 (pos) + UWP_MSG_SET_GAMEPAD_ACTIVE, // paramInt0 (gamepad), paramBool0 (active or not) + UWP_MSG_SET_GAMEPAD_BUTTON, // paramInt0 (gamepad), paramInt1 (button), paramChar0 (status) + UWP_MSG_SET_GAMEPAD_AXIS, // paramInt0 (gamepad), int1 (axis), paramFloat0 (value) + UWP_MSG_SET_DISPLAY_DIMS, // paramVector0 (display dimensions) + UWP_MSG_HANDLE_RESIZE, // paramVector0 (new dimensions) - Onresized event + UWP_MSG_SET_GAME_TIME, // paramInt0 +} UWPMessageType; + +typedef struct UWPMessage { + UWPMessageType type; // Message type + + Vector2 paramVector0; // Vector parameters + int paramInt0; // Int parameter + int paramInt1; // Int parameter + char paramChar0; // Char parameters + float paramFloat0; // Float parameters + double paramDouble0; // Double parameters + bool paramBool0; // Bool parameters + + // More parameters can be added and fed to functions +} UWPMessage; + +// Allocate UWP Message +RLAPI UWPMessage* CreateUWPMessage(void); + +// Free UWP Message +RLAPI void DeleteUWPMessage(UWPMessage* msg); + +// Get messages into C++ +RLAPI bool UWPHasMessages(void); +RLAPI UWPMessage* UWPGetMessage(void); +RLAPI void UWPSendMessage(UWPMessage* msg); + +// For C to call +#ifndef __cplusplus // Hide from C++ code +void SendMessageToUWP(UWPMessage* msg); +bool HasMessageFromUWP(void); +UWPMessage* GetMessageFromUWP(void); +#endif + +#endif //defined(PLATFORM_UWP) + #ifdef __cplusplus } #endif |
