ScummVM API documentation
SlideShow.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/*
23 * This code is based on the CRAB engine
24 *
25 * Copyright (c) Arvind Raja Yadav
26 *
27 * Licensed under MIT
28 *
29 */
30
31#ifndef CRAB_SLIDESHOW_H
32#define CRAB_SLIDESHOW_H
33
34#include "crab/image/Image.h"
35#include "crab/ui/button.h"
36#include "crab/ui/ImageData.h"
37
38namespace Crab {
39
40namespace pyrodactyl {
41namespace ui {
42class SlideShow {
43 // The list of images and where they are located, and the current image
45
46 // We only load the current image in memory
48
49 // The index of our current image
50 uint _index;
51
52 // The position at which map image has to be drawn
53 Element _pos;
54
55 // Background image of the slide show
56 ImageData _bg;
57
58 Button _prev, _next;
59 bool _usekeyboard;
60
61public:
62 SlideShow() {
63 _index = 0;
64 _usekeyboard = false;
65 }
66
67 ~SlideShow() {
68 clear();
69 }
70
71 void refresh();
72 void clear() {
73 _img.deleteImage();
74 }
75
76 void load(rapidxml::xml_node<char> *node);
77
78 void handleEvents(const Common::Event &event);
79
80 void draw();
81
82 void setUI();
83};
84
85} // End of namespace ui
86} // End of namespace pyrodactyl
87
88} // End of namespace Crab
89
90#endif // CRAB_SLIDESHOW_H
Definition: Image.h:51
Definition: button.h:86
Definition: element.h:42
Definition: ImageData.h:40
Definition: SlideShow.h:42
Definition: events.h:218