#include <gtk/gtk.h>
#include <lttv/mainWindow.h>
+#include <ltt/time.h>
#include "Process_List.h"
#include "Drawing.h"
+#include "CFV.h"
-void send_test_data(ProcessList *Process_List, Drawing_t *Drawing);
-GtkWidget *h_guicontrolflow(MainWindow *pmParentWindow, LttvTracesetSelector * s, char * key);
+/* Structure used to store and use information relative to one events refresh
+ * request. Typically filled in by the expose event callback, then passed to the
+ * library call, then used by the drawing hooks. Then, once all the events are
+ * sent, it is freed by the hook called after the reading.
+ */
+typedef struct _EventRequest
+{
+ ControlFlowData *control_flow_data;
+ LttTime time_begin, time_end;
+ gint x_begin, x_end;
+ /* Fill the Events_Context during the initial expose, before calling for
+ * events.
+ */
+ //GArray Events_Context; //FIXME
+} EventRequest ;
+
+
+
+
+
+void send_test_data(ProcessList *process_list, Drawing_t *Drawing);
+
+GtkWidget *h_guicontrolflow(MainWindow *mw, LttvTracesetSelector * s, char * key);
int event_selected_hook(void *hook_data, void *call_data);
/* Hook called before drawing. Gets the initial context at the beginning of the
- * drawing interval and copy it to the context in Event_Request.
+ * drawing interval and copy it to the context in event_request.
*/
int draw_before_hook(void *hook_data, void *call_data);
int draw_after_hook(void *hook_data, void *call_data);
-void update_time_window_hook(void *hook_data, void *call_data);
-void update_current_time_hook(void *hook_data, void *call_data);
+void draw_closure(gpointer key, gpointer value, gpointer user_data);
+
+int after_data_request(void *hook_data, void *call_data);
+
+
+gint update_time_window_hook(void *hook_data, void *call_data);
+gint update_current_time_hook(void *hook_data, void *call_data);
+
+
#endif // _EVENT_HOOKS_H