GFXprim
2D bitmap graphics library with emphasis on speed and correctness
Loading...
Searching...
No Matches
gp_widget_stock.h
1//SPDX-License-Identifier: LGPL-2.0-or-later
2
3/*
4
5 Copyright (c) 2014-2021 Cyril Hrubis <metan@ucw.cz>
6
7 */
8
9#ifndef GP_WIDGET_STOCK_H
10#define GP_WIDGET_STOCK_H
11
12#include <widgets/gp_widget_size_units.h>
13
14enum gp_widget_stock_type {
15 /* Messages */
16 GP_WIDGET_STOCK_ERR,
17 GP_WIDGET_STOCK_WARN,
18 GP_WIDGET_STOCK_INFO,
19 GP_WIDGET_STOCK_QUESTION,
20
21 /* Audio */
22 GP_WIDGET_STOCK_SPEAKER_MUTE,
23 GP_WIDGET_STOCK_SPEAKER_MIN,
24 GP_WIDGET_STOCK_SPEAKER_MID,
25 GP_WIDGET_STOCK_SPEAKER_MAX,
26 GP_WIDGET_STOCK_SPEAKER_INC,
27 GP_WIDGET_STOCK_SPEAKER_DEC,
28
29 /* Misc */
30 GP_WIDGET_STOCK_HARDWARE,
31 GP_WIDGET_STOCK_SOFTWARE,
32 GP_WIDGET_STOCK_SETTINGS,
33 GP_WIDGET_STOCK_HOME,
34 GP_WIDGET_STOCK_SAVE,
35 GP_WIDGET_STOCK_FILE,
36 GP_WIDGET_STOCK_DIR,
37 GP_WIDGET_STOCK_NEW_DIR,
38 GP_WIDGET_STOCK_CLOSE,
39
40 GP_WIDGET_STOCK_REFRESH,
41
42 GP_WIDGET_STOCK_SHUFFLE_ON,
43 GP_WIDGET_STOCK_SHUFFLE_OFF,
44
45 /* Arrows */
46 GP_WIDGET_STOCK_ARROW_UP,
47 GP_WIDGET_STOCK_ARROW_DOWN,
48 GP_WIDGET_STOCK_ARROW_LEFT,
49 GP_WIDGET_STOCK_ARROW_RIGHT,
50 GP_WIDGET_STOCK_ROTATE_CW,
51 GP_WIDGET_STOCK_ROTATE_CCW,
52
53 GP_WIDGET_STOCK_DAY,
54 GP_WIDGET_STOCK_NIGHT,
55
56 GP_WIDGET_STOCK_STAR,
57
58 /* Zoom */
59 GP_WIDGET_STOCK_ZOOM,
60 GP_WIDGET_STOCK_ZOOM_IN,
61 GP_WIDGET_STOCK_ZOOM_OUT,
62 GP_WIDGET_STOCK_ZOOM_FIT,
63
64 /* Flags */
65 GP_WIDGET_STOCK_FOCUSED = 0x8000,
66};
67
68#define GP_WIDGET_STOCK_TYPE_MASK (~(GP_WIDGET_STOCK_FOCUSED))
69#define GP_WIDGET_STOCK_TYPE(type) ((type) & GP_WIDGET_STOCK_TYPE_MASK)
70
71struct gp_widget_stock {
72 enum gp_widget_stock_type type;
73 gp_widget_size min_size;
74};
75
76void gp_widget_stock_render(gp_pixmap *pix, enum gp_widget_stock_type type,
78 gp_pixel bg_col, const gp_widget_render_ctx *ctx);
79
80gp_widget *gp_widget_stock_new(enum gp_widget_stock_type type, gp_widget_size min_size);
81
82void gp_widget_stock_type_set(gp_widget *self, enum gp_widget_stock_type type);
83
84#endif /* GP_WIDGET_STOCK_H */
uint32_t gp_pixel
Pixel integer value.
Definition gp_types.h:33
int gp_coord
Integer type for coordinates i.e. x, y, ...
Definition gp_types.h:19
unsigned int gp_size
Integer type for sizes i.e. w, h, ...
Definition gp_types.h:24
A pixmap buffer.
Definition gp_pixmap.h:33