コード例 #1
0
ファイル: selector.c プロジェクト: achterin/xwax-
void selector_init(struct selector_t *sel, struct library_t *lib)
{
    sel->library = lib;

    scroll_reset(&sel->records);
    scroll_reset(&sel->crates);

    scroll_set_entries(&sel->crates, lib->crates);

    sel->toggled = false;
    sel->search[0] = '\0';
    sel->search_len = 0;

    listing_init(&sel->listing_a);
    listing_init(&sel->listing_b);
    sel->view_listing = &sel->listing_a;
    sel->swap_listing = &sel->listing_b;

    (void)listing_copy(initial(sel), sel->view_listing);
    scroll_set_entries(&sel->records, sel->view_listing->entries);
}
コード例 #2
0
ファイル: app2.c プロジェクト: barbieri/barbieri-playground
static void
scroll_init(app_t *app, const struct timeval *p_now, int dir)
{
    if (app->scroll.dir != dir)
        scroll_reset(app, p_now, dir);
    else {
        struct timeval dif;

        /* was already 'dir', check if to consider "continuous" press */
        timersub(p_now, &app->scroll.last, &dif);

        if (dif.tv_sec > 0 || dif.tv_usec > CONTINUOUS_KEYPRESS_INTERVAL)
            scroll_reset(app, p_now, dir);
        else {
            long ms;

            /* still pressing 'dir', accelerate */
            ms = (app->scroll.delay_ms * app->scroll.accel_ms) / 1000;
            if (ms >= 0)
                app->scroll.delay_ms = ms;
        }
    }
}