X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2FguiControlFlow%2FDrawing.c;h=c92d4607cf07666d649b682929bebd11239fcef4;hb=4ba421555910380b407cdf58380bb0182c93d191;hp=e89c8b295b6896125f35c4eb4f4a15d00c803a54;hpb=f66eba62898bf525692d55ef95935266aee56096;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.c b/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.c index e89c8b29..c92d4607 100644 --- a/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.c +++ b/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.c @@ -62,12 +62,20 @@ void drawing_data_request(Drawing_t *Drawing, LttTime window_end = ltt_time_add(control_flow_data->Time_Window.time_width, control_flow_data->Time_Window.start_time); - convert_pixels_to_time(Drawing, x, + g_critical("req : window_end : %u, %u", window_end.tv_sec, + window_end.tv_nsec); + + g_critical("req : time width : %u, %u", control_flow_data->Time_Window.time_width.tv_sec, + control_flow_data->Time_Window.time_width.tv_nsec); + + g_critical("x is : %i, x+width is : %i", x, x+width); + + convert_pixels_to_time(Drawing->Drawing_Area_V->allocation.width, x, &control_flow_data->Time_Window.start_time, &window_end, &start); - convert_pixels_to_time(Drawing, x + width, + convert_pixels_to_time(Drawing->Drawing_Area_V->allocation.width, x + width, &control_flow_data->Time_Window.start_time, &window_end, &end); @@ -82,9 +90,9 @@ void drawing_data_request(Drawing_t *Drawing, width, // do not overlap height); - send_test_process( - guicontrolflow_get_process_list(Drawing->Control_Flow_Data), - Drawing); + //send_test_process( + //guicontrolflow_get_process_list(Drawing->Control_Flow_Data), + //Drawing); //send_test_drawing( //guicontrolflow_get_process_list(Drawing->Control_Flow_Data), //Drawing, *Pixmap, x, y, width, height); @@ -95,7 +103,14 @@ void drawing_data_request(Drawing_t *Drawing, event_request.time_begin = start; event_request.time_end = end; + g_critical("req : start : %u, %u", event_request.time_begin.tv_sec, + event_request.time_begin.tv_nsec); + + g_critical("req : end : %u, %u", event_request.time_end.tv_sec, + event_request.time_end.tv_nsec); + LttvHooks *event = lttv_hooks_new(); + state_add_event_hooks_api(control_flow_data->Parent_Window); lttv_hooks_add(event, draw_event_hook, &event_request); lttv_process_traceset_seek_time(tsc, start); @@ -106,6 +121,7 @@ void drawing_data_request(Drawing_t *Drawing, lttv_traceset_context_remove_hooks(tsc, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, event, NULL); + state_remove_event_hooks_api(control_flow_data->Parent_Window); lttv_hooks_destroy(event); } @@ -162,6 +178,11 @@ g_critical("init data"); 0, 0, -1, -1); + if (Drawing->Pixmap) + gdk_pixmap_unref(Drawing->Pixmap); + + Drawing->Pixmap = Pixmap; + /* Request data for missing space */ g_critical("missing data"); drawing_data_request(Drawing, &Pixmap, Drawing->width, 0, @@ -189,10 +210,6 @@ g_critical("missing data"); - if (Drawing->Pixmap) - gdk_pixmap_unref(Drawing->Pixmap); - - Drawing->Pixmap = Pixmap; Drawing->width = widget->allocation.width; Drawing->height = widget->allocation.height; @@ -286,7 +303,7 @@ GtkWidget *drawing_get_widget(Drawing_t *Drawing) * Convert from window pixel and time interval to an absolute time. */ void convert_pixels_to_time( - Drawing_t *Drawing, + gint width, guint x, LttTime *window_time_begin, LttTime *window_time_end, @@ -296,7 +313,7 @@ void convert_pixels_to_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_mul(window_time_interval, (x/(float)width)); *time = ltt_time_add(*window_time_begin, *time); } @@ -306,7 +323,7 @@ void convert_time_to_pixels( LttTime window_time_begin, LttTime window_time_end, LttTime time, - Drawing_t *Drawing, + int width, guint *x) { LttTime window_time_interval; @@ -319,7 +336,7 @@ void convert_time_to_pixels( interval_float = ltt_time_to_double(window_time_interval); time_float = ltt_time_to_double(time); - *x = (guint)(time_float/interval_float * Drawing->width); + *x = (guint)(time_float/interval_float * width); }