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

movie.h

Go to the documentation of this file.
00001 
00002 
00003 //
00004 //      MOVIE.H                                         (c)     YoY'01                                          WEB: www.aestesis.org
00005 //
00008 #ifndef                                                 _MOVIE_H_
00009 #define                                                 _MOVIE_H_
00012 #include                                                <windows.h>
00013 #include                                                <uuids.h>               // ID Com Object
00014 #include                                                <VFW.H>         // Video For Windows
00015 #include                                                <amstream.h>    // DirectShow multimedia stream interfaces
00016 #include                                                <ddraw.h>           // DirectDrawEx interfaces
00017 
00018 #include                                                "types.h"
00019 #include                                                "node.h"
00020 #include                                                "bitmap.h"
00023 
00024 //      If you use directly the variables in the class API, it's at your own risks. Prefer the methods...   
00025 
00028 
00029 #define                                                 guidMOVIE                                               (Afile::CI.guid)
00030 
00033 
00034 class Amovie : public Anode
00035 {
00036 public:
00037 
00038         enum
00039         {
00040                                                                 CURRENT=-100,
00041                                                                 FIRST,
00042                                                                 LAST,
00043                                                                 NEXT,
00044                                                                 PREVIOUS
00045         };
00046 
00047         enum
00048         {
00049                                                                 typeNORMAL,
00050                                                                 typeSTREAMLOAD,
00051                                                                 typeFLIFLCLOAD
00052         };
00053 
00054         ADLL static ACI                         CI;
00055         virtual ACI                                     *getCI                                                  ()                                              { return &CI; }
00056 
00057         ADLL                                            Amovie                                                  (char *name, int w, int h, int nbBits, int nbFrames=0);
00058         ADLL                                            Amovie                                                  (char *name, char *filename);
00059         ADLL virtual                            ~Amovie                                                 ();
00060 
00061         ADLL void                                       clear                                                   ();
00062 
00063         ADLL bool                                       remove                                                  (int pos=CURRENT);
00064         ADLL bool                                       insert                                                  (class Abitmap *b=NULL, int pos=CURRENT);
00065         ADLL bool                                       append                                                  (class Abitmap *b=NULL, int pos=CURRENT);
00066         ADLL bool                                       select                                                  (int pos=NEXT);
00067 
00068         ADLL bool                                       get                                                             (class Abitmap *b, int pos=CURRENT);
00069 
00070         //ADLL bool                                     get                                                             (class Abitmap *b, int xd, int yd, int state, int pos=CURRENT);
00071         //ADLL bool                                     get                                                             (class Abitmap *b, int xd, int yd, int xs, int ys, int w, int h, int pos=CURRENT);
00072         ADLL bool                                       get                                                             (class Abitmap *b, int xd, int yd, int wd, int hd, int xs, int ys, int ws, int hs, int state, int flags, float alpha, dword colorkey, int pos=CURRENT);
00073 
00074         class bitmapL                           *firstB;
00075         class bitmapL                           *lastB;
00076 
00077         class bitmapL                           *current;
00078         int                                                     currentI;
00079 
00080         int                                                     w;
00081         int                                                     h;
00082         int                                                     nbBits;
00083         int                                                     nbFrames;
00084 
00085         int                                                     type;
00086         bool                                            isOK;
00087 
00088         // private DXmedia
00089 
00090         bool                                            open                                                    (char *filename);
00091         void                                            close                                                   ();
00092 
00093     IAMMultiMediaStream                 *m_pMMStream;
00094         IMediaStream                            *m_pPrimaryVidStream;
00095         IDirectDrawMediaStream          *m_pDDStream;
00096         IDirectDrawSurface                      *m_pDDSurfaceAnim;
00097         IDirectDrawStreamSample         *m_pSample;
00098         STREAM_TIME                                     fTime;
00099         bool                                            isLast;
00100 
00101         // pricate FLI/FLC
00102 
00103         struct fli                                      *fliflc;
00104         class Abitmap                           *bfli;
00105         bool                                            openFLI                                                 (char *filename);
00106         void                                            closeFLI                                                ();
00107 
00108         bool                                            del                                                             (class bitmapL *bl);
00109 };
00110 
00113 #endif                                                  //_MOVIE_H_

Generated on Tue Nov 20 10:21:25 2001 for elektronika plugz SDK by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001