X-Git-Url: http://git.liburcu.org/?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fdrawing.h;h=63031bb1bfa75ac82cd68a6a3be95c96b39635a8;hb=a2b3ec75a78f0ae3d94b75075c2229cb60521dd4;hp=a36fdf49944e7f7093b4242edec69877f9952ccb;hpb=6395d57c1887bfba11a50d1d1905dc0f01f6a5a5;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.h b/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.h index a36fdf49..63031bb1 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.h @@ -33,6 +33,18 @@ #define SAFETY 50 // safety pixels at right and bottom of pixmap buffer + +typedef enum _draw_color { COL_BLACK, + COL_WHITE, + COL_WAIT_FORK, + COL_WAIT_CPU, + COL_ZOMBIE, + COL_WAIT, + COL_RUN, + NUM_COLORS } draw_color; + +extern GdkColor drawing_colors[NUM_COLORS]; + /* This part of the viewer does : * Draw horizontal lines, getting graphic context as arg. * Copy region of the screen into another. @@ -60,7 +72,14 @@ typedef struct _Drawing_t Drawing_t; struct _Drawing_t { GtkWidget *vbox; GtkWidget *drawing_area; + //GtkWidget *scrolled_window; + GtkWidget *hbox; + GtkWidget *viewport; + GtkWidget *scrollbar; + + GtkWidget *ruler_hbox; GtkWidget *ruler; + GtkWidget *padding; GdkPixmap *pixmap; ControlFlowData *control_flow_data; @@ -69,9 +88,11 @@ struct _Drawing_t { gint height, width, depth; /* X coordinate of damaged region */ - gint damage_begin, damage_end; - LttTime last_start; + gint damage_begin, damage_end; /* damaged region to be exposed, + updated per chunk */ + LttTime last_start; GdkGC *dotted_gc; + GdkGC *gc; }; Drawing_t *drawing_construct(ControlFlowData *control_flow_data); @@ -91,6 +112,9 @@ void drawing_draw_line( Drawing_t *drawing, // guint xdest, guint ydest, // guint width, guint height); +/* Clear the drawing : make it 1xwidth. */ +void drawing_clear(Drawing_t *drawing); + /* Insert a square corresponding to a new process in the list */ void drawing_insert_square(Drawing_t *drawing, guint y, @@ -101,7 +125,6 @@ void drawing_remove_square(Drawing_t *drawing, guint y, guint height); - void convert_pixels_to_time( gint width, guint x, @@ -118,7 +141,12 @@ void convert_time_to_pixels( void drawing_update_ruler(Drawing_t *drawing, TimeWindow *time_window); -void drawing_data_request_end(EventsRequest *events_request, LttvTracesetState *tss); +void drawing_request_expose(EventsRequest *events_request, + LttvTracesetState *tss, + LttTime end_time); +void drawing_data_request_begin(EventsRequest *events_request, + LttvTracesetState *tss); +void drawing_chunk_begin(EventsRequest *events_request, LttvTracesetState *tss); #endif // _DRAWING_H