X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fprocesslist.h;h=808e5fab4d4e5656aa2fae5d22a066edec142085;hb=10a1069a786aebb338aee5a31c1e3e17198aacbb;hp=efb747f72e10b8c75d047ab96be9ad2259313436;hpb=b9a010a28d9625c9d31968aa44f1a553daccb294;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h index efb747f7..808e5fab 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h @@ -44,17 +44,25 @@ typedef struct _ProcessInfo { guint pid; + GQuark cpu; /* only for PID 0 */ + guint ppid; LttTime birth; guint trace_num; + gint height_cache; + } ProcessInfo; typedef struct _HashedProcessData { - GtkTreeRowReference *row_ref; + GtkTreeIter y_iter; // Access quickly to y pos. // DrawContext *draw_context; /* Information on current drawing */ - guint x; /* last x position saved by after state update */ + struct { + guint over; + guint middle; + guint under; + } x; /* last x position saved by after state update */ // FIXME : add info on last event ? @@ -70,6 +78,7 @@ struct _ProcessList { GHashTable *process_hash; guint number_of_process; + gint cell_height_cache; }; @@ -82,22 +91,23 @@ GtkWidget *processlist_get_widget(ProcessList *process_list); void processlist_clear(ProcessList *process_list); // out : success (0) and height -int processlist_add(ProcessList *process_list, guint pid, LttTime *birth, - guint trace_num, const gchar *name, guint *height, +/* CPU num is only used for PID 0 */ +int processlist_add(ProcessList *process_list, guint pid, guint cpu, guint ppid, + LttTime *birth, guint trace_num, const gchar *name, guint *height, HashedProcessData **hashed_process_data); // out : success (0) and height -int processlist_remove(ProcessList *process_list, guint pid, LttTime *birth, - guint trace_num); +int processlist_remove(ProcessList *process_list, guint pid, guint cpu, + LttTime *birth, guint trace_num); guint processlist_get_height(ProcessList *process_list); // Returns 0 on success -gint processlist_get_process_pixels(ProcessList *process_list, - guint pid, LttTime *birth, guint trace_num, +__inline gint processlist_get_process_pixels(ProcessList *process_list, + guint pid, guint cpu, LttTime *birth, guint trace_num, guint *y, guint *height, HashedProcessData **hashed_process_data); -gint processlist_get_pixels_from_data( ProcessList *process_list, +__inline gint processlist_get_pixels_from_data( ProcessList *process_list, ProcessInfo *process_info, HashedProcessData *hashed_process_data, guint *y,