You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							54 lines
						
					
					
						
							1.4 KiB
						
					
					
				
			
		
		
	
	
							54 lines
						
					
					
						
							1.4 KiB
						
					
					
				| #include "system/ui/raylib/util.h"
 | |
| 
 | |
| #include <array>
 | |
| 
 | |
| #undef GREEN
 | |
| #undef RED
 | |
| #undef YELLOW
 | |
| #include "common/swaglog.h"
 | |
| #include "system/hardware/hw.h"
 | |
| 
 | |
| constexpr std::array<const char *, static_cast<int>(FontWeight::Count)> FONT_FILE_PATHS = {
 | |
|     "../../assets/fonts/Inter-Black.ttf",
 | |
|     "../../assets/fonts/Inter-Bold.ttf",
 | |
|     "../../assets/fonts/Inter-ExtraBold.ttf",
 | |
|     "../../assets/fonts/Inter-ExtraLight.ttf",
 | |
|     "../../assets/fonts/Inter-Medium.ttf",
 | |
|     "../../assets/fonts/Inter-Regular.ttf",
 | |
|     "../../assets/fonts/Inter-SemiBold.ttf",
 | |
|     "../../assets/fonts/Inter-Thin.ttf",
 | |
| };
 | |
| 
 | |
| struct FontManager {
 | |
|   FontManager() {
 | |
|     for (int i = 0; i < fonts.size(); ++i) {
 | |
|       fonts[i] = LoadFontEx(FONT_FILE_PATHS[i], 120, nullptr, 250);
 | |
|     }
 | |
|   }
 | |
| 
 | |
|   ~FontManager() {
 | |
|     for (auto &f : fonts) UnloadFont(f);
 | |
|   }
 | |
| 
 | |
|   std::array<Font, static_cast<int>(FontWeight::Count)> fonts;
 | |
| };
 | |
| 
 | |
| const Font& getFont(FontWeight weight) {
 | |
|   static FontManager font_manager;
 | |
|   return font_manager.fonts[(int)weight];
 | |
| }
 | |
| 
 | |
| Texture2D LoadTextureResized(const char *fileName, int size) {
 | |
|   Image img = LoadImage(fileName);
 | |
|   ImageResize(&img, size, size);
 | |
|   Texture2D texture = LoadTextureFromImage(img);
 | |
|   return texture;
 | |
| }
 | |
| 
 | |
| void initApp(const char *title, int fps) {
 | |
|   Hardware::set_display_power(true);
 | |
|   Hardware::set_brightness(65);
 | |
|   // SetTraceLogLevel(LOG_NONE);
 | |
|   InitWindow(2160, 1080, title);
 | |
|   SetTargetFPS(fps);
 | |
| }
 | |
| 
 |