45 lines
1.0 KiB
C
45 lines
1.0 KiB
C
//
|
|
// Created by william on 12/07/24.
|
|
//
|
|
|
|
#ifndef NES_EMULATOR_NAMETABLE_WINDOW_H
|
|
#define NES_EMULATOR_NAMETABLE_WINDOW_H
|
|
|
|
#include "components/window.h"
|
|
#include "../include/types.h"
|
|
|
|
#define NW_SCALE 1
|
|
#define NW_ROW_COUNT 60
|
|
#define NW_ROW_TILE_COUNT 64
|
|
|
|
typedef struct nes_nametable_window {
|
|
Window window;
|
|
SDL_Texture *texture;
|
|
} NametableWindow;
|
|
|
|
/**
|
|
* Creates a nametable window instance.
|
|
* @return A reference to the created window
|
|
*/
|
|
NametableWindow *nametable_window_create(int *window_id);
|
|
|
|
/**
|
|
* Destroys a nametable window instance.
|
|
* @param window A reference to the window to destroy
|
|
*/
|
|
void nametable_window_destroy(NametableWindow *window);
|
|
|
|
/**
|
|
* Updates the content of a nametable window with the current data of the PPU.
|
|
* @param window A reference to the window to update
|
|
*/
|
|
void nametable_window_update(NametableWindow *window);
|
|
|
|
/**
|
|
* Renders a nemtable window to the screen.
|
|
* @param window A reference to the window to render
|
|
*/
|
|
void nametable_window_render(NametableWindow *window);
|
|
|
|
#endif //NES_EMULATOR_NAMETABLE_WINDOW_H
|