Browse Source

Review some RPI issues

Ray 5 years ago
parent
commit
83fb4613c1
1 changed files with 12 additions and 11 deletions
  1. 12 11
      src/core.c

+ 12 - 11
src/core.c

@@ -316,7 +316,7 @@ typedef struct{
 
 
 typedef struct { int x; int y; } Point;
-typedef struct { int width; int height; } Size;
+typedef struct { unsigned int width; unsigned int height; } Size;
 
 #if defined(PLATFORM_UWP)
 extern EGLNativeWindowType handle;          // Native window handler for UWP (external, defined in UWP App)
@@ -3183,12 +3183,12 @@ static bool InitGraphicsDevice(int width, int height)
     dispmanElement = vc_dispmanx_element_add(dispmanUpdate, dispmanDisplay, 0/*layer*/, &dstRect, 0/*src*/,
                                             &srcRect, DISPMANX_PROTECTION_NONE, &alpha, 0/*clamp*/, DISPMANX_NO_ROTATE);
 
-    window.element = dispmanElement;
-    window.width = CORE.Window.render.width;
-    window.height = CORE.Window.render.height;
+    CORE.Window.handle.element = dispmanElement;
+    CORE.Window.handle.width = CORE.Window.render.width;
+    CORE.Window.handle.height = CORE.Window.render.height;
     vc_dispmanx_update_submit_sync(dispmanUpdate);
 
-    CORE.Window.surface = eglCreateWindowSurface(CORE.Window.device, CORE.Window.config, &window, NULL);
+    CORE.Window.surface = eglCreateWindowSurface(CORE.Window.device, CORE.Window.config, &CORE.Window.handle, NULL);
     //---------------------------------------------------------------------------------
 #endif  // PLATFORM_RPI
 
@@ -3562,7 +3562,7 @@ static void PollInputEvents(void)
     for (int i = 0; i < 3; i++)
     {
         CORE.Input.Mouse.previousButtonState[i] = CORE.Input.Mouse.currentButtonState[i];
-        CORE.Input.Mouse.currentButtonState[i] = currentButtonStateEvdev[i];
+        CORE.Input.Mouse.currentButtonState[i] = CORE.Input.Mouse.currentButtonStateEvdev[i];
     }
 #endif
 
@@ -4660,11 +4660,13 @@ static void InitEvdevInput(void)
         CORE.Input.Touch.position[i].x = -1;
         CORE.Input.Touch.position[i].y = -1;
     }
+    
     // Reset keypress buffer
     CORE.Input.Keyboard.lastKeyPressed.Head = 0;
     CORE.Input.Keyboard.lastKeyPressed.Tail = 0;
+    
     // Reset keyboard key state
-    for (int i = 0; i < 512; i++) CORE.Input.Keyboard.currentKeyStateEvdev[i] = 0;
+    for (int i = 0; i < 512; i++) CORE.Input.Keyboard.currentKeyState[i] = 0;
 
     // Open the linux directory of "/dev/input"
     directory = opendir(DEFAULT_EVDEV_PATH);
@@ -4998,7 +5000,7 @@ static void *EventThread(void *arg)
                 // Mouse button parsing
                 if ((event.code == BTN_TOUCH) || (event.code == BTN_LEFT))
                 {
-                    currentButtonStateEvdev[MOUSE_LEFT_BUTTON] = event.value;
+                    CORE.Input.Mouse.currentButtonStateEvdev[MOUSE_LEFT_BUTTON] = event.value;
 
                     #if defined(SUPPORT_GESTURES_SYSTEM)
                         if (event.value > 0) touchAction = TOUCH_DOWN;
@@ -5007,9 +5009,8 @@ static void *EventThread(void *arg)
                     #endif
                 }
 
-                if (event.code == BTN_RIGHT) currentButtonStateEvdev[MOUSE_RIGHT_BUTTON] = event.value;
-
-                if (event.code == BTN_MIDDLE) currentButtonStateEvdev[MOUSE_MIDDLE_BUTTON] = event.value;
+                if (event.code == BTN_RIGHT) CORE.Input.Mouse.currentButtonStateEvdev[MOUSE_RIGHT_BUTTON] = event.value;
+                if (event.code == BTN_MIDDLE) CORE.Input.Mouse.currentButtonStateEvdev[MOUSE_MIDDLE_BUTTON] = event.value;
 
                 // Keyboard button parsing
                 if ((event.code >= 1) && (event.code <= 255))     //Keyboard keys appear for codes 1 to 255