Main Page Class Hierarchy Compound List File List Compound Members File Members

# effect.h

Go to the documentation of this file.

    00001
    00002
    00003 //
    00004 //      EFFECT.H                                        (c)     YoY'01                                          WEB: www.aestesis.org
    00005 //
    00008 #ifndef                                                 _EFFECT_H_
    00009 #define                                                 _EFFECT_H_
    00012 #include                                                "elektrodef.h"
    00015
    00016 //      If you use directly the variables in the class API, it's at your own risks. Prefer the methods...
    00017
    00020
    00021 #define                                                 guidEFFECT                                              (Aeffect::CI.guid)
    00022
    00025
    00026 #define                                                 effectWIDTH                                             512
    00027
    00030
    00031 class Aeffect : public Anode
    00032 {
    00033 public:
    00034         ELIBOBJ
    00035
    00036         EDLL                                            Aeffect                                                 (char *name, class Atable *t);
    00037         EDLL virtual                            ~Aeffect                                                ();
    00038
    00039         virtual bool                            action                                                  (int time, int dtime)                   { return TRUE; }
    00040
    00041         virtual void                            settings                                                ()                                                              { }
    00042
    00043         virtual bool                            save                                                    (Afile *f)                                              { return TRUE; }
    00044         virtual bool                            load                                                    (Afile *f)                                              { return TRUE; }
    00045
    00046         EDLL static Aeffect *           getEffect                                               (Aobject *o);
    00047
    00048         class Atable                            *table;
    00049         class AeffectFront                      *front;
    00050         class AeffectBack                       *back;
    00051
    00052         int                                                     id;
    00053 };
    00054
    00057
    00058 class AeffectFront : public Aobject
    00059 {
    00060 public:
    00061         ELIBOBJ
    00062
    00063         EDLL                                            AeffectFront                                    (char *name, class Aeffect *t, int h);
    00064         EDLL virtual                            ~AeffectFront                                   ();
    00065
    00066         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p);
    00067
    00068         Aeffect                                         *effect;
    00069 };
    00070
    00073
    00074 class AeffectBack : public Aobject
    00075 {
    00076 public:
    00077         ELIBOBJ
    00078
    00079         EDLL                                            AeffectBack                                             (char *name, class Aeffect *t, int h);
    00080         EDLL virtual                            ~AeffectBack                                    ();
    00081
    00082         EDLL virtual bool                       notify                                                  (Anode *o, int event, dword p);
    00083
    00084         Aeffect                                         *effect;
    00085 };
    00086
    00089
    00090 class AeffectInfo : public Aplugz
    00091 {
    00092 public:
    00093         ELIBOBJ
    00094
    00095                                                                 AeffectInfo                                             (char *name, ACI *eci, char *ename, char *ehelp);
    00096
    00097         EDLL virtual Aeffect *          create                                                  (char *name, Atable *table)=0;
    00098 };
    00099
    00101
    00102 __inline AeffectInfo::AeffectInfo(char *name, ACI *eci, char *ename, char *ehelp) : Aplugz(name, eci, ename, ehelp)
    00103 {
    00104 }
    00105
    00108 #endif                                                  //_EFFECT_H