Crazy Eddie's GUI System 0.8.7
Interpolator.h
1/***********************************************************************
2 created: 7/8/2010
3 author: Martin Preisler
4
5 purpose: Defines the interface for the abstract Interpolator class
6*************************************************************************/
7/***************************************************************************
8 * Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team
9 *
10 * Permission is hereby granted, free of charge, to any person obtaining
11 * a copy of this software and associated documentation files (the
12 * "Software"), to deal in the Software without restriction, including
13 * without limitation the rights to use, copy, modify, merge, publish,
14 * distribute, sublicense, and/or sell copies of the Software, and to
15 * permit persons to whom the Software is furnished to do so, subject to
16 * the following conditions:
17 *
18 * The above copyright notice and this permission notice shall be
19 * included in all copies or substantial portions of the Software.
20 *
21 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
22 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
23 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
24 * IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
25 * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
26 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
27 * OTHER DEALINGS IN THE SOFTWARE.
28 ***************************************************************************/
29#ifndef _CEGUIInterpolator_h_
30#define _CEGUIInterpolator_h_
31
32#include "CEGUI/Base.h"
33#include "CEGUI/String.h"
34
35// Start of CEGUI namespace section
36namespace CEGUI
37{
38
53class CEGUIEXPORT Interpolator :
54 public AllocatedObject<Interpolator>
55{
56public:
58 virtual ~Interpolator() {};
59
61 virtual const String& getType() const = 0;
62
63 // interpolate methods aren't const, because the interpolator could provide
64 // some sort of caching mechanism if converting properties is too expensive
65 // that it is worth it
66
70 virtual String interpolateAbsolute(const String& value1,
71 const String& value2,
72 float position) = 0;
73
77 virtual String interpolateRelative(const String& base,
78 const String& value1,
79 const String& value2,
80 float position) = 0;
81
86 const String& value1,
87 const String& value2,
88 float position) = 0;
89};
90
91} // End of CEGUI namespace section
92
93#endif // end of guard _CEGUIInterpolator_h_
94
Definition: MemoryAllocatedObject.h:110
Defines a 'interpolator' class.
Definition: Interpolator.h:55
virtual String interpolateAbsolute(const String &value1, const String &value2, float position)=0
virtual const String & getType() const =0
returns type string of this interpolator
virtual String interpolateRelative(const String &base, const String &value1, const String &value2, float position)=0
virtual String interpolateRelativeMultiply(const String &base, const String &value1, const String &value2, float position)=0
virtual ~Interpolator()
destructor
Definition: Interpolator.h:58
String class used within the GUI system.
Definition: String.h:64
Main namespace for Crazy Eddie's GUI Library.
Definition: arch_overview.dox:1