diff options
Diffstat (limited to 'ex-display.h')
-rw-r--r-- | ex-display.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/ex-display.h b/ex-display.h new file mode 100644 index 0000000..f3e5cd1 --- /dev/null +++ b/ex-display.h @@ -0,0 +1,50 @@ +typedef struct ExDisplay ExDisplay; + +typedef enum +{ + EX_GARBAGE_FROM_SERVER, /* unparsable response */ + EX_LOST_CONNECTION +} ExFatalError; + +typedef void (* ExFatalErrorHandler) (ExDisplay *display, + ExFatalError error, + const char *detail); + + + +ExDisplay *ex_display_open (const char *display_name); +void ex_display_close (ExDisplay *display); +void ex_display_set_event_handler (ExDisplay *display, + ExEventHandler func); +void ex_display_set_fatal_error_handler (ExDisplay *display, + ExFatalErrorHandler func); +void ex_display_push_error_handler (ExDisplay *display, + ExErrorHandler func); +void ex_display_pop_error_handler (ExDisplay *display); +void ex_display_set_user_data (ExDisplay *display, + expointer data); +expointer ex_display_get_user_data (ExDisplay *display); +void ex_display_set_memory_vtable (ExDisplay *display, + ExMallocFunc malloc_, + ExMalloc0Func malloc0_, + ExReallocFunc realloc_ + ExFreeFunc free_); + +/* main loop stuff */ +int ex_display_get_fd (ExDisplay *display); +exboolean ex_display_iteration (ExDisplay *display, + exboolean may_block); +exboolean ex_display_pending (ExDisplay *display); +void ex_display_set_sync (ExDisplay *display, + exboolean sync); +exboolean ex_display_get_sync (ExDisplay *display); +exboolean ex_display_flush (ExDisplay *display, + exboolean may_block); +void ex_display_sync (ExDisplay *display); + + + +/* internal */ +ExID ex_display_generate_xid (ExDisplay *display); +void ex_display_release_xid (ExDisplay *display, + ExID id); |