]> git.saurik.com Git - wxWidgets.git/blob - utils/wxMMedia2/lib/vidxanm.h
C++ comments in C files are fun but break the compilation (for the Nth time)
[wxWidgets.git] / utils / wxMMedia2 / lib / vidxanm.h
1 // /////////////////////////////////////////////////////////////////////////////
2 // Name: vidxanm.h
3 // Purpose: wxMMedia
4 // Author: Guilhem Lavaux
5 // Created: 1997
6 // Updated: 1998
7 // Copyright: (C) 1997, 1998, Guilhem Lavaux
8 // License: wxWindows license
9 // /////////////////////////////////////////////////////////////////////////////
10 /* Real -*- C++ -*- */
11 #ifndef __VID_xanim_H__
12 #define __VID_xanim_H__
13
14 #ifdef __GNUG__
15 #pragma interface
16 #endif
17
18 #if defined(WXMMEDIA_INTERNAL) && (defined(__X__) || defined(__WXGTK__))
19 #include <X11/Xlib.h>
20 #include <X11/Xatom.h>
21 #endif
22
23 #include "vidbase.h"
24
25 #ifdef WXMMEDIA_INTERNAL
26 typedef struct wxXANIMinternal {
27 Display *xanim_dpy;
28 Window xanim_window;
29 Atom xanim_atom, xanim_ret;
30 } wxXANIMinternal;
31
32 #ifndef __XANIM_COMMAND__
33 #define __XANIM_COMMAND__ "/usr/X11R6/bin/xanim"
34 #endif
35 #endif
36
37 class wxVideoXANIM : public wxVideoBaseDriver {
38 DECLARE_DYNAMIC_CLASS(wxVideoXANIM)
39 protected:
40 bool m_xanim_started, m_paused;
41 struct wxXANIMinternal *m_internal;
42 wxString m_filename;
43 public:
44 wxVideoXANIM();
45 wxVideoXANIM(wxInputStream& str);
46 ~wxVideoXANIM();
47
48 bool Play();
49 bool Pause();
50 bool Resume();
51 bool Stop();
52
53 bool SetVolume(wxUint8 vol);
54 bool Resize(wxUint16 w, wxUint16 h);
55 bool GetSize(wxSize& size) const;
56
57 bool IsCapable(wxVideoType v_type);
58
59 bool AttachOutput(wxVideoOutput& output);
60 void DetachOutput();
61
62 protected:
63 ///
64 bool RestartXANIM();
65 ///
66 bool SendCommand(const char *command, char **ret = NULL,
67 wxUint32 *size = NULL);
68 };
69
70 #endif