ScummVM API documentation
vmenu.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 original Sfinx source code
24
* Copyright (c) 1994-1997 Janusz B. Wisniewski and L.K. Avalon
25
*/
26
27
#ifndef CGE2_VMENU_H
28
#define CGE2_VMENU_H
29
30
#define kMenuBarVerticalMargin 1
31
#define kMenuBarHorizontalMargin 3
32
#define kLt 3
33
#define kRb 1
34
35
#include "cge2/cge2.h"
36
#include "cge2/talk.h"
37
38
namespace
CGE2
{
39
40
class
Choice
{
41
protected
:
42
CGE2Engine
*_vm;
43
public
:
44
char
*_text;
45
46
virtual
void
proc() = 0;
47
48
Choice
(
CGE2Engine
*vm);
49
virtual
~
Choice
() {};
50
};
51
52
class
ExitGameChoice
:
public
Choice
{
53
public
:
54
ExitGameChoice
(
CGE2Engine
*vm);
55
void
proc()
override
;
56
};
57
58
class
ReturnToGameChoice
:
public
Choice
{
59
public
:
60
ReturnToGameChoice
(
CGE2Engine
*vm);
61
void
proc()
override
;
62
};
63
64
class
MenuBar
:
public
Talk
{
65
public
:
66
MenuBar
(
CGE2Engine
*vm, uint16 w, byte *c);
67
};
68
69
class
VMenu
:
public
Talk
{
70
CGE2Engine
*_vm;
71
72
uint16 _items;
73
Common::Array<Choice *>
_menu;
74
public
:
75
char
*_vmgt;
76
static
VMenu
*_addr;
77
int
_recent;
78
int
_lastN;
79
MenuBar
*_bar;
80
81
VMenu
(
CGE2Engine
*vm,
Common::Array<Choice *>
list,
V2D
pos, ColorBank col);
82
~
VMenu
()
override
;
83
void
touch(uint16 mask,
V2D
pos)
override
;
84
char
*vmGather(
Common::Array<Choice *>
list);
85
};
86
87
}
// End of namespace CGE2
88
89
#endif // CGE2_VMENU_H
CGE2::CGE2Engine
Definition:
cge2.h:149
CGE2::VMenu
Definition:
vmenu.h:69
Common::Array
Definition:
array.h:52
CGE2::ReturnToGameChoice
Definition:
vmenu.h:58
CGE2::V2D
Definition:
vga13h.h:94
CGE2::Choice
Definition:
vmenu.h:40
CGE2::ExitGameChoice
Definition:
vmenu.h:52
CGE2::Talk
Definition:
talk.h:62
CGE2
Definition:
bitmap.h:33
CGE2::MenuBar
Definition:
vmenu.h:64
engines
cge2
vmenu.h
Generated on Sat Aug 31 2024 09:09:06 for ScummVM API documentation by
1.8.13