mirror of
				https://github.com/glfw/glfw.git
				synced 2025-10-31 04:32:26 +00:00 
			
		
		
		
	Select mapping platform name at runtime
This is done in preparation for runtime platform selection.
This commit is contained in:
		
							parent
							
								
									d0776e04a3
								
							
						
					
					
						commit
						6d51b39106
					
				| @ -32,7 +32,6 @@ | ||||
| #define _GLFW_PLATFORM_JOYSTICK_STATE         _GLFWjoystickNS ns | ||||
| #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyJoystick; } | ||||
| 
 | ||||
| #define _GLFW_PLATFORM_MAPPING_NAME "Mac OS X" | ||||
| #define GLFW_BUILD_COCOA_MAPPINGS | ||||
| 
 | ||||
| // Cocoa-specific per-joystick data
 | ||||
|  | ||||
| @ -469,6 +469,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode) | ||||
|     return js->present; | ||||
| } | ||||
| 
 | ||||
| const char* _glfwPlatformGetMappingName(void) | ||||
| { | ||||
|     return "Mac OS X"; | ||||
| } | ||||
| 
 | ||||
| void _glfwPlatformUpdateGamepadGUID(char* guid) | ||||
| { | ||||
|     if ((strncmp(guid + 4, "000000000000", 12) == 0) && | ||||
|  | ||||
| @ -234,8 +234,9 @@ static GLFWbool parseMapping(_GLFWmapping* mapping, const char* string) | ||||
|             } | ||||
|             else | ||||
|             { | ||||
|                 length = strlen(_GLFW_PLATFORM_MAPPING_NAME); | ||||
|                 if (strncmp(c, _GLFW_PLATFORM_MAPPING_NAME, length) != 0) | ||||
|                 const char* name = _glfwPlatformGetMappingName(); | ||||
|                 length = strlen(name); | ||||
|                 if (strncmp(c, name, length) != 0) | ||||
|                     return GLFW_FALSE; | ||||
|             } | ||||
| 
 | ||||
|  | ||||
| @ -642,6 +642,7 @@ GLFWbool _glfwPlatformInitJoysticks(void); | ||||
| void _glfwPlatformTerminateJoysticks(void); | ||||
| int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode); | ||||
| void _glfwPlatformUpdateGamepadGUID(char* guid); | ||||
| const char* _glfwPlatformGetMappingName(void); | ||||
| 
 | ||||
| uint64_t _glfwPlatformGetTimerValue(void); | ||||
| uint64_t _glfwPlatformGetTimerFrequency(void); | ||||
|  | ||||
| @ -422,6 +422,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode) | ||||
|     return js->present; | ||||
| } | ||||
| 
 | ||||
| const char* _glfwPlatformGetMappingName(void) | ||||
| { | ||||
|     return "Linux"; | ||||
| } | ||||
| 
 | ||||
| void _glfwPlatformUpdateGamepadGUID(char* guid) | ||||
| { | ||||
| } | ||||
|  | ||||
| @ -31,7 +31,6 @@ | ||||
| #define _GLFW_PLATFORM_JOYSTICK_STATE         _GLFWjoystickLinux linjs | ||||
| #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE _GLFWlibraryLinux  linjs | ||||
| 
 | ||||
| #define _GLFW_PLATFORM_MAPPING_NAME "Linux" | ||||
| #define GLFW_BUILD_LINUX_MAPPINGS | ||||
| 
 | ||||
| // Linux-specific joystick data
 | ||||
|  | ||||
| @ -47,6 +47,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode) | ||||
|     return GLFW_FALSE; | ||||
| } | ||||
| 
 | ||||
| const char* _glfwPlatformGetMappingName(void) | ||||
| { | ||||
|     return ""; | ||||
| } | ||||
| 
 | ||||
| void _glfwPlatformUpdateGamepadGUID(char* guid) | ||||
| { | ||||
| } | ||||
|  | ||||
| @ -27,5 +27,3 @@ | ||||
| #define _GLFW_PLATFORM_JOYSTICK_STATE         struct { int dummyJoystick; } | ||||
| #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyLibraryJoystick; } | ||||
| 
 | ||||
| #define _GLFW_PLATFORM_MAPPING_NAME "" | ||||
| 
 | ||||
|  | ||||
| @ -740,6 +740,11 @@ int _glfwPlatformPollJoystick(_GLFWjoystick* js, int mode) | ||||
|     return GLFW_TRUE; | ||||
| } | ||||
| 
 | ||||
| const char* _glfwPlatformGetMappingName(void) | ||||
| { | ||||
|     return "Windows"; | ||||
| } | ||||
| 
 | ||||
| void _glfwPlatformUpdateGamepadGUID(char* guid) | ||||
| { | ||||
|     if (strcmp(guid + 20, "504944564944") == 0) | ||||
|  | ||||
| @ -27,7 +27,6 @@ | ||||
| #define _GLFW_PLATFORM_JOYSTICK_STATE         _GLFWjoystickWin32 win32 | ||||
| #define _GLFW_PLATFORM_LIBRARY_JOYSTICK_STATE struct { int dummyLibraryJoystick; } | ||||
| 
 | ||||
| #define _GLFW_PLATFORM_MAPPING_NAME "Windows" | ||||
| #define GLFW_BUILD_WIN32_MAPPINGS | ||||
| 
 | ||||
| // Joystick element (axis, button or slider)
 | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user