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

# pin.h

Go to the documentation of this file.

    00001
    00002
    00003 //
    00004 //      PIN.H                                           (c)     YoY'00                                          WEB: www.aestesis.org
    00005 //
    00008 #ifndef                                                 _PIN_H_
    00009 #define                                                 _PIN_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                                                 guidPIN                                                 (Apin::CI.guid)
    00022
    00025
    00026 enum
    00027 {
    00028                                                                 pinIN,
    00029                                                                 pinOUT
    00030 };
    00031
    00034
    00035 class Apin : public Asurface, public Asection
    00036 {
    00037 public:
    00038         ELIBOBJ
    00039
    00040         EDLL                                            Apin                                                    (char *name, class AeffectBack *eb, int type, int x, int y, int w, int h);
    00041         EDLL virtual                            ~Apin                                                   ();
    00042
    00043         virtual void                            settings                                                ()                                                              { }
    00044
    00045         EDLL int                                        getCountConnect                                 ();
    00046
    00047         EDLL Apin *                                     getConnectedPin                                 ();
    00048         bool                                            isConnected                                             ();
    00049
    00050         EDLL virtual bool                       enter                                                   ();                                             // return TRUE if OK (wait if not OK, but return FALSE at the end of the section)
    00051         EDLL virtual void                       leave                                                   ();
    00052
    00053         // private
    00054
    00055         EDLL virtual bool                       mouse                                                   (int x, int y, int state, int event);
    00056         virtual bool                            connected                                               (class Aconnect *connect) { return TRUE; }
    00057
    00058         class Aeffect                           *effect;
    00059         class Aconnect                          *connect;
    00060         int                                                     type;
    00061
    00062         int                                                     number;
    00063         class Apin                                      *nextPin;
    00064 };
    00065
    00068
    00069 __inline bool Apin::isConnected()
    00070 {
    00071         return connect!=NULL;
    00072 }
    00073
    00076 #endif                                                  //_PIN_H_