/* Updates the load graph when the timeout expires */ static gboolean load_graph_update (gpointer user_data) { LoadGraph * const g = static_cast<LoadGraph*>(user_data); if (g->render_counter == g->frames_per_unit - 1) { std::rotate(&g->data[0], &g->data[LoadGraph::NUM_POINTS - 1], &g->data[LoadGraph::NUM_POINTS]); switch (g->type) { case LOAD_GRAPH_CPU: get_load(g); break; case LOAD_GRAPH_MEM: get_memory(g); break; case LOAD_GRAPH_NET: get_net(g); break; default: g_assert_not_reached(); } } if (g->draw) load_graph_draw (g); g->render_counter++; if (g->render_counter >= g->frames_per_unit) g->render_counter = 0; return TRUE; }
/* Updates the load graph when the timeout expires */ static gboolean load_graph_update (LoadGraph *g) { if (g->data == NULL) return TRUE; shift_right(g); if (g->tooltip_update) multiload_applet_tooltip_update(g); g->get_data (g->draw_height, g->data [0], g); load_graph_draw (g); return TRUE; }
static gboolean load_graph_configure (GtkWidget *widget, GdkEventConfigure *event, gpointer data_ptr) { LoadGraph * const g = static_cast<LoadGraph*>(data_ptr); g->draw_width = widget->allocation.width - 2 * FRAME_WIDTH; g->draw_height = widget->allocation.height - 2 * FRAME_WIDTH; if (g->background) { g_object_unref (g->background); g->background = NULL; } if (g->gc == NULL) { g->gc = gdk_gc_new (GDK_DRAWABLE (widget->window)); } load_graph_draw (g); return TRUE; }