]> git.saurik.com Git - wxWidgets.git/blame_incremental - utils/wxMMedia2/lib/vidxanm.h
Fixed wxBufferedInputStream support ...
[wxWidgets.git] / utils / wxMMedia2 / lib / vidxanm.h
... / ...
CommitLineData
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
26typedef 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
37class wxVideoXANIM : public wxVideoBaseDriver {
38 DECLARE_DYNAMIC_CLASS(wxVideoXANIM)
39protected:
40 bool m_xanim_started, m_paused;
41 struct wxXANIMinternal *m_internal;
42 wxString m_filename;
43public:
44 wxVideoXANIM();
45 wxVideoXANIM(wxInputStream& str);
46 ~wxVideoXANIM();
47
48 bool StartPlay();
49 bool Pause();
50 bool Resume();
51 void StopPlay();
52
53 bool SetVolume(wxUint8 vol);
54 bool Resize(wxUint16 w, wxUint16 h);
55
56 bool IsCapable(wxVideoType v_type);
57
58 bool AttachOutput(wxVideoOutput& output);
59 void DetachOutput();
60
61protected:
62 ///
63 bool RestartXANIM();
64 ///
65 bool SendCommand(const char *command, char **ret = NULL,
66 wxUint32 *size = NULL);
67};
68
69#endif