* process position */
guint pid = tfs->process->pid;
LttTime birth = tfs->process->creation_time;
+ gchar *name = strdup("name");
guint y = 0, height = 0, pl_height = 0;
HashedProcessData *Hashed_Process_Data = NULL;
processlist_add(process_list,
pid,
&birth,
+ name,
&pl_height,
&Hashed_Process_Data);
+ g_free(name);
drawing_insert_square( Event_Request->Control_Flow_Data->Drawing, y, height);
}
prop_arc.size = 10;
prop_arc.filled = TRUE;
prop_arc.position = OVER;
+
DrawContext *draw_context = Hashed_Process_Data->draw_context;
draw_context->Current->modify_over->x = x;
draw_context->Current->modify_over->y = y;
draw_context->drawable = control_flow_data->Drawing->Pixmap;
+ draw_context->pango_layout = control_flow_data->Drawing->pango_layout;
GtkWidget *widget = control_flow_data->Drawing->Drawing_Area_V;
//draw_context->gc = widget->style->fg_gc[GTK_WIDGET_STATE (widget)];
draw_context->gc = widget->style->black_gc;
- draw_arc((void*)&prop_arc, (void*)draw_context);
+ //draw_arc((void*)&prop_arc, (void*)draw_context);
//test_draw_item(control_flow_data->Drawing, control_flow_data->Drawing->Pixmap);
+
+ GdkColor colorfg = { 0, 0x0000, 0x0000, 0x0000 };
+ GdkColor colorbg = { 0, 0xffff, 0x0000, 0xffff };
+ PropertiesText prop_text;
+ prop_text.foreground = &colorfg;
+ prop_text.background = &colorbg;
+ prop_text.size = 10;
+ prop_text.position = OVER;
+
+ /* Print status of the process : U, WF, WC, E, W, R */
+ if(tfs->process->state->s == LTTV_STATE_UNNAMED)
+ prop_text.Text = "U";
+ else if(tfs->process->state->s == LTTV_STATE_WAIT_FORK)
+ prop_text.Text = "WF";
+ else if(tfs->process->state->s == LTTV_STATE_WAIT_CPU)
+ prop_text.Text = "WC";
+ else if(tfs->process->state->s == LTTV_STATE_EXIT)
+ prop_text.Text = "E";
+ else if(tfs->process->state->s == LTTV_STATE_WAIT)
+ prop_text.Text = "W";
+ else if(tfs->process->state->s == LTTV_STATE_RUN)
+ prop_text.Text = "R";
+ else
+ prop_text.Text = "U";
+
+ draw_text((void*)&prop_text, (void*)draw_context);
+
return 0;
}
TimeWindow *Old_Time_Window =
guicontrolflow_get_time_window(control_flow_data);
TimeWindow *New_Time_Window = ((TimeWindow*)call_data);
-
+
/* Two cases : zoom in/out or scrolling */
-
+
/* In order to make sure we can reuse the old drawing, the scale must
* be the same and the new time interval being partly located in the
* currently shown time interval. (reuse is only for scrolling)
x, 0,
0, 0,
-1, -1);
+
+ convert_time_to_pixels(
+ *ns,
+ new_end,
+ old_end,
+ width,
+ &x);
+ *Old_Time_Window = *New_Time_Window;
+ /* Clear the data request background, but not SAFETY */
+ gdk_draw_rectangle (control_flow_data->Drawing->Pixmap,
+ control_flow_data->Drawing->Drawing_Area_V->style->white_gc,
+ TRUE,
+ x+SAFETY, 0,
+ control_flow_data->Drawing->width - x, // do not overlap
+ control_flow_data->Drawing->height+SAFETY);
/* Get new data for the rest. */
drawing_data_request(control_flow_data->Drawing,
&control_flow_data->Drawing->Pixmap,
x, 0,
-1, -1);
+ *Old_Time_Window = *New_Time_Window;
+
+ /* Clean the data request background */
+ gdk_draw_rectangle (control_flow_data->Drawing->Pixmap,
+ control_flow_data->Drawing->Drawing_Area_V->style->white_gc,
+ TRUE,
+ 0, 0,
+ x, // do not overlap
+ control_flow_data->Drawing->height+SAFETY);
/* Get new data for the rest. */
drawing_data_request(control_flow_data->Drawing,
&control_flow_data->Drawing->Pixmap,
g_info("scrolling far");
/* Cannot reuse any part of the screen : far jump */
*Old_Time_Window = *New_Time_Window;
+
+
+ gdk_draw_rectangle (control_flow_data->Drawing->Pixmap,
+ control_flow_data->Drawing->Drawing_Area_V->style->white_gc,
+ TRUE,
+ 0, 0,
+ control_flow_data->Drawing->width+SAFETY, // do not overlap
+ control_flow_data->Drawing->height+SAFETY);
drawing_data_request(control_flow_data->Drawing,
&control_flow_data->Drawing->Pixmap,
g_info("zoom");
*Old_Time_Window = *New_Time_Window;
-
+
+ gdk_draw_rectangle (control_flow_data->Drawing->Pixmap,
+ control_flow_data->Drawing->Drawing_Area_V->style->white_gc,
+ TRUE,
+ 0, 0,
+ control_flow_data->Drawing->width+SAFETY, // do not overlap
+ control_flow_data->Drawing->height+SAFETY);
+
+
drawing_data_request(control_flow_data->Drawing,
&control_flow_data->Drawing->Pixmap,
0, 0,