ScummVM API documentation
surface_fader.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_SURFACE_FADER_H
23#define TITANIC_SURFACE_FADER_H
24
25#include "common/scummsys.h"
26
27namespace Titanic {
28
29class CVideoSurface;
30class CScreenManager;
31class CSurfaceArea;
32
34private:
35 byte *_dataP;
36 bool _fadeIn;
37private:
41 void step(CSurfaceArea &srcSurface, CSurfaceArea &destSurface);
42
46 bool setupSurface(CScreenManager *screenManager, CVideoSurface *srcSurface);
47public:
48 int _index;
49 int _count;
50 CVideoSurface *_videoSurface;
51public:
54
58 void reset();
59
64 CVideoSurface *draw(CScreenManager *screenManager, CVideoSurface *srcSurface);
65
69 void setFadeIn(bool fadeIn);
70
74 bool isActive() const { return _index >= 0 && _index < _count; }
75};
76
77} // End of namespace Titanic
78
79#endif /* TITANIC_SURFACE_SHADER_H */
Definition: screen_manager.h:49
Definition: surface_area.h:36
Definition: surface_fader.h:33
bool isActive() const
Definition: surface_fader.h:74
void setFadeIn(bool fadeIn)
CVideoSurface * draw(CScreenManager *screenManager, CVideoSurface *srcSurface)
Definition: video_surface.h:43