/* * Copyright (C) 2024 Tristan Riehs * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation, either version 3 of the License, or * (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program. If not, see . */ #include "config.h" #include #include #include #include #include #include "disp.h" #define DEFAULT_HEIGHT 200 #define DEFAULT_WIDTH 16*DEFAULT_HEIGHT/9 void init(void) { InitWindow(DEFAULT_WIDTH, DEFAULT_HEIGHT, "calculer"); if (!IsWindowReady()) { fprintf(stderr, "calculer: error initialiazing Raylib \ window\n"); exit(1); } SetTargetFPS(24); BeginDrawing(); ClearBackground(RAYWHITE); EndDrawing(); } static int min(int x, int y) { if (x < y) return x; else return y; } void display_calc(int x, int y) { char txt[32] = {0}; int win_width, win_height; int txt_width; int font_size; sprintf(txt, "%d + %d", x, y); win_width = GetScreenWidth(); win_height = GetScreenHeight(); font_size = min(win_height/3, 40); txt_width = MeasureText(txt, font_size); if (txt_width > win_width) { float scale = txt_width/win_width; font_size = font_size/scale; txt_width = MeasureText(txt, font_size); } BeginDrawing(); ClearBackground(RAYWHITE); DrawText(txt, (win_width-txt_width)/2, win_height/6, font_size, LIGHTGRAY); EndDrawing(); } int read_input(void) { while (!WindowShouldClose()) { } } void display_res(bool, int) { } void destroy(void) { CloseWindow(); }