#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)
+
+GdkColor drawing_colors[NUM_COLORS] =
+{ /* Pixel, R, G, B */
+ { 0, 0, 0, 0 }, /* COL_BLACK */
+ { 0, 0xFFFF, 0xFFFF, 0xFFFF }, /* COL_WHITE */
+ { 0, 0x0fff, 0xffff, 0xfff0 }, /* COL_WAIT_FORK */
+ { 0, 0xffff, 0xffff, 0x0000 }, /* COL_WAIT_CPU */
+ { 0, 0xffff, 0x0000, 0xffff }, /* COL_EXIT */
+ { 0, 0xffff, 0x0000, 0x0000 }, /* COL_WAIT */
+ { 0, 0x0000, 0xffff, 0x0000 } /* COL_RUN */
+};
+
+
+
/*****************************************************************************
* drawing functions *
*****************************************************************************/
motion_notify_ruler(GtkWidget *widget, GdkEventMotion *event, gpointer user_data);
-//FIXME Colors will need to be dynamic. Graphic context part not done so far.
-typedef enum
-{
- RED,
- GREEN,
- BLUE,
- WHITE,
- BLACK
-
-} ControlFlowColors;
-
-/* Vector of unallocated colors */
-static GdkColor CF_Colors [] =
-{
- { 0, 0xffff, 0x0000, 0x0000 }, // RED
- { 0, 0x0000, 0xffff, 0x0000 }, // GREEN
- { 0, 0x0000, 0x0000, 0xffff }, // BLUE
- { 0, 0xffff, 0xffff, 0xffff }, // WHITE
- { 0, 0x0000, 0x0000, 0x0000 } // BLACK
-};
-
-
/* Function responsible for updating the exposed area.
* It must do an events request to the lttvwindow API to ask for this update.
* Note : this function cannot clear the background, because it may
LttvTracesetContext *tsc = LTTV_TRACESET_CONTEXT(tss);
LttTime current_time = lttv_traceset_context_get_current_tfc(tsc)->timestamp;
- cfd->drawing->last_start = current_time;
+ cfd->drawing->last_start = LTT_TIME_MIN(current_time,
+ events_request->end_time);
}
window_end,
&time);
- lttvwindow_report_current_time(control_flow_data->tab, &time);
+ lttvwindow_report_current_time(control_flow_data->tab, time);
}
- lttvwindow_report_focus(control_flow_data->tab,
- gtk_widget_get_parent(guicontrolflow_get_widget(control_flow_data)));
-
return FALSE;
}
drawing->ruler_hbox = gtk_hbox_new(FALSE, 1);
drawing->ruler = gtk_drawing_area_new ();
- gtk_widget_add_events(drawing->ruler, GDK_BUTTON_PRESS_MASK);
//gtk_widget_set_size_request(drawing->ruler, -1, 27);
drawing->padding = gtk_drawing_area_new ();
- gtk_widget_add_events(drawing->padding, GDK_BUTTON_PRESS_MASK);
//gtk_widget_set_size_request(drawing->padding, -1, 27);
gtk_box_pack_start(GTK_BOX(drawing->ruler_hbox), drawing->ruler,
TRUE, TRUE, 0);
// drawing->drawing_area->allocation.height,
// -1);
- gtk_widget_add_events(drawing->drawing_area, GDK_BUTTON_PRESS_MASK);
-
g_signal_connect (G_OBJECT(drawing->drawing_area),
"configure_event",
G_CALLBACK (configure_event),