Main Page | Modules | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

param_types.h

00001 #ifndef PARAM_TYPES_H
00002 #define PARAM_TYPES_H
00003 #include "expr_types.h"
00004 #define P_CREATE 1
00005 #define P_NONE 0
00006 
00007 #define P_TYPE_BOOL 0
00008 #define P_TYPE_INT 1
00009 #define P_TYPE_DOUBLE 2
00010 
00011 #define P_FLAG_NONE 0
00012 #define P_FLAG_READONLY 1
00013 #define P_FLAG_USERDEF (1 << 1)
00014 #define P_FLAG_QVAR (1 << 2)
00015 #define P_FLAG_TVAR (1 << 3)
00016 #define P_FLAG_ALWAYS_MATRIX (1 << 4)
00017 #define P_FLAG_DONT_FREE_MATRIX (1 << 5)
00018 #define P_FLAG_PER_PIXEL (1 << 6)
00019 #define P_FLAG_PER_POINT (1 << 7)
00020 
00021 typedef union VALUE_T {
00022   int bool_val;
00023   int int_val;
00024   double double_val;    
00025 } value_t;
00026 
00027 /* Parameter Type */
00028 typedef struct PARAM_T {
00029   char name[MAX_TOKEN_SIZE]; /* name of the parameter, not necessary but useful neverthless */
00030   short int type; /* parameter number type (int, bool, or double) */    
00031   short int flags; /* read, write, user defined, etc */ 
00032   short int matrix_flag; /* for optimization purposes */
00033   void * engine_val; /* pointer to the engine variable */
00034   void * matrix; /* per pixel / per point matrix for this variable */
00035   value_t default_init_val; /* a default initial condition value */
00036   value_t upper_bound; /* this parameter's upper bound */
00037   value_t lower_bound; /* this parameter's lower bound */
00038 } param_t;
00039 #endif

Generated on Tue Dec 20 10:14:58 2005 for vlc-0.8.4a by  doxygen 1.4.2