frei0r.h

Go to the documentation of this file.
00001 
00185 #ifndef INCLUDED_FREI0R_H
00186 #define INCLUDED_FREI0R_H
00187 
00188 #include <inttypes.h>
00189 
00193 #define FREI0R_MAJOR_VERSION 1
00194 
00198 #define FREI0R_MINOR_VERSION 1
00199 
00200 //---------------------------------------------------------------------------
00201 
00206 int f0r_init();
00207 
00212 void f0r_deinit();
00213 
00214 //---------------------------------------------------------------------------
00215 
00223 #define F0R_PLUGIN_TYPE_FILTER 0
00224 
00225 #define F0R_PLUGIN_TYPE_SOURCE 1
00226 
00227 #define F0R_PLUGIN_TYPE_MIXER2 2
00228 
00229 #define F0R_PLUGIN_TYPE_MIXER3 3
00230 
00233 //---------------------------------------------------------------------------
00234 
00275 #define F0R_COLOR_MODEL_BGRA8888 0
00276 
00284 #define F0R_COLOR_MODEL_RGBA8888 1
00285 
00298 #define F0R_COLOR_MODEL_PACKED32 2
00299 
00317 typedef struct f0r_plugin_info
00318 {
00319   const char* name;    
00320   const char* author;  
00324   int plugin_type;    
00325   int color_model;     
00326   int frei0r_version;  
00327   int major_version;   
00328   int minor_version;   
00329   int num_params;      
00330   const char* explanation; 
00331 } f0r_plugin_info_t;
00332 
00333 
00339 void f0r_get_plugin_info(f0r_plugin_info_t* info);
00340 
00341 //---------------------------------------------------------------------------
00342 
00353 #define F0R_PARAM_BOOL      0
00354 
00359 #define F0R_PARAM_DOUBLE    1
00360 
00365 #define F0R_PARAM_COLOR     2
00366 
00370 #define F0R_PARAM_POSITION  3
00371 
00376 #define F0R_PARAM_STRING  4
00377 
00382 typedef double f0r_param_bool;
00383 
00387 typedef double f0r_param_double;
00388 
00392 typedef struct f0r_param_color
00393 {
00394   float r; 
00395   float g; 
00396   float b; 
00397 } f0r_param_color_t;
00398 
00402 typedef struct f0r_param_position
00403 {
00404   double x; 
00405   double y; 
00406 } f0r_param_position_t;
00407 
00408 
00413 typedef char f0r_param_string;
00414 
00424 typedef struct f0r_param_info
00425 {
00426   const char* name;         
00427   int type;                 
00428   const char* explanation;  
00429 } f0r_param_info_t;
00430 
00439 void f0r_get_param_info(f0r_param_info_t* info, int param_index);
00440 
00441 //---------------------------------------------------------------------------
00442 
00446 typedef void* f0r_instance_t;
00447 
00461 f0r_instance_t f0r_construct(unsigned int width, unsigned int height);
00462 
00470 void f0r_destruct(f0r_instance_t instance);
00471 
00472 //---------------------------------------------------------------------------
00473 
00477 typedef void* f0r_param_t;
00478 
00490 void f0r_set_param_value(f0r_instance_t instance, 
00491                          f0r_param_t param, int param_index);
00492 
00503 void f0r_get_param_value(f0r_instance_t instance,
00504                          f0r_param_t param, int param_index);
00505 
00506 //---------------------------------------------------------------------------
00507 
00533 void f0r_update(f0r_instance_t instance, 
00534                 double time, const uint32_t* inframe, uint32_t* outframe);
00535 
00536 //---------------------------------------------------------------------------
00537 
00559 void f0r_update2(f0r_instance_t instance,
00560                  double time,
00561                  const uint32_t* inframe1,
00562                  const uint32_t* inframe2,
00563                  const uint32_t* inframe3,
00564                  uint32_t* outframe);
00565 //---------------------------------------------------------------------------
00566 
00567 #endif

Generated on Wed Nov 7 12:07:53 2007 for frei0r by  doxygen 1.4.6