OnScreenKeyboard: Creado el esqueleto base

This commit is contained in:
2023-05-26 11:00:51 +02:00
parent 40701d9029
commit 54947dce2d
3 changed files with 110 additions and 2 deletions

View File

@@ -15,6 +15,7 @@ Código fuente creado por JailDesigner
#include "units/texture.h"
#include "units/screen.h"
#include "units/input.h"
#include "units/on_screen_keyboard.h"
#include "quickcg.h"
using namespace QuickCG;
@@ -32,6 +33,7 @@ Text *text;
Text *debugText;
Texture *texture;
MovingSprite *sprite;
OnScreenKeyboard *osk;
// Variables de uso general
Uint32 ticks = 0; // Variable para la frecuencia de actualización de la lógica del programa
@@ -90,6 +92,9 @@ void initInput();
// Inicializa el texto
void initText();
// Inicializa el teclado en pantalla
void initOnScreenKeyboard();
// Inicializa el sprite
void initSprite();
@@ -235,6 +240,12 @@ void initText()
debugText = new Text(asset->get("debug.txt"), asset->get("debug.png"), renderer);
}
// Inicializa el teclado en pantalla
void initOnScreenKeyboard()
{
osk = new OnScreenKeyboard(renderer, input, asset->get("notify.png"), asset->get("smb2.png"), asset->get("smb2.txt"), options);
}
// Inicializa el sprite
void initSprite()
{
@@ -272,7 +283,7 @@ void initFire()
// Saturation is always the maximum: 255
// Lightness is 0..255 for x=0..128, and 255 for x=128..255
ColorRGB color = HSLtoRGB(ColorHSL(x / 3, 255, std::min(255, x * 2)));
// Pon en la paleta el color calculado
palette[x] = (Uint32)16777216 * 255 + 65536 * color.r + 256 * color.g + color.b;
}
@@ -312,6 +323,9 @@ void initAll(char *argv[])
// Inicializa el texto
initText();
// Inicializa el teclado en pantalla
initOnScreenKeyboard();
// Inicializa el sprite
initSprite();
@@ -514,7 +528,8 @@ void update()
// Incrementa el contador
counter++;
// Actualiza el objeto screen
// Actualiza los objetos
osk->update();
screen->update();
// Actualiza el sprite
@@ -608,6 +623,9 @@ void render()
// Dinuja el texto
renderText();
// Dibuja el teclado en pantalla
osk->render();
// Vuelca el buffer en pantalla
screen->blit();
}
@@ -621,6 +639,10 @@ void freeAll()
if (texture != nullptr)
delete texture;
// Finaliza el teclado en pantalla
if (osk != nullptr)
delete osk;
// Finaliza el texto
if (text != nullptr)
delete text;