ScummVM API documentation
movie_manager.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 TITANIC_MOVIE_MANAGER_H
23#define TITANIC_MOVIE_MANAGER_H
24
25#include "titanic/core/list.h"
26#include "titanic/core/resource_key.h"
27#include "titanic/sound/sound_manager.h"
28
29namespace Titanic {
30
31class CMovie;
32class CVideoSurface;
33
35public:
36 virtual ~CMovieManagerBase() {}
37
41 virtual CMovie *createMovie(const CResourceKey &key, CVideoSurface *surface) = 0;
42};
43
45private:
46 CSoundManager *_soundManager;
47public:
48 CMovieManager() : CMovieManagerBase(), _soundManager(nullptr) {}
49 ~CMovieManager() override {}
50
54 CMovie *createMovie(const CResourceKey &key, CVideoSurface *surface) override;
55
59 void setSoundManager(CSoundManager *soundManager) { _soundManager = soundManager; }
60};
61
62} // End of namespace Titanic
63
64#endif /* TITANIC_MOVIE_MANAGER_H */
Definition: movie.h:43
Definition: movie_manager.h:34
virtual CMovie * createMovie(const CResourceKey &key, CVideoSurface *surface)=0
Definition: movie_manager.h:44
void setSoundManager(CSoundManager *soundManager)
Definition: movie_manager.h:59
CMovie * createMovie(const CResourceKey &key, CVideoSurface *surface) override
Definition: resource_key.h:30
Definition: sound_manager.h:42
Definition: video_surface.h:43