diff options
Diffstat (limited to 'src/window.h')
-rw-r--r-- | src/window.h | 86 |
1 files changed, 86 insertions, 0 deletions
diff --git a/src/window.h b/src/window.h new file mode 100644 index 0000000..fb5c036 --- /dev/null +++ b/src/window.h @@ -0,0 +1,86 @@ +/** @file */ + +#ifndef HONEY_WINDOW_H +#define HONEY_WINDOW_H + +#include "common.h" + +#define HONEY_WINDOW_DEFAULT_WIDTH 640 +#define HONEY_WINDOW_DEFAULT_HEIGHT 480 + +/** @brief Push the various honey.window table to the stack. + * + * @param[in] L The lua state to push to + * @param[in] window The window created by honey_setup() + * + * @returns Nothing. + */ +bool honey_setup_window(lua_State* L); + +/** @brief Set whether or not the window is fullscreen. + * + * Lua parameters: + * @param[in] fullscreen Boolean set to true if the window is to be fullscreen and false otherwise. + * + * @returns Nothing. + */ +int honey_window_set_fullscreen(lua_State* L); + +/** @brief Set the title of the window. + * + * @param[in] title String containing the desired window title. + * + * @returns Nothing. + */ +int honey_window_set_title(lua_State* L); + +/** @brief Get the current size of the window. + * + * @returns width, height numbers representing the window size in pixels. + */ +int honey_window_get_size(lua_State* L); + +/** @brief Set the current size of the window. + * + * @param[in] width Integer of the desired width in pixels. + * @param[in] height Integer of the desired height in pixels. + * + * @returns Nothing. + */ +int honey_window_set_size(lua_State* L); + +/** @brief Bind a call back to the window resize. + * + * @param[in] callback The callback function to call on a window resize. + * + * @returns Nothing. + */ +int honey_window_resize_bind(lua_State* L); + +/** @brief Unbind any callback that may be attached to the window resize. + * + * @returns Nothing. + */ +int honey_window_resize_unbind(lua_State* L); + +/** @brief Bind a callback to the window changing focus. + * + * The supplied callback function should be of the form + * function(boolean, data). The boolean is true if the window + * is gaining focus, and false if it is losing focus. The data is + * just the data parameter passed to this function. + * + * @param callback The callback function to call on a window resize. + * @param data Data to send to the callback. + * + * @returns Nothing. + */ +int honey_window_focus_bind(lua_State* L); + +/** @brief Unbind any callback that may be attached to the window focus. + * + * @returns Nothing. + */ +int honey_window_focus_unbind(lua_State* L); + +#endif |