PatchworkOS
Loading...
Searching...
No Matches
terminal.c File Reference
#include "terminal.h"
#include "ansi.h"
#include <errno.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <sys/io.h>
#include <sys/proc.h>

Go to the source code of this file.

Functions

static terminal_char_t terminal_char_create (char chr, pixel_t foreground, pixel_t background, uint16_t row, uint16_t col)
 
static terminal_char_tterminal_get_char (terminal_t *term, uint16_t row, uint16_t col)
 
static uint16_t terminal_char_row (terminal_t *term, terminal_char_t *termChar)
 
static point_t terminal_char_pos (terminal_t *term, element_t *elem, terminal_char_t *termChar)
 
static rect_t terminal_char_rect (terminal_t *term, element_t *elem, terminal_char_t *termChar)
 
static void terminal_char_draw (terminal_t *term, element_t *elem, drawable_t *draw, terminal_char_t *termChar)
 
static void terminal_cursor_update (terminal_t *term, element_t *elem, drawable_t *draw)
 
static void terminal_clear (terminal_t *term, element_t *elem, drawable_t *draw)
 
static void terminal_scroll (terminal_t *term, element_t *elem, drawable_t *draw)
 
static void terminal_put (terminal_t *term, element_t *elem, drawable_t *draw, char chr)
 
static void terminal_handle_input (terminal_t *term, element_t *elem, drawable_t *draw, const event_kbd_t *kbd)
 
static void ternminal_execute_ansi (terminal_t *term, element_t *elem, drawable_t *draw, ansi_sending_t *ansi)
 
static void terminal_handle_output (terminal_t *term, element_t *elem, drawable_t *draw, const char *buffer, uint64_t length)
 
static uint64_t terminal_procedure (window_t *win, element_t *elem, const event_t *event)
 
static uint64_t terminal_pixel_width (font_t *font)
 
static uint64_t terminal_pixel_height (font_t *font)
 
window_tterminal_new (display_t *disp)
 Create a new terminal window.
 
void terminal_loop (window_t *win)
 Terminal main loop.
 

Function Documentation

◆ terminal_char_create()

static terminal_char_t terminal_char_create ( char  chr,
pixel_t  foreground,
pixel_t  background,
uint16_t  row,
uint16_t  col 
)
static

◆ terminal_char_draw()

◆ terminal_char_pos()

static point_t terminal_char_pos ( terminal_t term,
element_t elem,
terminal_char_t termChar 
)
static

◆ terminal_char_rect()

static rect_t terminal_char_rect ( terminal_t term,
element_t elem,
terminal_char_t termChar 
)
static

◆ terminal_char_row()

static uint16_t terminal_char_row ( terminal_t term,
terminal_char_t termChar 
)
static

◆ terminal_clear()

◆ terminal_cursor_update()

static void terminal_cursor_update ( terminal_t term,
element_t elem,
drawable_t draw 
)
static

◆ terminal_get_char()

static terminal_char_t * terminal_get_char ( terminal_t term,
uint16_t  row,
uint16_t  col 
)
static

◆ terminal_handle_input()

static void terminal_handle_input ( terminal_t term,
element_t elem,
drawable_t draw,
const event_kbd_t kbd 
)
static

◆ terminal_handle_output()

static void terminal_handle_output ( terminal_t term,
element_t elem,
drawable_t draw,
const char *  buffer,
uint64_t  length 
)
static

◆ terminal_pixel_height()

static uint64_t terminal_pixel_height ( font_t font)
static

◆ terminal_pixel_width()

static uint64_t terminal_pixel_width ( font_t font)
static

◆ terminal_procedure()

◆ terminal_put()

◆ terminal_scroll()

◆ ternminal_execute_ansi()