X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fdrawing.h;h=58f562a2a6380e4be299b805e68807f1aaf29365;hb=f0d243f7b3a3fd1f5fe74f9f272213192dc9cdaa;hp=ce058111846e9ed9d9edc0a5f15b76dee3150955;hpb=04cd9a1e94f33a731da0871ab6c4edb3db37cc4d;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 ce058111..58f562a2 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/drawing.h @@ -39,7 +39,8 @@ typedef enum _draw_color { COL_RUN_USER_MODE,/* green */ COL_RUN_SYSCALL, /* pale blue */ COL_RUN_TRAP, /* yellow */ - COL_RUN_IRQ, /* red */ + COL_RUN_IRQ, /* orange */ + COL_RUN_SOFT_IRQ, /* red */ COL_WAIT, /* dark red */ COL_WAIT_CPU, /* dark yellow */ COL_ZOMBIE, /* dark purple */ @@ -73,7 +74,15 @@ extern GdkColor drawing_colors[NUM_COLORS]; * of the shown processes. */ +#ifndef TYPE_DRAWING_T_DEFINED +#define TYPE_DRAWING_T_DEFINED typedef struct _Drawing_t Drawing_t; +#endif //TYPE_DRAWING_T_DEFINED + +#ifndef TYPE_CONTROLFLOWDATA_DEFINED +#define TYPE_CONTROLFLOWDATA_DEFINED +typedef struct _ControlFlowData ControlFlowData; +#endif //TYPE_CONTROLFLOWDATA_DEFINED struct _Drawing_t { GtkWidget *vbox; @@ -86,12 +95,14 @@ struct _Drawing_t { GtkWidget *ruler_hbox; GtkWidget *ruler; GtkWidget *padding; - GdkPixmap *pixmap; + //GdkPixmap *pixmap; ControlFlowData *control_flow_data; PangoLayout *pango_layout; gint height, width, depth; + /* height and width of allocated buffer pixmap */ + gint alloc_height, alloc_width; /* X coordinate of damaged region */ gint damage_begin, damage_end; /* damaged region to be exposed, @@ -99,6 +110,8 @@ struct _Drawing_t { LttTime last_start; GdkGC *dotted_gc; GdkGC *gc; + GdkGC *ruler_gc_butt; + GdkGC *ruler_gc_round; /* Position of the horizontal selector, -1 for none */ gint horizontal_sel; @@ -110,6 +123,12 @@ void drawing_destroy(Drawing_t *drawing); GtkWidget *drawing_get_widget(Drawing_t *drawing); GtkWidget *drawing_get_drawing_area(Drawing_t *drawing); + +void drawing_data_request(Drawing_t *drawing, + gint x, gint y, + gint width, + gint height); + void drawing_draw_line( Drawing_t *drawing, GdkPixmap *pixmap, guint x1, guint y1,