|
libc8
CHIP-8 utility library
|
#include <stdint.h>Go to the source code of this file.
Data Structures | |
| struct | C8_Display |
| Represents a graphics display. More... | |
Macros | |
| #define | C8_LOW_DISPLAY_WIDTH 64 |
| Width of the low-resolution display. | |
| #define | C8_LOW_DISPLAY_HEIGHT 32 |
| Height of the low-resolution display. | |
| #define | C8_HIGH_DISPLAY_WIDTH 128 |
| Width of the high-resolution display. | |
| #define | C8_HIGH_DISPLAY_HEIGHT 64 |
| Height of the high-resolution display. | |
| #define | C8_DEFAULT_WINDOW_WIDTH 800 |
| Default window width. | |
| #define | C8_DEFAULT_WINDOW_HEIGHT 400 |
| Default window height. | |
| #define | C8_WINDOW_SCALE_X (C8_DEFAULT_WINDOW_WIDTH / C8_LOW_DISPLAY_WIDTH) |
| Window scale factor in x direction. | |
| #define | C8_WINDOW_SCALE_Y (C8_DEFAULT_WINDOW_HEIGHT / C8_LOW_DISPLAY_HEIGHT) |
| Window scale factor in y direction. | |
| #define | C8_DISPLAYMODE_LOW 0 |
| Low resolution display mode. | |
| #define | C8_DISPLAYMODE_HIGH 1 |
| High resolution display mode. | |
Functions | |
| uint8_t * | c8_get_pixel (C8_Display *, int, int) |
Get the value of (x,y) from display | |
| void | c8_beep (void) |
| Play sound. | |
| void | c8_deinit_graphics (void) |
| Deinitialize graphics system. | |
| uint8_t | c8_init_graphics (void) |
| Initialize graphics system. | |
| void | c8_render (C8_Display *, int *) |
| Render graphics. | |
| int | c8_tick (int *) |
| Grab current keypresses and delay execution to match clockspeed. | |
Function declarations for graphics display are here.
Only get_pixel is strongly defined in graphics.c. Declarations are library agnostic so a different graphics backend can be used.
| #define C8_DEFAULT_WINDOW_HEIGHT 400 |
Default window height.
| #define C8_DEFAULT_WINDOW_WIDTH 800 |
Default window width.
| #define C8_DISPLAYMODE_HIGH 1 |
High resolution display mode.
| #define C8_DISPLAYMODE_LOW 0 |
Low resolution display mode.
| #define C8_HIGH_DISPLAY_HEIGHT 64 |
Height of the high-resolution display.
| #define C8_HIGH_DISPLAY_WIDTH 128 |
Width of the high-resolution display.
| #define C8_LOW_DISPLAY_HEIGHT 32 |
Height of the low-resolution display.
| #define C8_LOW_DISPLAY_WIDTH 64 |
Width of the low-resolution display.
| #define C8_WINDOW_SCALE_X (C8_DEFAULT_WINDOW_WIDTH / C8_LOW_DISPLAY_WIDTH) |
Window scale factor in x direction.
| #define C8_WINDOW_SCALE_Y (C8_DEFAULT_WINDOW_HEIGHT / C8_LOW_DISPLAY_HEIGHT) |
Window scale factor in y direction.
| void c8_beep | ( | void | ) |
Play sound.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
| void c8_deinit_graphics | ( | void | ) |
Deinitialize graphics system.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
Deinitialize graphics system.
| uint8_t * c8_get_pixel | ( | C8_Display * | display, |
| int | x, | ||
| int | y | ||
| ) |
Get the value of (x,y) from display
| display | C8_Display to get pixel from |
| x | the x value |
| y | the y value |
display | uint8_t c8_init_graphics | ( | void | ) |
Initialize graphics system.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
Initialize graphics system.
| void c8_render | ( | C8_Display * | display, |
| int * | colors | ||
| ) |
Render graphics.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
Render the given display to the SDL2 window.
| display | display_t to render |
| colors | colors to render |
| int c8_tick | ( | int * | key | ) |
Grab current keypresses and delay execution to match clockspeed.
This function is weak and is overridden by internal/graphics_sdl.c by default. This can also be overridden by the user when compiling without SDL2 support.
Grab current keypresses and delay execution to match clockspeed.
If a relevant key is pressed or released (see keyMap in this file), this function will update key accordingly.
| key | pointer to int arr of keys |