X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2Fgui%2Fcontrolflow%2Fprocesslist.h;h=7a2f482800729f598dc8d43663a1bfb1f9b45ce6;hb=3bb305441a4f5b72a07e7f278dd51d5ebb4eb7cb;hp=1c9331d2765c337eb903506bf0a0d15ed517ce28;hpb=2309386913ad8c4ce16fa35b7ce749ea7845e292;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 1c9331d2..7a2f4828 100644 --- a/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h +++ b/ltt/branches/poly/lttv/modules/gui/controlflow/processlist.h @@ -49,19 +49,29 @@ typedef struct _ProcessInfo { 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 */ struct { guint over; + gboolean over_used; /* inform the user that information is incomplete */ + gboolean over_marked; /* inform the user that information is incomplete */ guint middle; + gboolean middle_used; /* inform the user that information is incomplete */ + gboolean middle_marked;/* inform the user that information is incomplete */ guint under; + gboolean under_used; /* inform the user that information is incomplete */ + gboolean under_marked; /* inform the user that information is incomplete */ } x; /* last x position saved by after state update */ + LttTime next_good_time; /* precalculate the next time where the next + pixel is.*/ // FIXME : add info on last event ? } HashedProcessData; @@ -76,6 +86,12 @@ struct _ProcessList { GHashTable *process_hash; guint number_of_process; + gint cell_height_cache; + + /* FIXME : those current process must be one per CPU !! */ + ProcessInfo *current_process_info; + HashedProcessData *current_hash_data; + }; @@ -91,6 +107,7 @@ void processlist_clear(ProcessList *process_list); /* 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, + ProcessInfo **process_info, HashedProcessData **hashed_process_data); // out : success (0) and height int processlist_remove(ProcessList *process_list, guint pid, guint cpu, @@ -99,12 +116,12 @@ int processlist_remove(ProcessList *process_list, guint pid, guint cpu, guint processlist_get_height(ProcessList *process_list); // Returns 0 on success -gint processlist_get_process_pixels(ProcessList *process_list, +__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,