about summary refs log tree commit diff stats
path: root/src/teliva.h
diff options
context:
space:
mode:
authorKartik K. Agaram <vc@akkartik.com>2021-12-25 13:05:37 -0800
committerKartik K. Agaram <vc@akkartik.com>2021-12-25 13:33:37 -0800
commitbb6e79aa0debb17d2e3ebc3af91092ef21e7a911 (patch)
treee6bc92c957b4bf464492b018c6847f0b33852336 /src/teliva.h
parent1fdfa8909b27a1e217a7ba3956c16355fe78d2f8 (diff)
downloadteliva-bb6e79aa0debb17d2e3ebc3af91092ef21e7a911.tar.gz
reorg: pull Teliva-specific stuff out of lua.c
It should now be easier to diff against the Lua 5.1 sources upstream.
Diffstat (limited to 'src/teliva.h')
-rw-r--r--src/teliva.h29
1 files changed, 29 insertions, 0 deletions
diff --git a/src/teliva.h b/src/teliva.h
index bb8964a..50b1b0e 100644
--- a/src/teliva.h
+++ b/src/teliva.h
@@ -1,6 +1,35 @@
 #ifndef __TELIVA_H__
 #define __TELIVA_H__
 
+/* Each category of primitives below shows a few options from high to low
+ * levels of abstraction.
+ * (Lower levels aren't complete or well-designed, just what code outside
+ * teliva.c needs.) */
+
+/* Integrate with Lua VM */
+extern char** Argv;
+extern int handle_image(lua_State* L, char** argv, int n);
+
+extern int load_editor_buffer_to_current_definition_in_image(lua_State* L);
+extern void save_to_current_definition_and_editor_buffer(lua_State* L, const char* definition);
+extern void save_editor_state(int rowoff, int coloff, int cy, int cx);
+
+/* Standard UI elements */
+extern void render_trusted_teliva_data(lua_State* L);
+
+extern void draw_menu_item(const char* key, const char* name);
+
+extern void draw_string_on_menu(const char* s);
+
+extern int menu_column;
+
+/* Error reporting */
+
+extern const char* Previous_error;
+extern int report_in_developer_mode(lua_State* L, int status);
+
+extern void render_previous_error(void);
+
 // Some names for hotkeys beyond those provided by ncurses.
 
 enum KEY_ACTION {