]> git.sesse.net Git - vlc/blob - modules/visualization/galaktos/param_types.h
Removes trailing spaces. Removes tabs.
[vlc] / modules / visualization / galaktos / param_types.h
1 #ifndef PARAM_TYPES_H
2 #define PARAM_TYPES_H
3 #include "expr_types.h"
4 #define P_CREATE 1
5 #define P_NONE 0
6
7 #define P_TYPE_BOOL 0
8 #define P_TYPE_INT 1
9 #define P_TYPE_DOUBLE 2
10
11 #define P_FLAG_NONE 0
12 #define P_FLAG_READONLY 1
13 #define P_FLAG_USERDEF (1 << 1)
14 #define P_FLAG_QVAR (1 << 2)
15 #define P_FLAG_TVAR (1 << 3)
16 #define P_FLAG_ALWAYS_MATRIX (1 << 4)
17 #define P_FLAG_DONT_FREE_MATRIX (1 << 5)
18 #define P_FLAG_PER_PIXEL (1 << 6)
19 #define P_FLAG_PER_POINT (1 << 7)
20
21 typedef union VALUE_T {
22   int bool_val;
23   int int_val;
24   double double_val;    
25 } value_t;
26
27 /* Parameter Type */
28 typedef struct PARAM_T {
29   char name[MAX_TOKEN_SIZE]; /* name of the parameter, not necessary but useful neverthless */
30   short int type; /* parameter number type (int, bool, or double) */    
31   short int flags; /* read, write, user defined, etc */    
32   short int matrix_flag; /* for optimization purposes */
33   void * engine_val; /* pointer to the engine variable */
34   void * matrix; /* per pixel / per point matrix for this variable */
35   value_t default_init_val; /* a default initial condition value */
36   value_t upper_bound; /* this parameter's upper bound */
37   value_t lower_bound; /* this parameter's lower bound */
38 } param_t;
39 #endif