aboutsummaryrefslogtreecommitdiff
path: root/src/effects/scheme.h
blob: 28ad69c3653eefcdc62fccf41982107c2497aeee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#ifndef COMET_EFFECTS_SCHEME_H
#define COMET_EFFECTS_SCHEME_H

#include "../effect.h"
#include "../config.h"
#include "../layout.h"

typedef struct effect_scheme effect_scheme_t;

typedef bool (*effect_validate_t)(effect_t *effect, const effect_scheme_t *scheme);

struct effect_scheme {
    const char *name;
    effect_t effect;
    size_t size;
    const config_entry_t *entries;
    effect_validate_t validate;
};

extern const effect_scheme_t *effect_schemes[];

#endif