/*
 * vt100.c
 *
 *  Created on: Jun 20, 2025
 *      Author: xavie
 */

#include <stdio.h>   // Pour printf
#include <string.h>  // Si vous avez besoin de manipuler des chaînes
#include "main.h"
#include "vt100.h"  // Inclure le fichier d'en-tête vt100.h

// Séquences d'échappement ANSI VT100 courantes
#define CSI "\033[" // Control Sequence Introducer

// Effacer l'écran et déplacer le curseur en haut à gauche
void clear_screen() {
	APP_LOG(TS_OFF, VLEVEL_M, CSI "2J" CSI "H");
}

// Déplacer le curseur à la ligne Y, colonne X
void move_cursor(int y, int x) {
	APP_LOG(TS_OFF, VLEVEL_M, CSI "%d;%dH", y, x);
}

void clear_line_from_cursor(int y, int x)
{
	move_cursor(y, x);
	APP_LOG(TS_OFF, VLEVEL_M, CSI "0K");
}

// Définir la couleur du texte (avant-plan)
void set_fg_color(int color_code) {
	APP_LOG(TS_OFF, VLEVEL_M, CSI "%dm", color_code);
}

// Réinitialiser les attributs (couleur, gras, etc.)
void reset_attributes() {
	APP_LOG(TS_OFF, VLEVEL_M, CSI "0m");
}

