X-Git-Url: http://git.lttng.org./?a=blobdiff_plain;f=ltt%2Fbranches%2Fpoly%2Flttv%2Fmodules%2FguiControlFlow%2FDrawing.h;h=418f68858c0065f610d82497b03bbe243ca8a3e6;hb=f0728492474ee0932f7588d68e7b10816690dd0d;hp=801ef2d196972db8f31bde6abe1c60e871d704af;hpb=fa2c4dbef9d6f7f509a1d13ca8b7d16f95236100;p=lttv.git diff --git a/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.h b/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.h index 801ef2d1..418f6885 100644 --- a/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.h +++ b/ltt/branches/poly/lttv/modules/guiControlFlow/Drawing.h @@ -2,24 +2,70 @@ #define _DRAWING_H #include +#include +#include #include +#include "CFV.h" /* This part of the viewer does : - * Draw horizontal lines, getting line color and width as arguments. + * Draw horizontal lines, getting graphic context as arg. * Copy region of the screen into another. - * Modify the boundaries to reflect a scale change. - * + * Modify the boundaries to reflect a scale change. (resize) + * Refresh the physical screen with the pixmap * A helper function is provided here to convert from time and process * identifier to pixels and the contrary (will be useful for mouse selection). + * Insert an empty square in the drawing, moving the bottom part. + * + * The pixmap used has the width of the physical window, but the height + * of the shown processes. */ typedef struct _Drawing_t Drawing_t; -Drawing_t *Drawing(void); + +//FIXME : TEMPORARILY PLACED HERE FOR GC !! +struct _Drawing_t { + GtkWidget *Drawing_Area_V; + GdkPixmap *Pixmap; + ControlFlowData *Control_Flow_Data; + + gint height, width, depth; + +}; + + +Drawing_t *Drawing_construct(ControlFlowData *Control_Flow_Data); void Drawing_destroy(Drawing_t *Drawing); -void Drawing_Resize(Drawing_t *Drawing, guint h, guint w); +GtkWidget *Drawing_getWidget(Drawing_t *Drawing); + +//void Drawing_Refresh ( Drawing_t *Drawing, +// guint x, guint y, +// guint width, guint height); +void Drawing_draw_line( Drawing_t *Drawing, + GdkPixmap *Pixmap, + guint x1, guint y1, + guint x2, guint y2, + GdkGC *GC); + +//void Drawing_copy( Drawing_t *Drawing, +// guint xsrc, guint ysrc, +// guint xdest, guint ydest, +// guint width, guint height); + +/* Insert a square corresponding to a new process in the list */ +void Drawing_Insert_Square(Drawing_t *Drawing, + guint y, + guint height); + +/* Remove a square corresponding to a removed process in the list */ +void Drawing_Remove_Square(Drawing_t *Drawing, + guint y, + guint height); + + +//void Drawing_Resize(Drawing_t *Drawing, guint h, guint w); void convert_pixels_to_time( Drawing_t *Drawing, @@ -35,5 +81,4 @@ void convert_time_to_pixels( Drawing_t *Drawing, guint *x); - #endif // _DRAWING_H