diff options
author | Burt P <pburt0@gmail.com> | 2017-07-26 11:52:43 -0500 |
---|---|---|
committer | Leandro Pereira <leandro@hardinfo.org> | 2017-07-30 10:16:42 -0700 |
commit | d58276aa6fa507525312d9b83b7e82b0b6a479ab (patch) | |
tree | 193c47e4f0332dc528a8301e197e6cf87a91e9d0 /shell | |
parent | 56d1e1137b7e344064ca0950c5aa265764eebc02 (diff) |
loadgraph: make loadgraph opaque, sample gdouble
Old load graph still uses ints internally.
Signed-off-by: Burt P <pburt0@gmail.com>
Diffstat (limited to 'shell')
-rwxr-xr-x | shell/loadgraph.c | 37 | ||||
-rwxr-xr-x | shell/shell.c | 4 |
2 files changed, 38 insertions, 3 deletions
diff --git a/shell/loadgraph.c b/shell/loadgraph.c index e78524ca..581203f1 100755 --- a/shell/loadgraph.c +++ b/shell/loadgraph.c @@ -25,6 +25,33 @@ #include "loadgraph.h" +struct _LoadGraph { +#if GTK_CHECK_VERSION(3, 0, 0) + cairo_surface_t *buf; + cairo_t *grid; + cairo_t *trace; + cairo_t *fill; +#else + GdkPixmap *buf; + GdkGC *grid; + GdkGC *trace; + GdkGC *fill; +#endif + GtkWidget *area; + + gint *data; + gfloat scale; + + gint size; + gint width, height; + LoadGraphColor color; + + gint max_value, remax_count; + + PangoLayout *layout; + gchar *suffix; +}; + static void _draw(LoadGraph * lg); LoadGraph *load_graph_new(gint size) @@ -325,9 +352,10 @@ static void _draw(LoadGraph * lg) gtk_widget_queue_draw(lg->area); } -void load_graph_update(LoadGraph * lg, gint value) +void load_graph_update(LoadGraph * lg, gdouble v) { gint i; + gint value = (gint)v; if (value < 0) return; @@ -365,6 +393,13 @@ void load_graph_update(LoadGraph * lg, gint value) _draw(lg); } +gint load_graph_get_height(LoadGraph *lg) { + if (lg != NULL) + return lg->height; + return 0; +} + + #ifdef LOADGRAPH_UNIT_TEST gboolean lg_update(gpointer d) { diff --git a/shell/shell.c b/shell/shell.c index 9c7d19a7..69312db0 100755 --- a/shell/shell.c +++ b/shell/shell.c @@ -1030,12 +1030,12 @@ static void set_view_type(ShellViewType viewtype, gboolean reload) alloc = g_new(GtkAllocation, 1); gtk_widget_get_allocation(shell->hpaned, alloc); gtk_paned_set_position(GTK_PANED(shell->vpaned), - alloc->height - shell->loadgraph->height - 16); + alloc->height - load_graph_get_height(shell->loadgraph) - 16); g_free(alloc); #else gtk_paned_set_position(GTK_PANED(shell->vpaned), shell->hpaned->allocation.height - - shell->loadgraph->height - 16); + load_graph_get_height(shell->loadgraph) - 16); #endif break; |