girara
|
00001 /* See LICENSE file for license and copyright information */ 00002 00003 #ifndef GIRARA_TYPES_H 00004 #define GIRARA_TYPES_H 00005 00006 #include "version.h" 00007 #include <stdbool.h> 00008 00009 typedef struct girara_tree_node_s girara_tree_node_t; 00010 typedef struct girara_list_s girara_list_t; 00011 typedef struct girara_list_iterator_s girara_list_iterator_t; 00012 typedef struct girara_setting_s girara_setting_t; 00013 typedef struct girara_session_s girara_session_t; 00014 typedef struct girara_command_s girara_command_t; 00015 typedef struct girara_mouse_event_s girara_mouse_event_t; 00016 typedef struct girara_config_handle_s girara_config_handle_t; 00017 typedef struct girara_mode_string_s girara_mode_string_t; 00018 typedef struct girara_tab_s girara_tab_t; 00019 typedef struct girara_statusbar_item_s girara_statusbar_item_t; 00020 typedef struct girara_argument_s girara_argument_t; 00021 typedef struct girara_shortcut_mapping_s girara_shortcut_mapping_t; 00022 typedef struct girara_argument_mapping_s girara_argument_mapping_t; 00023 typedef struct girara_completion_element_s girara_completion_element_t; 00024 typedef struct girara_completion_s girara_completion_t; 00025 typedef struct girara_completion_group_s girara_completion_group_t; 00026 typedef struct girara_shortcut_s girara_shortcut_t; 00027 typedef struct girara_inputbar_shortcut_s girara_inputbar_shortcut_t; 00028 typedef struct girara_special_command_s girara_special_command_t; 00029 typedef struct girara_event_s girara_event_t; 00030 00034 enum 00035 { 00036 GIRARA_HIDE = 1, 00037 GIRARA_NEXT, 00038 GIRARA_PREVIOUS, 00039 GIRARA_NEXT_GROUP, 00040 GIRARA_PREVIOUS_GROUP, 00041 GIRARA_HIGHLIGHT, 00042 GIRARA_NORMAL, 00043 GIRARA_DELETE_LAST_WORD, 00044 GIRARA_DELETE_LAST_CHAR, 00045 GIRARA_NEXT_CHAR, 00046 GIRARA_PREVIOUS_CHAR, 00047 GIRARA_DELETE_TO_LINE_START, 00048 GIRARA_DELETE_TO_LINE_END, 00049 GIRARA_DELETE_CURR_CHAR, 00050 GIRARA_GOTO_START, 00051 GIRARA_GOTO_END 00052 }; 00053 00057 typedef enum girara_debug_level_e 00058 { 00059 GIRARA_INFO, 00060 GIRARA_WARNING, 00061 GIRARA_DEBUG, 00062 GIRARA_ERROR 00063 } girara_debug_level_t; 00064 00068 typedef int girara_mode_t; 00069 00077 typedef girara_completion_t* (*girara_completion_function_t)( 00078 girara_session_t* session, const char* input); 00079 00089 typedef bool (*girara_inputbar_special_function_t)(girara_session_t* session, 00090 const char* input, girara_argument_t* argument); 00091 00099 typedef bool (*girara_command_function_t)(girara_session_t* session, 00100 girara_list_t* argument_list); 00101 00109 typedef bool (*girara_shortcut_function_t)(girara_session_t*, 00110 girara_argument_t*, girara_event_t*, unsigned int); 00111 00117 typedef void (*girara_free_function_t)(void* data); 00118 00125 typedef void (*girara_list_callback_t)(void* data, void* userdata); 00126 00133 typedef int (*girara_compare_function_t)(const void* data1, const void* data2); 00134 00138 typedef enum girara_setting_type_e 00139 { 00140 BOOLEAN, 00141 FLOAT, 00142 INT, 00143 STRING, 00144 UNKNOWN = 0xFFFF 00145 } girara_setting_type_t; 00146 00156 typedef void (*girara_setting_callback_t)(girara_session_t* session, 00157 const char* name, girara_setting_type_t type, void* value, void* data); 00158 00162 struct girara_argument_s 00163 { 00164 int n; 00165 void *data; 00166 }; 00167 00171 typedef enum girara_mouse_button_e 00172 { 00173 GIRARA_MOUSE_BUTTON1 = 1, 00174 GIRARA_MOUSE_BUTTON2 = 2, 00175 GIRARA_MOUSE_BUTTON3 = 3, 00176 GIRARA_MOUSE_BUTTON4 = 4, 00177 GIRARA_MOUSE_BUTTON5 = 5, 00178 GIRARA_MOUSE_BUTTON6 = 6, 00179 GIRARA_MOUSE_BUTTON7 = 7, 00180 GIRARA_MOUSE_BUTTON8 = 8, 00181 GIRARA_MOUSE_BUTTON9 = 9 00182 } girara_mouse_button_t; 00183 00187 typedef enum girara_event_type_e 00188 { 00189 GIRARA_EVENT_BUTTON_PRESS, 00190 GIRARA_EVENT_2BUTTON_PRESS, 00191 GIRARA_EVENT_3BUTTON_PRESS, 00192 GIRARA_EVENT_BUTTON_RELEASE, 00193 GIRARA_EVENT_MOTION_NOTIFY, 00194 GIRARA_EVENT_SCROLL_UP, 00195 GIRARA_EVENT_SCROLL_DOWN, 00196 GIRARA_EVENT_SCROLL_LEFT, 00197 GIRARA_EVENT_SCROLL_RIGHT, 00198 GIRARA_EVENT_OTHER 00199 } girara_event_type_t; 00200 00204 struct girara_event_s 00205 { 00206 girara_event_type_t type; 00208 double x; 00209 double y; 00210 }; 00211 00212 #endif