Browse Source

Added more details on connected monitors.

Camilla Berglund 13 years ago
parent
commit
0f93d24306
1 changed files with 22 additions and 19 deletions
  1. 22 19
      tests/events.c

+ 22 - 19
tests/events.c

@@ -220,19 +220,6 @@ static const char* get_character_string(int character)
     return result;
 }
 
-static const char* get_monitor_event_name(int event)
-{
-    switch (event)
-    {
-        case GLFW_MONITOR_CONNECTED:
-            return "connected";
-        case GLFW_MONITOR_DISCONNECTED:
-            return "disconnected";
-    }
-
-    return NULL;
-}
-
 static void window_size_callback(GLFWwindow window, int width, int height)
 {
     printf("%08x at %0.3f: Window size: %i %i\n",
@@ -363,12 +350,28 @@ static void char_callback(GLFWwindow window, int character)
 
 void monitor_callback(GLFWmonitor monitor, int event)
 {
-    printf("%08x at %0.3f: Monitor %s %s\n",
-           counter++,
-           glfwGetTime(),
-           glfwGetMonitorName(monitor),
-           get_monitor_event_name(event));
-
+    if (event == GLFW_MONITOR_CONNECTED)
+    {
+        GLFWvidmode mode;
+        glfwGetVideoMode(monitor, &mode);
+
+        printf("%08x at %0.3f: Monitor %s (%ix%i at %ix%i, %ix%i mm) was connected\n",
+               counter++,
+               glfwGetTime(),
+               glfwGetMonitorName(monitor),
+               mode.width, mode.height,
+               glfwGetMonitorParam(monitor, GLFW_MONITOR_POS_X),
+               glfwGetMonitorParam(monitor, GLFW_MONITOR_POS_Y),
+               glfwGetMonitorParam(monitor, GLFW_MONITOR_PHYSICAL_WIDTH),
+               glfwGetMonitorParam(monitor, GLFW_MONITOR_PHYSICAL_HEIGHT));
+    }
+    else
+    {
+        printf("%08x at %0.3f: Monitor %s was disconnected\n",
+               counter++,
+               glfwGetTime(),
+               glfwGetMonitorName(monitor));
+    }
 }
 
 int main(void)