frei0r.h

Go to the documentation of this file.
00001 
00200 #ifndef INCLUDED_FREI0R_H
00201 #define INCLUDED_FREI0R_H
00202 
00203 #include <inttypes.h>
00204 
00208 #define FREI0R_MAJOR_VERSION 1
00209 
00213 #define FREI0R_MINOR_VERSION 2
00214 
00215 //---------------------------------------------------------------------------
00216 
00221 int f0r_init();
00222 
00227 void f0r_deinit();
00228 
00229 //---------------------------------------------------------------------------
00230 
00238 #define F0R_PLUGIN_TYPE_FILTER 0
00239 
00240 #define F0R_PLUGIN_TYPE_SOURCE 1
00241 
00242 #define F0R_PLUGIN_TYPE_MIXER2 2
00243 
00244 #define F0R_PLUGIN_TYPE_MIXER3 3
00245 
00248 //---------------------------------------------------------------------------
00249 
00290 #define F0R_COLOR_MODEL_BGRA8888 0
00291 
00299 #define F0R_COLOR_MODEL_RGBA8888 1
00300 
00313 #define F0R_COLOR_MODEL_PACKED32 2
00314 
00332 typedef struct f0r_plugin_info
00333 {
00334   const char* name;    
00335   const char* author;  
00339   int plugin_type;    
00340   int color_model;     
00341   int frei0r_version;  
00342   int major_version;   
00343   int minor_version;   
00344   int num_params;      
00345   const char* explanation; 
00346 } f0r_plugin_info_t;
00347 
00348 
00354 void f0r_get_plugin_info(f0r_plugin_info_t* info);
00355 
00356 //---------------------------------------------------------------------------
00357 
00368 #define F0R_PARAM_BOOL      0
00369 
00374 #define F0R_PARAM_DOUBLE    1
00375 
00380 #define F0R_PARAM_COLOR     2
00381 
00385 #define F0R_PARAM_POSITION  3
00386 
00391 #define F0R_PARAM_STRING  4
00392 
00397 typedef double f0r_param_bool;
00398 
00402 typedef double f0r_param_double;
00403 
00407 typedef struct f0r_param_color
00408 {
00409   float r; 
00410   float g; 
00411   float b; 
00412 } f0r_param_color_t;
00413 
00417 typedef struct f0r_param_position
00418 {
00419   double x; 
00420   double y; 
00421 } f0r_param_position_t;
00422 
00423 
00428 typedef char f0r_param_string;
00429 
00439 typedef struct f0r_param_info
00440 {
00441   const char* name;         
00442   int type;                 
00443   const char* explanation;  
00444 } f0r_param_info_t;
00445 
00454 void f0r_get_param_info(f0r_param_info_t* info, int param_index);
00455 
00456 //---------------------------------------------------------------------------
00457 
00461 typedef void* f0r_instance_t;
00462 
00477 f0r_instance_t f0r_construct(unsigned int width, unsigned int height);
00478 
00486 void f0r_destruct(f0r_instance_t instance);
00487 
00488 //---------------------------------------------------------------------------
00489 
00493 typedef void* f0r_param_t;
00494 
00513 void f0r_set_param_value(f0r_instance_t instance, 
00514                          f0r_param_t param, int param_index);
00515 
00526 void f0r_get_param_value(f0r_instance_t instance,
00527                          f0r_param_t param, int param_index);
00528 
00529 //---------------------------------------------------------------------------
00530 
00556 void f0r_update(f0r_instance_t instance, 
00557                 double time, const uint32_t* inframe, uint32_t* outframe);
00558 
00559 //---------------------------------------------------------------------------
00560 
00582 void f0r_update2(f0r_instance_t instance,
00583                  double time,
00584                  const uint32_t* inframe1,
00585                  const uint32_t* inframe2,
00586                  const uint32_t* inframe3,
00587                  uint32_t* outframe);
00588 //---------------------------------------------------------------------------
00589 
00590 #endif

Generated on Thu Sep 16 10:44:18 2010 for frei0r by  doxygen 1.5.9