aboutsummaryrefslogtreecommitdiffstats
path: root/src/render.h
blob: 3b6c7e42e2cc76431b2fda9b36ef8287e7e9df6e (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#ifndef GBC_RENDER_H
#define GBC_RENDER_H

#include "gb.h"

void term_init(void);
void term_restore(void);
void render_frame(GB *gb);
void render_force_full(void);   // force a complete repaint next frame
void render_set_hud(int frameskip, bool turbo);  // update HUD readout
// Poll keyboard + control FIFO, update gb->buttons. False if quit requested.
bool input_poll(GB *gb);

// Optional external control channel: a named pipe (FIFO) that accepts button
// commands (see README). Safe to call once at startup.
void input_open_fifo(const char *path);
void input_close_fifo(void);

// Returns true once for each pending fast-forward (turbo) toggle keypress.
bool input_take_turbo(void);
// Net frameskip adjustment requested via '[' / ']' since last call.
int  input_take_frameskip_delta(void);

#endif