ScummVM API documentation
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
qtvr.h
1 /* ScummVM - Graphic Adventure Engine
2  *
3  * ScummVM is the legal property of its developers, whose names
4  * are too numerous to list here. Please refer to the COPYRIGHT
5  * file distributed with this source distribution.
6  *
7  * This program is free software: you can redistribute it and/or modify
8  * it under the terms of the GNU General Public License as published by
9  * the Free Software Foundation, either version 3 of the License, or
10  * (at your option) any later version.
11  *
12  * This program is distributed in the hope that it will be useful,
13  * but WITHOUT ANY WARRANTY; without even the implied warranty of
14  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15  * GNU General Public License for more details.
16  *
17  * You should have received a copy of the GNU General Public License
18  * along with this program. If not, see <http://www.gnu.org/licenses/>.
19  *
20  */
21 
22 #ifndef DIRECTOR_LINGO_XLIBS_QTVR_H
23 #define DIRECTOR_LINGO_XLIBS_QTVR_H
24 
25 #include "video/qt_decoder.h"
26 
27 namespace Director {
28 
29 namespace QTVR {
30 
31 extern const char *const xlibName;
32 extern const XlibFileDesc fileNames[];
33 
34 void open(ObjectType type, const Common::Path &path);
35 void close(ObjectType type);
36 
37 void m_new(int nargs);
38 void m_dispose(int nargs);
39 void m_getHPanAngle(int nargs);
40 void m_getMovieRect(int nargs);
41 void m_getNodeID(int nargs);
42 void m_getQuality(int nargs);
43 void m_getVPanAngle(int nargs);
44 void m_getZoomAngle(int nargs);
45 void m_mouseOver(int nargs);
46 void m_name(int nargs);
47 void m_openMovie(int nargs);
48 void m_setActive(int nargs);
49 void m_setHPanAngle(int nargs);
50 void m_setNodeID(int nargs);
51 void m_setQuality(int nargs);
52 void m_setRolloverCallback(int nargs);
53 void m_setTransitionMode(int nargs);
54 void m_setTransitionSpeed(int nargs);
55 void m_setVPanAngle(int nargs);
56 void m_setZoomAngle(int nargs);
57 void m_update(int nargs);
58 
59 } // End of namespace QTVR
60 
61 class QTVRXObject;
62 
64 public:
65  QtvrWidget(QTVRXObject *xtra, Graphics::MacWidget *parent, int x, int y, int w, int h, Graphics::MacWindowManager *wm);
66 
67  virtual bool processEvent(Common::Event &event);
68 
69  QTVRXObject *_xtra;
70 };
71 
72 
73 class QTVRXObject : public Object<QTVRXObject> {
74 public:
75  QTVRXObject(ObjectType objType);
76 
77  Common::Rect _rect;
78  Video::QuickTimeDecoder *_video = nullptr;
79  QtvrWidget *_widget = nullptr;
80  Datum _rolloverCallbackObject;
81  Common::String _rolloverCallbackMethod;
82  bool _active = true;
83 };
84 
85 } // End of namespace Director
86 
87 #endif
Definition: str.h:59
Definition: qt_decoder.h:66
Definition: rect.h:144
Definition: path.h:52
Definition: qtvr.h:63
Definition: archive.h:35
Definition: macwindowmanager.h:147
Definition: lingo-object.h:71
Definition: events.h:199
Definition: macwidget.h:39
Definition: lingo.h:130
Definition: qtvr.h:73