mirror of
https://github.com/raysan5/raylib.git
synced 2025-09-10 13:28:16 +00:00
UWP rework (#1231)
* First draft of UWP rework. * Read desc - Moved UWP specific functions to uwp_events.h - Removed BaseApp. - Implemented example UWP lifecycle. * Added GIF recording and screenshot support. * Character inputs and filesystem stuff * Fix game closing on Xbox when B is pressed. * Fix the gamepad binding hack * Add as many keys as I believe are possible. * Implemented mouse locking of a sort. * Remove rogue todo, the rest are for a game dev using this example. * Implemented touch how I "think" it should work. I cant test this. * Review.
This commit is contained in:
59
src/utils.h
59
src/utils.h
@@ -72,65 +72,6 @@ void InitAssetManager(AAssetManager *manager, const char *dataPath); // Initia
|
||||
FILE *android_fopen(const char *fileName, const char *mode); // Replacement for fopen() -> Read-only!
|
||||
#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
|
||||
|
Reference in New Issue
Block a user