Esempio n. 1
0
static void _show_bar_page(int row)
{
    cur_row = row;
    cp->num_bars = num_disp_bars();
    memset(cp->pctvalue, 0, sizeof(cp->pctvalue));
    int view_height = (cp->type == MONITOR_RAWINPUT)
                      ? RAW_HEIGHT   // can only show 3 rows: (12 + 5) x 3
                      : CHAN_HEIGHT;  // can only show 4 rows: (8 + 5) x 4
    GUI_CreateScrollable(&gui->scrollable, SCROLLABLE_X, HEADER_HEIGHT, LCD_WIDTH-SCROLLABLE_X, LCD_HEIGHT - HEADER_HEIGHT,
                         view_height, (cp->num_bars + 1)/2, row_cb, getobj_cb, NULL, NULL);
    GUI_CreateLabelBox(&gui->page, LCD_WIDTH -ARROW_W, 0, ARROW_W, HEADER_HEIGHT, &DEFAULT_FONT, _page_cb, NULL, NULL);
}
Esempio n. 2
0
static void _show_bar_page()
{
    int num_bars = num_disp_bars();
    //printf("Show bar page nbars: %d, bars per row: %d\n", num_bars, NUM_BARS_PER_ROW);
    int num_rows = 1;

    if (num_bars > 2 * (NUM_BARS_PER_ROW + 1)) {
        num_rows = num_bars / NUM_BARS_PER_ROW + 1;
        num_bars -= cur_row * NUM_BARS_PER_ROW;
        if (num_bars > 2 * NUM_BARS_PER_ROW)
            num_bars = 2 * NUM_BARS_PER_ROW;
    }
    cp->num_bars = num_bars;
    //printf("Calculated num rows: %d, num bars: %d, cur row: %d\n", num_rows, num_bars, cur_row);
    GUI_CreateScrollable(&gui->scrollable,
        0, 32, LCD_WIDTH, LCD_HEIGHT-32, LCD_HEIGHT - 32, num_rows, row_cb, NULL, NULL, NULL);
}