]> git.sesse.net Git - vlc/blob - modules/video_filter/atmo/MoMoConnection.h
macosx: delay start in fullscreen animation to allow to finish resize animation befor...
[vlc] / modules / video_filter / atmo / MoMoConnection.h
1 /*
2  * MoMoConnection.h: class to access a MoMoLight Hardware - the description could be found
3  * here: http://lx.divxstation.com/article.asp?aId=151
4  *
5  * See the README.txt file for copyright information and how to reach the author(s).
6  *
7  * $Id$
8  */
9 #ifndef _MoMoConnection_h_
10 #define _MoMoConnection_h_
11
12 #include "AtmoDefs.h"
13 #include "AtmoConnection.h"
14 #include "AtmoConfig.h"
15
16 #if defined(_WIN32)
17 #   include <windows.h>
18 #endif
19
20
21 class CMoMoConnection : public CAtmoConnection {
22     private:
23         HANDLE m_hComport;
24
25 #if defined(_WIN32)
26         DWORD  m_dwLastWin32Error;
27     public:
28         DWORD getLastError() { return m_dwLastWin32Error; }
29 #endif
30
31     public:
32        CMoMoConnection (CAtmoConfig *cfg);
33        virtual ~CMoMoConnection (void);
34
35        virtual ATMO_BOOL OpenConnection();
36
37        virtual void CloseConnection();
38
39        virtual ATMO_BOOL isOpen(void);
40
41        virtual ATMO_BOOL SendData(pColorPacket data);
42
43        virtual int getNumChannels();
44
45
46        virtual const char *getDevicePath() { return "momo"; }
47
48 #if !defined(_ATMO_VLC_PLUGIN_)
49        virtual char *getChannelName(int ch);
50        virtual ATMO_BOOL ShowConfigDialog(HINSTANCE hInst, HWND parent, CAtmoConfig *cfg);
51 #endif
52
53        virtual ATMO_BOOL CreateDefaultMapping(CAtmoChannelAssignment *ca);
54 };
55
56 #endif