]> git.sesse.net Git - vlc/blob - modules/video_filter/atmo/AtmoConnection.h
Merge branch 1.0-bugfix
[vlc] / modules / video_filter / atmo / AtmoConnection.h
1 /*
2  * AtmoConnection.h: generic/abstract class defining all methods for the
3  * communication with the hardware
4  *
5  * See the README.txt file for copyright information and how to reach the author(s).
6  *
7  * $Id$
8  */
9 #ifndef _AtmoConnection_h_
10 #define _AtmoConnection_h_
11
12 #include "AtmoDefs.h"
13 #include "AtmoConfig.h"
14
15 class CAtmoConnection
16 {
17 protected:
18         CAtmoConfig *m_pAtmoConfig;
19     int m_ChannelAssignment[ATMO_NUM_CHANNELS];
20
21 public:
22         CAtmoConnection(CAtmoConfig *cfg);
23         virtual ~CAtmoConnection(void);
24         virtual ATMO_BOOL OpenConnection() { return false; }
25         virtual void CloseConnection() {};
26         virtual ATMO_BOOL isOpen(void) { return false; }
27
28     virtual ATMO_BOOL SendData(unsigned char numChannels,
29                                int red[],
30                                int green[],
31                                int blue[]) { return false; }
32
33     virtual ATMO_BOOL SendData(tColorPacket data) { return false; }
34
35     virtual ATMO_BOOL setChannelColor(int channel, tRGBColor color) { return false; }
36     virtual ATMO_BOOL setChannelValues(int numValues,unsigned char *channel_values) { return false; }
37
38     virtual ATMO_BOOL HardwareWhiteAdjust(int global_gamma,
39                                           int global_contrast,
40                                           int contrast_red,
41                                           int contrast_green,
42                                           int contrast_blue,
43                                           int gamma_red,
44                                           int gamma_green,
45                                           int gamma_blue,
46                                           ATMO_BOOL storeToEeprom) { return false; }
47
48     virtual void SetChannelAssignment(tChannelAssignment *ca);
49
50 };
51
52 #endif