mirror of
https://github.com/glfw/glfw.git
synced 2024-11-26 03:52:01 +00:00
Add mapping file drop support to joystick test
This commit is contained in:
parent
c2858e9ed7
commit
df434c839a
@ -85,6 +85,32 @@ static void joystick_callback(int jid, int event)
|
|||||||
glfwRequestWindowAttention(window);
|
glfwRequestWindowAttention(window);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void drop_callback(GLFWwindow* window, int count, const char** paths)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < count; i++)
|
||||||
|
{
|
||||||
|
long size;
|
||||||
|
char* text;
|
||||||
|
FILE* stream = fopen(paths[i], "rb");
|
||||||
|
if (!stream)
|
||||||
|
continue;
|
||||||
|
|
||||||
|
fseek(stream, 0, SEEK_END);
|
||||||
|
size = ftell(stream);
|
||||||
|
fseek(stream, 0, SEEK_SET);
|
||||||
|
|
||||||
|
text = malloc(size + 1);
|
||||||
|
text[size] = '\0';
|
||||||
|
if (fread(text, 1, size, stream) == size)
|
||||||
|
glfwUpdateGamepadMappings(text);
|
||||||
|
|
||||||
|
free(text);
|
||||||
|
fclose(stream);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
static const char* joystick_label(int jid)
|
static const char* joystick_label(int jid)
|
||||||
{
|
{
|
||||||
static char label[1024];
|
static char label[1024];
|
||||||
@ -176,6 +202,7 @@ int main(void)
|
|||||||
}
|
}
|
||||||
|
|
||||||
glfwSetJoystickCallback(joystick_callback);
|
glfwSetJoystickCallback(joystick_callback);
|
||||||
|
glfwSetDropCallback(window, drop_callback);
|
||||||
|
|
||||||
while (!glfwWindowShouldClose(window))
|
while (!glfwWindowShouldClose(window))
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user