Răsfoiți Sursa

Code tweaks

Ray 6 ani în urmă
părinte
comite
72431c6c36
2 a modificat fișierele cu 19 adăugiri și 17 ștergeri
  1. 12 11
      src/core.c
  2. 7 6
      src/text.c

+ 12 - 11
src/core.c

@@ -331,18 +331,19 @@ static int currentMouseWheelY = 0;              // Registers current mouse wheel
 
 #if defined(PLATFORM_RPI)
 static char currentMouseStateEvdev[3] = { 0 };  // Holds the new mouse state for the next polling event to grab (Can't be written directly due to multithreading, app could miss the update)
+
 typedef struct {
-  pthread_t threadId;                           // Event reading thread id
-  int fd;                                       // File descriptor to the device it is assigned to
-  int eventNum;                                 // Number of 'event<N>' device
-  Rectangle absRange;                           // Range of values for absolute pointing devices (touchscreens)
-  int touchSlot;                                // Hold the touch slot number of the currently being sent multitouch block
-  bool isMouse;                                 // True if device supports relative X Y movements
-  bool isTouch;                                 // True if device supports absolute X Y movements and has BTN_TOUCH
-  bool isMultitouch;                            // True if device supports multiple absolute movevents and has BTN_TOUCH
-  bool isKeyboard;                              // True if device has letter keycodes
-  bool isGamepad;                               // True if device has gamepad buttons
-}InputEventWorker;
+    pthread_t threadId;                         // Event reading thread id
+    int fd;                                     // File descriptor to the device it is assigned to
+    int eventNum;                               // Number of 'event<N>' device
+    Rectangle absRange;                         // Range of values for absolute pointing devices (touchscreens)
+    int touchSlot;                              // Hold the touch slot number of the currently being sent multitouch block
+    bool isMouse;                               // True if device supports relative X Y movements
+    bool isTouch;                               // True if device supports absolute X Y movements and has BTN_TOUCH
+    bool isMultitouch;                          // True if device supports multiple absolute movevents and has BTN_TOUCH
+    bool isKeyboard;                            // True if device has letter keycodes
+    bool isGamepad;                             // True if device has gamepad buttons
+} InputEventWorker;
 
 static InputEventWorker eventWorkers[10];       // List of worker threads for every monitored "/dev/input/event<N>"
 

+ 7 - 6
src/text.c

@@ -316,6 +316,7 @@ Font LoadFontEx(const char *fileName, int fontSize, int charsCount, int *fontCha
         font.texture = LoadTextureFromImage(atlas);
         UnloadImage(atlas);
     }
+    else font = GetFontDefault();
     
     return font;
 }
@@ -331,9 +332,9 @@ CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int c
     #define SDF_PIXEL_DIST_SCALE     64.0f
     
     #define BITMAP_ALPHA_THRESHOLD     80
-       
+
     CharInfo *chars = NULL;
-    
+
     // Load font data (including pixel data) from TTF file
     // NOTE: Loaded information should be enough to generate font image atlas,
     // using any packaging method
@@ -349,7 +350,7 @@ CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int c
         
         fread(fontBuffer, size, 1, fontFile);
         fclose(fontFile);
-        
+
         // Init font for data reading
         stbtt_fontinfo fontInfo;
         if (!stbtt_InitFont(&fontInfo, fontBuffer, 0)) TraceLog(LOG_WARNING, "Failed to init font!");
@@ -368,11 +369,11 @@ CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int c
         // Fill fontChars in case not provided externally
         // NOTE: By default we fill charsCount consecutevely, starting at 32 (Space)
         int genFontChars = false;
-        if (fontChars == NULL) genFontChars = true;   
-        if (genFontChars) 
+        if (fontChars == NULL)
         {
             fontChars = (int *)malloc(charsCount*sizeof(int));
             for (int i = 0; i < charsCount; i++) fontChars[i] = i + 32;
+            genFontChars = true;
         }
 
         chars = (CharInfo *)malloc(charsCount*sizeof(CharInfo));
@@ -417,7 +418,7 @@ CharInfo *LoadFontData(const char *fileName, int fontSize, int *fontChars, int c
             stbtt_GetCodepointHMetrics(&fontInfo, ch, &chars[i].advanceX, NULL);
             chars[i].advanceX *= scaleFactor;
         }
-        
+
         free(fontBuffer);
         if (genFontChars) free(fontChars);
     }