00001 #ifndef OIL_H 00002 #define OIL_H 00003 00004 class OilMain; 00005 00006 #include "bcbase.h" 00007 #include "oilwindow.h" 00008 #include "pluginvclient.h" 00009 00010 typedef struct 00011 { 00012 float red; 00013 float green; 00014 float blue; 00015 float alpha; 00016 } pixel_f; 00017 00018 class OilMain : public PluginVClient 00019 { 00020 public: 00021 OilMain(int argc, char *argv[]); 00022 ~OilMain(); 00023 00024 // required for all realtime plugins 00025 int process_realtime(long size, VFrame **input_ptr, VFrame **output_ptr); 00026 int plugin_is_realtime(); 00027 int plugin_is_multi_channel(); 00028 char* plugin_title(); 00029 int start_gui(); 00030 int stop_gui(); 00031 int show_gui(); 00032 int hide_gui(); 00033 int set_string(); 00034 int load_defaults(); 00035 int save_defaults(); 00036 int save_data(char *text); 00037 int read_data(char *text); 00038 00039 // parameters needed for oil painting 00040 int reconfigure(); 00041 int oil_rgb(VPixel **in_rows, VPixel **out_rows, int use_intensity); 00042 00043 int radius; 00044 int use_intensity; 00045 int redo_buffers; 00046 00047 // a thread for the GUI 00048 OilThread *thread; 00049 00050 private: 00051 BC_Hash *defaults; 00052 VFrame *temp_frame; 00053 }; 00054 00055 00056 #endif
1.5.5