# API plan details
Create a context object that other languages can allocate space for
provide a method to return the required number of bytes in memory to hold context object.
research best way to call an app's function pointer and/or lambda (we couldn't do a closure FFI could we?)
research can we generate a C/C++ header file off rust code?
Input state changes:
set window title
set preferred width, height
set callback function pointer(s)
set pixel color (x, y, and rgb)
tell library to flush pixels to backend
Output data:
callback enum types
mouse click event (relative x, y, mouse button num)
keyboard readable (char)
keyboard special (modifier, char)
window change event (resize with new width/height, move with new x and y)
timer event (int timer_num)