Crazy Eddie's GUI System
0.8.4
Main Page
Related Pages
Namespaces
Classes
Files
File List
All
Classes
Namespaces
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Pages
ImagerySection.h
1
/***********************************************************************
2
created: Mon Jun 13 2005
3
author: Paul D Turner <paul@cegui.org.uk>
4
*************************************************************************/
5
/***************************************************************************
6
* Copyright (C) 2004 - 2006 Paul D Turner & The CEGUI Development Team
7
*
8
* Permission is hereby granted, free of charge, to any person obtaining
9
* a copy of this software and associated documentation files (the
10
* "Software"), to deal in the Software without restriction, including
11
* without limitation the rights to use, copy, modify, merge, publish,
12
* distribute, sublicense, and/or sell copies of the Software, and to
13
* permit persons to whom the Software is furnished to do so, subject to
14
* the following conditions:
15
*
16
* The above copyright notice and this permission notice shall be
17
* included in all copies or substantial portions of the Software.
18
*
19
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
20
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
21
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
22
* IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
23
* OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
24
* ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
25
* OTHER DEALINGS IN THE SOFTWARE.
26
***************************************************************************/
27
#ifndef _CEGUIFalImagerySection_h_
28
#define _CEGUIFalImagerySection_h_
29
30
#include "./ImageryComponent.h"
31
#include "./TextComponent.h"
32
#include "./FrameComponent.h"
33
#include "../XMLSerializer.h"
34
35
#if defined(_MSC_VER)
36
# pragma warning(push)
37
# pragma warning(disable : 4251)
38
#endif
39
40
// Start of CEGUI namespace section
41
namespace
CEGUI
42
{
47
class
CEGUIEXPORT
ImagerySection
:
48
public
AllocatedObject
<ImagerySection>
49
{
50
public
:
55
ImagerySection
();
56
64
ImagerySection
(
const
String
& name);
65
79
void
render(
Window
& srcWindow,
const
CEGUI::ColourRect
* modColours = 0,
const
Rectf
* clipper = 0,
bool
clipToDisplay =
false
)
const
;
80
97
void
render(
Window
& srcWindow,
const
Rectf
& baseRect,
const
CEGUI::ColourRect
* modColours = 0,
const
Rectf
* clipper = 0,
bool
clipToDisplay =
false
)
const
;
98
109
void
addImageryComponent(
const
ImageryComponent
& img);
110
void
removeImageryComponent(
const
ImageryComponent
& img);
118
void
clearImageryComponents();
119
130
void
addTextComponent(
const
TextComponent
& text);
131
void
removeTextComponent(
const
TextComponent
& text);
139
void
clearTextComponents();
140
148
void
clearFrameComponents();
149
160
void
addFrameComponent(
const
FrameComponent
& frame);
161
void
removeFrameComponent(
const
FrameComponent
& frame);
162
170
const
ColourRect
& getMasterColours()
const
;
171
182
void
setMasterColours(
const
ColourRect
& cols);
183
191
const
String
& getName()
const
;
192
203
void
setName(
const
String
& name);
204
212
const
String
& getMasterColoursPropertySource()
const
;
213
224
void
setMasterColoursPropertySource(
const
String
& property);
225
230
Rectf
getBoundingRect(
const
Window
& wnd)
const
;
231
236
Rectf
getBoundingRect(
const
Window
& wnd,
const
Rectf
& rect)
const
;
237
249
void
writeXMLToStream(
XMLSerializer
& xml_stream)
const
;
250
252
bool
handleFontRenderSizeChange(
Window
& window,
const
Font
* font)
const
;
253
254
protected
:
264
void
initMasterColourRect(
const
Window
& wnd,
ColourRect
& cr)
const
;
265
266
private
:
267
typedef
std::vector<
ImageryComponent
268
CEGUI_VECTOR_ALLOC(
ImageryComponent
)> ImageryList;
269
typedef
std::vector<
TextComponent
270
CEGUI_VECTOR_ALLOC(
TextComponent
)> TextList;
271
typedef
std::vector<
FrameComponent
272
CEGUI_VECTOR_ALLOC(
FrameComponent
)> FrameList;
273
274
CEGUI::String
d_name;
275
CEGUI::ColourRect
d_masterColours;
276
FrameList d_frames;
277
ImageryList d_images;
278
TextList d_texts;
279
String
d_colourPropertyName;
280
281
public
:
282
typedef
ConstVectorIterator<ImageryList>
ImageryComponentIterator
;
283
typedef
ConstVectorIterator<TextList>
TextComponentIterator
;
284
typedef
ConstVectorIterator<FrameList>
FrameComponentIterator
;
291
ImageryComponentIterator
getImageryComponentIterator()
const
;
298
TextComponentIterator
getTextComponentIterator()
const
;
305
FrameComponentIterator
getFrameComponentIterator()
const
;
306
307
};
308
309
}
// End of CEGUI namespace section
310
311
312
#if defined(_MSC_VER)
313
# pragma warning(pop)
314
#endif
315
316
#endif // end of guard _CEGUIFalImagerySection_h_
CEGUI::TextComponent
Class that encapsulates information for a text component.
Definition:
TextComponent.h:48
CEGUI::AllocatedObject
Definition:
MemoryAllocatedObject.h:109
CEGUI::ConstVectorIterator
iterator for vectors
Definition:
IteratorBase.h:287
CEGUI::ColourRect
Class that holds details of colours for the four corners of a rectangle.
Definition:
ColourRect.h:43
CEGUI::ImageryComponent
Class that encapsulates information for a single image component.
Definition:
ImageryComponent.h:46
CEGUI::Font
Class that encapsulates a typeface.
Definition:
Font.h:58
CEGUI::Window
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition:
Window.h:149
CEGUI::FrameComponent
Class that encapsulates information for a frame with background (9 images in total) ...
Definition:
FrameComponent.h:51
CEGUI::XMLSerializer
Class used to create XML Document.
Definition:
XMLSerializer.h:85
CEGUI::ImagerySection
Class that encapsulates a re-usable collection of imagery specifications.
Definition:
ImagerySection.h:47
CEGUI::Rect< float >
CEGUI::String
String class used within the GUI system.
Definition:
String.h:62
dev
cegui
src
v0-8
cegui
include
CEGUI
falagard
ImagerySection.h
Generated on Mon Jul 7 2014 10:16:38 for Crazy Eddie's GUI System by
1.8.6