#include <lttv/processTrace.h>
+
+#define g_info(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_INFO, format)
+#define g_debug(format...) g_log (G_LOG_DOMAIN, G_LOG_LEVEL_DEBUG, format)
+
+
/*****************************************************************************
* Drawing functions *
*****************************************************************************/
};
-//struct _Drawing_t {
-// GtkWidget *Drawing_Area_V;
-// GdkPixmap *Pixmap;
-// ControlFlowData *Control_Flow_Data;
-
-// gint height, width, depth;
-
-//};
-
/* Function responsible for updating the exposed area.
* It must call processTrace() to ask for this update.
*/
-void Drawing_Data_Request(Drawing_t *Drawing,
+void drawing_data_request(Drawing_t *Drawing,
GdkPixmap **Pixmap,
gint x, gint y,
- gint width,
+ gint width,
gint height)
{
+
+// start from pixel to time(x)
+// end from pixel to time (x + width)
+
+// LttvTracesetContext * tsc = get_traceset_context(event_viewer_data->mw);
+
if(width < 0) return ;
if(height < 0) return ;
height);
send_test_process(
- GuiControlFlow_get_Process_List(Drawing->Control_Flow_Data),
+ guicontrolflow_get_process_list(Drawing->Control_Flow_Data),
Drawing);
send_test_drawing(
- GuiControlFlow_get_Process_List(Drawing->Control_Flow_Data),
+ guicontrolflow_get_process_list(Drawing->Control_Flow_Data),
Drawing, *Pixmap, x, y, width, height);
+ // Let's call processTrace() !!
+
+
+ //lttv_process_traceset_seek_time(tsc, start);
+ //lttv_traceset_context_add_hooks(
+ //lttv_process_traceset
+ //lttv_traceset_context_remove_hooks
}
/* Callbacks */
Drawing->height = widget->allocation.height;
g_critical("init data");
/* Initial data request */
- Drawing_Data_Request(Drawing, &Drawing->Pixmap, 0, 0,
+ drawing_data_request(Drawing, &Drawing->Pixmap, 0, 0,
widget->allocation.width,
widget->allocation.height);
/* Request data for missing space */
g_critical("missing data");
- Drawing_Data_Request(Drawing, &Pixmap, Drawing->width, 0,
+ drawing_data_request(Drawing, &Pixmap, Drawing->width, 0,
widget->allocation.width - Drawing->width,
widget->allocation.height);
- Drawing_Data_Request(Drawing, &Pixmap, 0, Drawing->height,
+ drawing_data_request(Drawing, &Pixmap, 0, Drawing->height,
Drawing->width,
widget->allocation.height - Drawing->height);
// widget->allocation.height -
// Drawing->height);
-
if (Drawing->Pixmap)
return FALSE;
}
-Drawing_t *Drawing_construct(ControlFlowData *Control_Flow_Data)
+Drawing_t *drawing_construct(ControlFlowData *Control_Flow_Data)
{
Drawing_t *Drawing = g_new(Drawing_t, 1);
G_OBJECT(Drawing->Drawing_Area_V),
"Link_Drawing_Data",
Drawing,
- (GDestroyNotify)Drawing_destroy);
+ (GDestroyNotify)drawing_destroy);
//gtk_widget_modify_bg( Drawing->Drawing_Area_V,
// GTK_STATE_NORMAL,
return Drawing;
}
-void Drawing_destroy(Drawing_t *Drawing)
+void drawing_destroy(Drawing_t *Drawing)
{
// Do not unref here, Drawing_t destroyed by it's widget.
g_free(Drawing);
}
-GtkWidget *Drawing_getWidget(Drawing_t *Drawing)
+GtkWidget *drawing_get_widget(Drawing_t *Drawing)
{
return Drawing->Drawing_Area_V;
}
/* get_time_from_pixels
*
- * Get the time interval from window time and pixels, and pixels requested. This
- * function uses TimeMul, which should only be used if the float value is lower
- * that 4, and here it's always lower than 1, so it's ok.
+ * Get the time interval from window time and pixels, and pixels requested.
*/
void convert_pixels_to_time(
Drawing_t *Drawing,
{
LttTime window_time_interval;
- TimeSub(window_time_interval, *window_time_end, *window_time_begin);
-
-
- TimeMul(*time, window_time_interval,
- (x/(float)Drawing->width));
- TimeAdd(*time, *window_time_begin, *time);
-
+ window_time_interval = ltt_time_sub(*window_time_end,
+ *window_time_begin);
+ *time = ltt_time_mul(window_time_interval, (x/(float)Drawing->width));
+ *time = ltt_time_add(*window_time_begin, *time);
}
LttTime window_time_interval;
float interval_float, time_float;
- TimeSub(window_time_interval, window_time_end, window_time_begin);
+ window_time_interval = ltt_time_sub(window_time_end,window_time_begin);
- TimeSub(time, time, window_time_begin);
+ time = ltt_time_sub(time, window_time_begin);
- interval_float = (window_time_interval.tv_sec * NANSECOND_CONST)
- + window_time_interval.tv_nsec;
- time_float = (time.tv_sec * NANSECOND_CONST)
- + time.tv_nsec;
+ interval_float = ltt_time_to_double(window_time_interval);
+ time_float = ltt_time_to_double(time);
*x = (guint)(time_float/interval_float * Drawing->width);
}
-void Drawing_Refresh ( Drawing_t *Drawing,
+void drawing_refresh ( Drawing_t *Drawing,
guint x, guint y,
guint width, guint height)
{
+ g_info("Drawing.c : drawing_refresh %u, %u, %u, %u", x, y, width, height);
GdkRectangle update_rect;
gdk_draw_drawable(
}
-void Drawing_draw_line( Drawing_t *Drawing,
+void drawing_draw_line( Drawing_t *Drawing,
GdkPixmap *Pixmap,
guint x1, guint y1,
guint x2, guint y2,
-void Drawing_Resize(Drawing_t *Drawing, guint h, guint w)
+void drawing_resize(Drawing_t *Drawing, guint h, guint w)
{
Drawing->height = h ;
Drawing->width = w ;
/* Insert a square corresponding to a new process in the list */
/* Applies to whole Drawing->width */
-void Drawing_Insert_Square(Drawing_t *Drawing,
+void drawing_insert_square(Drawing_t *Drawing,
guint y,
guint height)
{
/* Remove a square corresponding to a removed process in the list */
-void Drawing_Remove_Square(Drawing_t *Drawing,
+void drawing_remove_square(Drawing_t *Drawing,
guint y,
guint height)
{
update_rect.height = Drawing->height - y ;
gtk_widget_draw( Drawing->Drawing_Area_V, &update_rect);
}
+
+