Irrlicht 3D Engine
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Pages
IGUIEnvironment.h
Go to the documentation of this file.
1
// Copyright (C) 2002-2012 Nikolaus Gebhardt
2
// This file is part of the "Irrlicht Engine".
3
// For conditions of distribution and use, see copyright notice in irrlicht.h
4
5
#ifndef __I_GUI_ENVIRONMENT_H_INCLUDED__
6
#define __I_GUI_ENVIRONMENT_H_INCLUDED__
7
8
#include "
IReferenceCounted.h
"
9
#include "
IGUISkin.h
"
10
#include "
rect.h
"
11
#include "
EMessageBoxFlags.h
"
12
#include "
IEventReceiver.h
"
13
#include "
IXMLReader.h
"
14
#include "
path.h
"
15
16
namespace
irr
17
{
18
class
IOSOperator;
19
class
IEventReceiver;
20
21
namespace
io
22
{
23
class
IXMLWriter;
24
class
IReadFile;
25
class
IWriteFile;
26
class
IFileSystem;
27
}
// end namespace io
28
namespace
video
29
{
30
class
IVideoDriver;
31
class
ITexture;
32
}
// end namespace video
33
34
namespace
gui
35
{
36
37
class
IGUIElement;
38
class
IGUIFont;
39
class
IGUISpriteBank;
40
class
IGUIScrollBar;
41
class
IGUIImage;
42
class
IGUIMeshViewer;
43
class
IGUICheckBox;
44
class
IGUIListBox;
45
class
IGUITreeView;
46
class
IGUIImageList;
47
class
IGUIFileOpenDialog;
48
class
IGUIColorSelectDialog;
49
class
IGUIInOutFader;
50
class
IGUIStaticText;
51
class
IGUIEditBox;
52
class
IGUISpinBox;
53
class
IGUITabControl;
54
class
IGUITab;
55
class
IGUITable;
56
class
IGUIContextMenu;
57
class
IGUIComboBox;
58
class
IGUIToolBar;
59
class
IGUIButton;
60
class
IGUIWindow;
61
class
IGUIElementFactory;
62
64
70
class
IGUIEnvironment
:
public
virtual
IReferenceCounted
71
{
72
public
:
73
75
virtual
void
drawAll
() = 0;
76
78
83
virtual
bool
setFocus
(
IGUIElement
* element) = 0;
84
86
87
virtual
IGUIElement
*
getFocus
()
const
= 0;
88
90
95
virtual
IGUIElement
*
getHovered
()
const
= 0;
96
98
102
virtual
bool
removeFocus
(
IGUIElement
* element) = 0;
103
105
107
virtual
bool
hasFocus
(
IGUIElement
* element)
const
= 0;
108
110
111
virtual
video::IVideoDriver
*
getVideoDriver
()
const
= 0;
112
114
115
virtual
io::IFileSystem
*
getFileSystem
()
const
= 0;
116
118
119
virtual
IOSOperator
*
getOSOperator
()
const
= 0;
120
122
virtual
void
clear
() = 0;
123
125
129
virtual
bool
postEventFromUser
(
const
SEvent
& event) = 0;
130
132
135
virtual
void
setUserEventReceiver
(
IEventReceiver
* evr) = 0;
136
138
139
virtual
IGUISkin
*
getSkin
()
const
= 0;
140
142
154
virtual
void
setSkin
(
IGUISkin
* skin) = 0;
155
157
162
virtual
IGUISkin
*
createSkin
(
EGUI_SKIN_TYPE
type) = 0;
163
164
166
172
virtual
IGUIImageList
*
createImageList
(
video::ITexture
* texture,
173
core::dimension2d<s32>
imageSize,
174
bool
useAlphaChannel ) = 0;
175
177
182
virtual
IGUIFont
*
getFont
(
const
io::path
& filename) = 0;
183
185
190
virtual
IGUIFont
*
addFont
(
const
io::path
& name,
IGUIFont
* font) = 0;
191
193
virtual
void
removeFont
(
IGUIFont
* font) = 0;
194
196
199
virtual
IGUIFont
*
getBuiltInFont
()
const
= 0;
200
202
206
virtual
IGUISpriteBank
*
getSpriteBank
(
const
io::path
& filename) = 0;
207
209
212
virtual
IGUISpriteBank
*
addEmptySpriteBank
(
const
io::path
& name) = 0;
213
215
221
virtual
IGUIElement
*
getRootGUIElement
() = 0;
222
224
232
virtual
IGUIButton
*
addButton
(
const
core::rect<s32>
& rectangle,
233
IGUIElement
* parent=0,
s32
id
=-1,
const
wchar_t
* text=0,
const
wchar_t
* tooltiptext = 0) = 0;
234
236
246
virtual
IGUIWindow
*
addWindow
(
const
core::rect<s32>
& rectangle,
bool
modal =
false
,
247
const
wchar_t
* text=0,
IGUIElement
* parent=0,
s32
id
=-1) = 0;
248
250
256
virtual
IGUIElement
*
addModalScreen
(
IGUIElement
* parent) = 0;
257
259
273
virtual
IGUIWindow
*
addMessageBox
(
const
wchar_t
* caption,
const
wchar_t
* text=0,
274
bool
modal =
true
,
s32
flags =
EMBF_OK
,
IGUIElement
* parent=0,
s32
id
=-1,
video::ITexture
* image=0) = 0;
275
277
285
virtual
IGUIScrollBar
*
addScrollBar
(
bool
horizontal,
const
core::rect<s32>
& rectangle,
286
IGUIElement
* parent=0,
s32
id
=-1) = 0;
287
289
300
virtual
IGUIImage
*
addImage
(
video::ITexture
* image, core::position2d<s32> pos,
301
bool
useAlphaChannel=
true
,
IGUIElement
* parent=0,
s32
id
=-1,
const
wchar_t
* text=0) = 0;
302
304
314
virtual
IGUIImage
*
addImage
(
const
core::rect<s32>
& rectangle,
315
IGUIElement
* parent=0,
s32
id
=-1,
const
wchar_t
* text=0,
bool
useAlphaChannel=
true
) = 0;
316
318
326
virtual
IGUICheckBox
*
addCheckBox
(
bool
checked,
const
core::rect<s32>
& rectangle,
327
IGUIElement
* parent=0,
s32
id
=-1,
const
wchar_t
* text=0) = 0;
328
330
337
virtual
IGUIListBox
*
addListBox
(
const
core::rect<s32>
& rectangle,
338
IGUIElement
* parent=0,
s32
id
=-1,
bool
drawBackground=
false
) = 0;
339
341
350
virtual
IGUITreeView
*
addTreeView
(
const
core::rect<s32>
& rectangle,
351
IGUIElement
* parent=0,
s32
id
=-1,
bool
drawBackground=
false
,
352
bool
scrollBarVertical =
true
,
bool
scrollBarHorizontal =
false
) = 0;
353
355
362
virtual
IGUIMeshViewer
*
addMeshViewer
(
const
core::rect<s32>
& rectangle,
363
IGUIElement
* parent=0,
s32
id
=-1,
const
wchar_t
* text=0) = 0;
364
366
379
virtual
IGUIFileOpenDialog
*
addFileOpenDialog
(
const
wchar_t
* title=0,
380
bool
modal=
true
,
IGUIElement
* parent=0,
s32
id
=-1,
381
bool
restoreCWD=
false
,
io::path::char_type
* startDir=0) = 0;
382
384
393
virtual
IGUIColorSelectDialog
*
addColorSelectDialog
(
const
wchar_t
* title = 0,
394
bool
modal=
true
,
IGUIElement
* parent=0,
s32
id
=-1) = 0;
395
397
408
virtual
IGUIStaticText
*
addStaticText
(
const
wchar_t
* text,
const
core::rect<s32>
& rectangle,
409
bool
border=
false
,
bool
wordWrap=
true
,
IGUIElement
* parent=0,
s32
id
=-1,
410
bool
fillBackground =
false
) = 0;
411
413
427
virtual
IGUIEditBox
*
addEditBox
(
const
wchar_t
* text,
const
core::rect<s32>
& rectangle,
428
bool
border=
true
,
IGUIElement
* parent=0,
s32
id
=-1) = 0;
429
431
441
virtual
IGUISpinBox
*
addSpinBox
(
const
wchar_t
* text,
const
core::rect<s32>
& rectangle,
442
bool
border=
true
,
IGUIElement
* parent=0,
s32
id
=-1) = 0;
443
445
452
virtual
IGUIInOutFader
*
addInOutFader
(
const
core::rect<s32>
* rectangle=0,
IGUIElement
* parent=0,
s32
id
=-1) = 0;
453
455
467
virtual
IGUITabControl
*
addTabControl
(
const
core::rect<s32>
& rectangle,
468
IGUIElement
* parent=0,
bool
fillbackground=
false
,
469
bool
border=
true
,
s32
id
=-1) = 0;
470
472
482
virtual
IGUITab
*
addTab
(
const
core::rect<s32>
& rectangle,
483
IGUIElement
* parent=0,
s32
id
=-1) = 0;
484
486
494
virtual
IGUIContextMenu
*
addContextMenu
(
const
core::rect<s32>
& rectangle,
495
IGUIElement
* parent=0,
s32
id
=-1) = 0;
496
498
506
virtual
IGUIContextMenu
*
addMenu
(
IGUIElement
* parent=0,
s32
id
=-1) = 0;
507
509
517
virtual
IGUIToolBar
*
addToolBar
(
IGUIElement
* parent=0,
s32
id
=-1) = 0;
518
520
527
virtual
IGUIComboBox
*
addComboBox
(
const
core::rect<s32>
& rectangle,
528
IGUIElement
* parent=0,
s32
id
=-1) = 0;
529
531
539
virtual
IGUITable
*
addTable
(
const
core::rect<s32>
& rectangle,
540
IGUIElement
* parent=0,
s32
id
=-1,
bool
drawBackground=
false
) =0;
541
543
546
virtual
IGUIElementFactory
*
getDefaultGUIElementFactory
()
const
= 0;
547
549
553
virtual
void
registerGUIElementFactory
(
IGUIElementFactory
* factoryToAdd) = 0;
554
556
557
virtual
u32
getRegisteredGUIElementFactoryCount
()
const
= 0;
558
560
562
virtual
IGUIElementFactory
*
getGUIElementFactory
(
u32
index)
const
= 0;
563
565
570
virtual
IGUIElement
*
addGUIElement
(
const
c8
* elementName,
IGUIElement
* parent=0) = 0;
571
573
576
virtual
bool
saveGUI
(
const
io::path
& filename,
IGUIElement
* start=0) = 0;
577
579
582
virtual
bool
saveGUI
(
io::IWriteFile
* file,
IGUIElement
* start=0) = 0;
583
585
591
virtual
bool
loadGUI
(
const
io::path
& filename,
IGUIElement
* parent=0) = 0;
592
594
600
virtual
bool
loadGUI
(
io::IReadFile
* file,
IGUIElement
* parent=0) = 0;
601
603
virtual
void
serializeAttributes
(
io::IAttributes
* out,
io::SAttributeReadWriteOptions
* options=0)
const
=0;
604
606
virtual
void
deserializeAttributes
(
io::IAttributes
* in,
io::SAttributeReadWriteOptions
* options=0)=0;
607
609
virtual
void
writeGUIElement
(
io::IXMLWriter
* writer,
IGUIElement
* node) =0;
610
612
virtual
void
readGUIElement
(
io::IXMLReader
* reader,
IGUIElement
* node) =0;
613
};
614
615
616
}
// end namespace gui
617
}
// end namespace irr
618
619
#endif
620
Irrlicht Engine
Documentation © 2003-2012 by Nikolaus Gebhardt. Generated on Thu Apr 2 2020 05:59:47 for Irrlicht 3D Engine by
Doxygen
1.8.1.2