- pid_in,
- &birth,
- tfc->t_context->index,
- name,
- &pl_height,
- &hashed_process_data_in);
- processlist_get_process_pixels(process_list,
- pid_in,
- &birth,
- tfc->t_context->index,
- &y_in,
- &height,
- &hashed_process_data_in);
-
- drawing_insert_square( control_flow_data->drawing, y_in, height);
- }
- g_free(name);
-
-
- /* Find pixels corresponding to time of the event. If the time does
- * not fit in the window, show a warning, not supposed to happend. */
- //guint x = 0;
- //guint width = control_flow_data->drawing->drawing_area->allocation.width;
-
- //LttTime time = ltt_event_time(e);
-
- //LttTime window_end = ltt_time_add(time_window->time_width,
- // time_window->start_time);
-
-
- //convert_time_to_pixels(
- // time_window->start_time,
- // window_end,
- // time,
- // width,
- // &x);
-
- //assert(x <= width);
-
- /* draw what represents the event for outgoing process. */
-
- DrawContext *draw_context_out = hashed_process_data_out->draw_context;
- //draw_context_out->current->modify_over->x = x;
- draw_context_out->current->modify_over->y = y_out;
- draw_context_out->current->modify_under->y = y_out+(height/2)+2;
- draw_context_out->drawable = control_flow_data->drawing->pixmap;
- draw_context_out->pango_layout = control_flow_data->drawing->pango_layout;
- GtkWidget *widget = control_flow_data->drawing->drawing_area;
- //draw_context_out->gc = widget->style->fg_gc[GTK_WIDGET_STATE (widget)];
-
- //draw_arc((void*)&prop_arc, (void*)draw_context_out);
- //test_draw_item(control_flow_data->drawing, control_flow_data->drawing->pixmap);
-
- /*if(process_out->state->s == LTTV_STATE_RUN)
- {
- draw_context_out->gc = gdk_gc_new(control_flow_data->drawing->pixmap);
- gdk_gc_copy(draw_context_out->gc, widget->style->black_gc);
- PropertiesBG prop_bg;
- prop_bg.color = g_new(GdkColor,1);
-
- prop_bg.color->red = 0xffff;
- prop_bg.color->green = 0xffff;
- prop_bg.color->blue = 0xffff;
-
- draw_bg((void*)&prop_bg, (void*)draw_context_out);
- g_free(prop_bg.color);
- gdk_gc_unref(draw_context_out->gc);
- }*/
-
- draw_context_out->gc = widget->style->black_gc;
-
- GdkColor colorfg_out = { 0, 0xffff, 0x0000, 0x0000 };
- GdkColor colorbg_out = { 0, 0x0000, 0x0000, 0x0000 };
- PropertiesText prop_text_out;
- prop_text_out.foreground = &colorfg_out;
- prop_text_out.background = &colorbg_out;
- prop_text_out.size = 6;
- prop_text_out.position = OVER;
-
- /* color of text : status of the process */
- if(process_out->state->s == LTTV_STATE_UNNAMED)
- {
- prop_text_out.foreground->red = 0xffff;
- prop_text_out.foreground->green = 0xffff;
- prop_text_out.foreground->blue = 0xffff;
- }
- else if(process_out->state->s == LTTV_STATE_WAIT_FORK)
- {
- prop_text_out.foreground->red = 0x0fff;
- prop_text_out.foreground->green = 0xffff;
- prop_text_out.foreground->blue = 0xfff0;
- }
- else if(process_out->state->s == LTTV_STATE_WAIT_CPU)
- {
- prop_text_out.foreground->red = 0xffff;
- prop_text_out.foreground->green = 0xffff;
- prop_text_out.foreground->blue = 0x0000;
- }
- else if(process_out->state->s == LTTV_STATE_EXIT)
- {
- prop_text_out.foreground->red = 0xffff;
- prop_text_out.foreground->green = 0x0000;
- prop_text_out.foreground->blue = 0xffff;
- }
- else if(process_out->state->s == LTTV_STATE_WAIT)
- {
- prop_text_out.foreground->red = 0xffff;
- prop_text_out.foreground->green = 0x0000;
- prop_text_out.foreground->blue = 0x0000;
- }
- else if(process_out->state->s == LTTV_STATE_RUN)
- {
- prop_text_out.foreground->red = 0x0000;
- prop_text_out.foreground->green = 0xffff;
- prop_text_out.foreground->blue = 0x0000;
- }
- else
- {
- prop_text_out.foreground->red = 0xffff;
- prop_text_out.foreground->green = 0xffff;
- prop_text_out.foreground->blue = 0xffff;
- }
-
- /* Print status of the process : U, WF, WC, E, W, R */
- if(process_out->state->s == LTTV_STATE_UNNAMED)
- prop_text_out.text = "U";
- else if(process_out->state->s == LTTV_STATE_WAIT_FORK)
- prop_text_out.text = "WF";
- else if(process_out->state->s == LTTV_STATE_WAIT_CPU)
- prop_text_out.text = "WC";
- else if(process_out->state->s == LTTV_STATE_EXIT)
- prop_text_out.text = "E";
- else if(process_out->state->s == LTTV_STATE_WAIT)
- prop_text_out.text = "W";
- else if(process_out->state->s == LTTV_STATE_RUN)
- prop_text_out.text = "R";
- else
- prop_text_out.text = "U";
-
- draw_text((void*)&prop_text_out, (void*)draw_context_out);
-
- //gdk_gc_unref(draw_context_out->gc);
-
- draw_context_out->current->middle->y = y_out+height/2;
- draw_context_out->current->over->y = y_out;
- draw_context_out->current->under->y = y_out+height;
- draw_context_out->current->status = process_out->state->s;
-
- /* for pid_out : remove previous, Prev = current, new current (default) */
- g_free(draw_context_out->previous->modify_under);
- g_free(draw_context_out->previous->modify_middle);
- g_free(draw_context_out->previous->modify_over);
- g_free(draw_context_out->previous->under);
- g_free(draw_context_out->previous->middle);
- g_free(draw_context_out->previous->over);
- g_free(draw_context_out->previous);
-
- draw_context_out->previous = draw_context_out->current;
-
- draw_context_out->current = g_new(DrawInfo,1);
- draw_context_out->current->over = g_new(ItemInfo,1);
- draw_context_out->current->over->x = -1;
- draw_context_out->current->over->y = -1;
- draw_context_out->current->middle = g_new(ItemInfo,1);
- draw_context_out->current->middle->x = -1;
- draw_context_out->current->middle->y = -1;
- draw_context_out->current->under = g_new(ItemInfo,1);
- draw_context_out->current->under->x = -1;
- draw_context_out->current->under->y = -1;
- draw_context_out->current->modify_over = g_new(ItemInfo,1);
- draw_context_out->current->modify_over->x = -1;
- draw_context_out->current->modify_over->y = -1;
- draw_context_out->current->modify_middle = g_new(ItemInfo,1);
- draw_context_out->current->modify_middle->x = -1;
- draw_context_out->current->modify_middle->y = -1;
- draw_context_out->current->modify_under = g_new(ItemInfo,1);
- draw_context_out->current->modify_under->x = -1;
- draw_context_out->current->modify_under->y = -1;
- draw_context_out->current->status = LTTV_STATE_UNNAMED;
-
- /* Finally, update the drawing context of the pid_in. */
-
- DrawContext *draw_context_in = hashed_process_data_in->draw_context;
- //draw_context_in->current->modify_over->x = x;
- draw_context_in->current->modify_over->y = y_in;
- draw_context_in->current->modify_under->y = y_in+(height/2)+2;
- draw_context_in->drawable = control_flow_data->drawing->pixmap;
- draw_context_in->pango_layout = control_flow_data->drawing->pango_layout;
- widget = control_flow_data->drawing->drawing_area;
- //draw_context_in->gc = widget->style->fg_gc[GTK_WIDGET_STATE (widget)];
-
- //draw_arc((void*)&prop_arc, (void*)draw_context_in);
- //test_draw_item(control_flow_data->drawing, control_flow_data->drawing->pixmap);
-
- /*if(process_in->state->s == LTTV_STATE_RUN)
- {
- draw_context_in->gc = gdk_gc_new(control_flow_data->drawing->pixmap);
- gdk_gc_copy(draw_context_in->gc, widget->style->black_gc);
- PropertiesBG prop_bg;
- prop_bg.color = g_new(GdkColor,1);
-
- prop_bg.color->red = 0xffff;
- prop_bg.color->green = 0xffff;
- prop_bg.color->blue = 0xffff;
-
- draw_bg((void*)&prop_bg, (void*)draw_context_in);
- g_free(prop_bg.color);
- gdk_gc_unref(draw_context_in->gc);
- }*/
-
- draw_context_in->gc = widget->style->black_gc;
-
- GdkColor colorfg_in = { 0, 0x0000, 0xffff, 0x0000 };
- GdkColor colorbg_in = { 0, 0x0000, 0x0000, 0x0000 };
- PropertiesText prop_text_in;
- prop_text_in.foreground = &colorfg_in;
- prop_text_in.background = &colorbg_in;
- prop_text_in.size = 6;
- prop_text_in.position = OVER;
-
- /* foreground of text : status of the process */
- if(process_in->state->s == LTTV_STATE_UNNAMED)
- {
- prop_text_in.foreground->red = 0xffff;
- prop_text_in.foreground->green = 0xffff;
- prop_text_in.foreground->blue = 0xffff;
- }
- else if(process_in->state->s == LTTV_STATE_WAIT_FORK)
- {
- prop_text_in.foreground->red = 0x0fff;
- prop_text_in.foreground->green = 0xffff;
- prop_text_in.foreground->blue = 0xfff0;
- }
- else if(process_in->state->s == LTTV_STATE_WAIT_CPU)
- {
- prop_text_in.foreground->red = 0xffff;
- prop_text_in.foreground->green = 0xffff;
- prop_text_in.foreground->blue = 0x0000;
- }
- else if(process_in->state->s == LTTV_STATE_EXIT)
- {
- prop_text_in.foreground->red = 0xffff;
- prop_text_in.foreground->green = 0x0000;
- prop_text_in.foreground->blue = 0xffff;
- }
- else if(process_in->state->s == LTTV_STATE_WAIT)
- {
- prop_text_in.foreground->red = 0xffff;
- prop_text_in.foreground->green = 0x0000;
- prop_text_in.foreground->blue = 0x0000;
- }
- else if(process_in->state->s == LTTV_STATE_RUN)
- {
- prop_text_in.foreground->red = 0x0000;
- prop_text_in.foreground->green = 0xffff;
- prop_text_in.foreground->blue = 0x0000;
- }
- else
- {
- prop_text_in.foreground->red = 0xffff;
- prop_text_in.foreground->green = 0xffff;
- prop_text_in.foreground->blue = 0xffff;
- }
-
-
- /* Print status of the process : U, WF, WC, E, W, R */
- if(process_in->state->s == LTTV_STATE_UNNAMED)
- prop_text_in.text = "U";
- else if(process_in->state->s == LTTV_STATE_WAIT_FORK)
- prop_text_in.text = "WF";
- else if(process_in->state->s == LTTV_STATE_WAIT_CPU)
- prop_text_in.text = "WC";
- else if(process_in->state->s == LTTV_STATE_EXIT)
- prop_text_in.text = "E";
- else if(process_in->state->s == LTTV_STATE_WAIT)
- prop_text_in.text = "W";
- else if(process_in->state->s == LTTV_STATE_RUN)
- prop_text_in.text = "R";
- else
- prop_text_in.text = "U";
-
- draw_text((void*)&prop_text_in, (void*)draw_context_in);
-
-
- if(process_in->state->s == LTTV_STATE_RUN)
- {
- gchar tmp[255];
- prop_text_in.foreground = &colorfg_in;
- prop_text_in.background = &colorbg_in;
- prop_text_in.foreground->red = 0xffff;
- prop_text_in.foreground->green = 0xffff;
- prop_text_in.foreground->blue = 0xffff;
- prop_text_in.size = 6;
- prop_text_in.position = UNDER;
-
- prop_text_in.text = g_new(gchar, 260);
- strcpy(prop_text_in.text, "CPU ");
- snprintf(tmp, 255, "%u", tfc->index);
- strcat(prop_text_in.text, tmp);
-
- draw_text((void*)&prop_text_in, (void*)draw_context_in);
- g_free(prop_text_in.text);