9#ifndef GP_WIDGET_STOCK_H
10#define GP_WIDGET_STOCK_H
12#include <widgets/gp_widget_size_units.h>
14enum gp_widget_stock_type {
19 GP_WIDGET_STOCK_QUESTION,
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,
30 GP_WIDGET_STOCK_HARDWARE,
31 GP_WIDGET_STOCK_SOFTWARE,
32 GP_WIDGET_STOCK_SETTINGS,
37 GP_WIDGET_STOCK_NEW_DIR,
38 GP_WIDGET_STOCK_CLOSE,
40 GP_WIDGET_STOCK_REFRESH,
42 GP_WIDGET_STOCK_SHUFFLE_ON,
43 GP_WIDGET_STOCK_SHUFFLE_OFF,
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,
54 GP_WIDGET_STOCK_NIGHT,
60 GP_WIDGET_STOCK_ZOOM_IN,
61 GP_WIDGET_STOCK_ZOOM_OUT,
62 GP_WIDGET_STOCK_ZOOM_FIT,
65 GP_WIDGET_STOCK_FOCUSED = 0x8000,
68#define GP_WIDGET_STOCK_TYPE_MASK (~(GP_WIDGET_STOCK_FOCUSED))
69#define GP_WIDGET_STOCK_TYPE(type) ((type) & GP_WIDGET_STOCK_TYPE_MASK)
71struct gp_widget_stock {
72 enum gp_widget_stock_type type;
73 gp_widget_size min_size;
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);
80gp_widget *gp_widget_stock_new(
enum gp_widget_stock_type type, gp_widget_size min_size);
82void gp_widget_stock_type_set(gp_widget *self,
enum gp_widget_stock_type type);
uint32_t gp_pixel
Pixel integer value.
int gp_coord
Integer type for coordinates i.e. x, y, ...
unsigned int gp_size
Integer type for sizes i.e. w, h, ...