GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_widget_pbar.h
1//SPDX-License-Identifier: LGPL-2.0-or-later
2
3/*
4
5 Copyright (c) 2014-2023 Cyril Hrubis <metan@ucw.cz>
6
7 */
8
9#ifndef GP_WIDGET_PBAR_H
10#define GP_WIDGET_PBAR_H
11
12#include <stdint.h>
13
14enum gp_widget_pbar_unit {
15 GP_WIDGET_PBAR_NONE,
16 GP_WIDGET_PBAR_PERCENTS,
17 GP_WIDGET_PBAR_SECONDS,
18 GP_WIDGET_PBAR_TMASK = 0x7f,
19 GP_WIDGET_PBAR_INVERSE = 0x80,
20};
21
22struct gp_widget_pbar {
23 uint64_t max;
24 uint64_t val;
25 int32_t step;
26 enum gp_widget_pbar_unit unit;
27};
28
38gp_widget *gp_widget_pbar_new(uint64_t val, uint64_t max,
39 enum gp_widget_pbar_unit unit);
40
47void gp_widget_pbar_val_set(gp_widget *self, uint64_t val);
48
55void gp_widget_pbar_max_set(gp_widget *self, uint64_t max);
56
63uint64_t gp_widget_pbar_val_get(gp_widget *self);
64
65#endif /* GP_WIDGET_PBAR_H */