Crazy Eddie's GUI System  0.8.7
ImageryComponent.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 _CEGUIFalImageryComponent_h_
28 #define _CEGUIFalImageryComponent_h_
29 
30 #include "./ComponentBase.h"
31 #include "../XMLSerializer.h"
32 #include "CEGUI/falagard/FormattingSetting.h"
33 
34 #if defined(_MSC_VER)
35 # pragma warning(push)
36 # pragma warning(disable : 4251)
37 #endif
38 
39 // Start of CEGUI namespace section
40 namespace CEGUI
41 {
46  class CEGUIEXPORT ImageryComponent : public FalagardComponentBase
47  {
48  public:
54 
62  const Image* getImage() const;
63 
74  void setImage(const Image* image);
75 
86  void setImage(const String& name);
87 
96 
105 
117 
126 
135 
147 
157 
163  void setHorizontalFormattingPropertySource(const String& property_name);
164 
174 
180  void setVerticalFormattingPropertySource(const String& property_name);
181 
193  void writeXMLToStream(XMLSerializer& xml_stream) const;
194 
204 
213 
224  void setImagePropertySource(const String& property);
225 
226  protected:
227  // implemets abstract from base
228  void render_impl(Window& srcWindow, Rectf& destRect, const CEGUI::ColourRect* modColours, const Rectf* clipper, bool clipToDisplay) const;
229 
230  const Image* d_image;
236  };
237 
238 } // End of CEGUI namespace section
239 
240 #if defined(_MSC_VER)
241 # pragma warning(pop)
242 #endif
243 
244 #endif // end of guard _CEGUIFalImageryComponent_h_
Class that holds details of colours for the four corners of a rectangle.
Definition: ColourRect.h:45
Common base class used for renderable components within an ImagerySection.
Definition: ComponentBase.h:39
Interface for Image.
Definition: Image.h:161
Class that encapsulates information for a single image component.
Definition: ImageryComponent.h:47
const Image * d_image
Definition: ImageryComponent.h:230
VerticalFormatting getVerticalFormattingFromComponent() const
Directly returns the vertical formatting which was set for the ImageryComponent.
const String & getHorizontalFormattingPropertySource() const
Returns the name of the property that will be used to obtain the horizontal formatting to use for thi...
String d_imagePropertyName
Name of the property to access to obtain the image to be used.
Definition: ImageryComponent.h:235
void setHorizontalFormatting(HorizontalFormatting fmt)
Set the horizontal formatting setting for this ImageryComponent.
void setImagePropertySource(const String &property)
Set the name of the property that will be used to determine the image for this ImageryComponent.
void setImage(const String &name)
Set the Image that will be drawn by this ImageryComponent.
HorizontalFormatting getHorizontalFormattingFromComponent() const
Directly returns the horizontal formatting which was set for the ImageryComponent.
void setVerticalFormatting(VerticalFormatting fmt)
Set the vertical formatting setting for this ImageryComponent.
ImageryComponent()
Constructor.
VerticalFormatting getVerticalFormatting(const Window &wnd) const
Return the current vertical formatting setting for this ImageryComponent.
void render_impl(Window &srcWindow, Rectf &destRect, const CEGUI::ColourRect *modColours, const Rectf *clipper, bool clipToDisplay) const
Function to do main render caching work.
const String & getImagePropertySource() const
Return the name of the property that will be used to determine the image for this ImageryComponent.
const String & getVerticalFormattingPropertySource() const
Returns the name of the property that will be used to obtain the vertical formatting to use for this ...
HorizontalFormatting getHorizontalFormatting(const Window &wnd) const
Return the current horizontal formatting setting for this ImageryComponent.
bool isImageFetchedFromProperty() const
Return whether this ImageryComponent fetches it's image via a property on the target window.
FormattingSetting< HorizontalFormatting > d_horzFormatting
Horizontal formatting to be applied when rendering the image component.
Definition: ImageryComponent.h:234
void setVerticalFormattingPropertySource(const String &property_name)
Set the name of a property that will be used to obtain the vertical formatting to use for this Imager...
void setHorizontalFormattingPropertySource(const String &property_name)
Set the name of a property that will be used to obtain the horizontal formatting to use for this Imag...
void writeXMLToStream(XMLSerializer &xml_stream) const
Writes an xml representation of this ImageryComponent to out_stream.
void setImage(const Image *image)
Set the Image that will be drawn by this ImageryComponent.
const Image * getImage() const
Return the Image object that will be drawn by this ImageryComponent.
FormattingSetting< VerticalFormatting > d_vertFormatting
Vertical formatting to be applied when rendering the image component.
Definition: ImageryComponent.h:232
String class used within the GUI system.
Definition: String.h:64
An abstract base class providing common functionality and specifying the required interface for deriv...
Definition: Window.h:151
Class used to create XML Document.
Definition: XMLSerializer.h:87
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1
VerticalFormatting
Enumeration of possible values to indicate the vertical formatting to be used for an image component.
Definition: Enums.h:59
HorizontalFormatting
Enumeration of possible values to indicate the horizontal formatting to be used for an image componen...
Definition: Enums.h:72