Lines Matching refs:gr
301 hud_draw_graph_line_strip(struct hud_context *hud, const struct hud_graph *gr,
304 if (gr->num_vertices <= 1)
307 assert(gr->index <= gr->num_vertices);
310 gr->vertices, gr->index,
311 gr->color[0], gr->color[1], gr->color[2], 1,
312 xoffset + (gr->pane->max_num_vertices - gr->index - 1) * 2 - 1,
315 if (gr->num_vertices <= gr->index)
319 gr->vertices + gr->index*2,
320 gr->num_vertices - gr->index,
321 gr->color[0], gr->color[1], gr->color[2], 1,
322 xoffset - gr->index*2 - 1, yoffset, yscale);
329 struct hud_graph *gr;
354 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
358 number_to_human_readable(gr->current_value, pane->type, str);
359 hud_draw_string(hud, x, y, " %s: %s", gr->name, str);
404 struct hud_graph *gr;
410 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
414 number_to_human_readable(gr->current_value, pane->type, str);
415 hud_draw_string(hud, x, y, "%s: %s", gr->name, str);
424 struct hud_graph *gr;
429 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
434 gr->color[0], gr->color[1], gr->color[2], 1);
439 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
440 hud_draw_graph_line_strip(hud, gr, pane->inner_x1, pane->inner_y2, pane->yscale);
629 struct hud_graph *gr;
635 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
636 if (gr->begin_query)
637 gr->begin_query(gr, pipe);
647 struct hud_graph *gr, *next;
683 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
684 gr->query_new_value(gr, pipe);
688 LIST_FOR_EACH_ENTRY_SAFE(gr, next, &pane->graph_list, head) {
690 if (&gr->head == pane->graph_list.prev)
696 if (gr->current_value <
698 list_del(&gr->head);
699 list_add(&gr->head, &next->head);
843 hud_pane_update_dyn_ceiling(struct hud_graph *gr, struct hud_pane *pane)
848 if (pane->dyn_ceil_last_ran != gr->index) {
849 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
850 for (i = 0; i < gr->num_vertices; ++i) {
851 tmp = gr->vertices[i * 2 + 1] > tmp ?
852 gr->vertices[i * 2 + 1] : tmp;
865 pane->dyn_ceil_last_ran = gr->index;
920 hud_pane_add_graph(struct hud_pane *pane, struct hud_graph *gr)
941 strip_hyphens(gr->name);
943 gr->vertices = MALLOC(pane->max_num_vertices * sizeof(float) * 2);
944 gr->color[0] = colors[color][0];
945 gr->color[1] = colors[color][1];
946 gr->color[2] = colors[color][2];
947 gr->pane = pane;
948 list_addtail(&gr->head, &pane->graph_list);
954 hud_graph_add_value(struct hud_graph *gr, double value)
956 gr->current_value = value;
957 value = value > gr->pane->ceiling ? gr->pane->ceiling : value;
959 if (gr->fd) {
961 fprintf(gr->fd, "%f\n", value);
964 fprintf(gr->fd, "%" PRIu64 "\n", (uint64_t) lround(value));
968 if (gr->index == gr->pane->max_num_vertices) {
969 gr->vertices[0] = 0;
970 gr->vertices[1] = gr->vertices[(gr->index-1)*2+1];
971 gr->index = 1;
973 gr->vertices[(gr->index)*2+0] = (float) (gr->index * 2);
974 gr->vertices[(gr->index)*2+1] = (float) value;
975 gr->index++;
977 if (gr->num_vertices < gr->pane->max_num_vertices) {
978 gr->num_vertices++;
981 if (gr->pane->dyn_ceiling == true) {
982 hud_pane_update_dyn_ceiling(gr, gr->pane);
984 if (value > gr->pane->max_value) {
985 hud_pane_set_max_value(gr->pane, value);
1038 hud_graph_set_dump_file(struct hud_graph *gr)
1044 + sizeof(gr->name));
1048 strcat_without_spaces(dump_file, gr->name);
1049 gr->fd = fopen(dump_file, "w+");
1050 if (gr->fd) {
1052 setvbuf(gr->fd, NULL, _IOLBF, 0);
1504 struct hud_graph *gr;
1506 LIST_FOR_EACH_ENTRY(gr, &pane->graph_list, head) {
1507 hud_graph_set_dump_file(gr);