pxl8/src/pxl8_script.h

50 lines
2 KiB
C
Raw Normal View History

2025-10-04 04:13:48 -05:00
#pragma once
#include "pxl8_gfx.h"
#include "pxl8_types.h"
typedef struct pxl8_script pxl8_script;
2025-10-17 17:54:33 -05:00
typedef struct pxl8_script_repl pxl8_script_repl;
typedef struct pxl8_script_repl_command pxl8_script_repl_command;
2025-10-04 04:13:48 -05:00
#ifdef __cplusplus
extern "C" {
#endif
pxl8_script* pxl8_script_create(void);
void pxl8_script_destroy(pxl8_script* script);
const char* pxl8_script_get_last_error(pxl8_script* script);
void pxl8_script_set_cart_path(pxl8_script* script, const char* cart_path, const char* original_cwd);
void pxl8_script_set_gfx(pxl8_script* script, pxl8_gfx* gfx);
void pxl8_script_set_input(pxl8_script* script, pxl8_input_state* input);
2025-11-18 23:50:02 -06:00
void pxl8_script_set_sys(pxl8_script* script, void* sys);
2025-10-04 04:13:48 -05:00
pxl8_result pxl8_script_call_function(pxl8_script* script, const char* name);
pxl8_result pxl8_script_call_function_f32(pxl8_script* script, const char* name, f32 arg);
pxl8_result pxl8_script_eval(pxl8_script* script, const char* code);
2025-11-01 12:39:59 -05:00
pxl8_result pxl8_script_eval_repl(pxl8_script* script, const char* code);
2025-10-04 04:13:48 -05:00
pxl8_result pxl8_script_load_module(pxl8_script* script, const char* module_name);
pxl8_result pxl8_script_run_fennel_file(pxl8_script* script, const char* filename);
pxl8_result pxl8_script_run_file(pxl8_script* script, const char* filename);
pxl8_result pxl8_script_load_main(pxl8_script* script, const char* path);
bool pxl8_script_check_reload(pxl8_script* script);
2025-10-17 17:54:33 -05:00
pxl8_script_repl* pxl8_script_repl_create(void);
void pxl8_script_repl_init(pxl8_script_repl* repl);
void pxl8_script_repl_shutdown(pxl8_script_repl* repl);
2025-11-01 12:39:59 -05:00
void pxl8_script_repl_destroy(pxl8_script_repl* repl);
2025-10-17 17:54:33 -05:00
pxl8_script_repl_command* pxl8_script_repl_pop_command(pxl8_script_repl* repl);
const char* pxl8_script_repl_command_buffer(pxl8_script_repl_command* cmd);
2025-11-01 12:39:59 -05:00
void pxl8_script_repl_eval_complete(pxl8_script_repl* repl);
void pxl8_script_repl_clear_accumulator(pxl8_script_repl* repl);
bool pxl8_script_repl_should_quit(pxl8_script_repl* repl);
bool pxl8_script_is_incomplete_input(pxl8_script* script);
2025-10-17 17:54:33 -05:00
2025-10-04 04:13:48 -05:00
#ifdef __cplusplus
}
#endif