Crazy Eddies GUI System: CEGUIBasicInterpolators.h Source File

Crazy Eddies GUI System 0.7.6

- Main Page
- Related Pages
- Namespaces
- Classes
- Files

- File List

CEGUIBasicInterpolators.h

    00001 /***********************************************************************
    00002     filename:   CEGUIBasicInterpolators.h
    00003     created:    7/8/2010
    00004     author:     Martin Preisler
    00005
    00006     purpose:    Defines basic integrated interpolators
    00007 *************************************************************************/
    00008 /***************************************************************************
    00009  *   Copyright (C) 2004 - 2010 Paul D Turner & The CEGUI Development Team
    00010  *
    00011  *   Permission is hereby granted, free of charge, to any person obtaining
    00012  *   a copy of this software and associated documentation files (the
    00013  *   "Software"), to deal in the Software without restriction, including
    00014  *   without limitation the rights to use, copy, modify, merge, publish,
    00015  *   distribute, sublicense, and/or sell copies of the Software, and to
    00016  *   permit persons to whom the Software is furnished to do so, subject to
    00017  *   the following conditions:
    00018  *
    00019  *   The above copyright notice and this permission notice shall be
    00020  *   included in all copies or substantial portions of the Software.
    00021  *
    00022  *   THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
    00023  *   EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
    00024  *   MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
    00025  *   IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR
    00026  *   OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
    00027  *   ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
    00028  *   OTHER DEALINGS IN THE SOFTWARE.
    00029  ***************************************************************************/
    00030 #ifndef _CEGUIBasicInterpolators_h_
    00031 #define _CEGUIBasicInterpolators_h_
    00032
    00033 #include "CEGUIInterpolator.h"
    00034
    00035 // Start of CEGUI namespace section
    00036 namespace CEGUI
    00037 {
    00038
    00039 // this does no interpolation! it just chooses left or right value based on
    00040 // position!
    00041 class CEGUIEXPORT StringInterpolator : public Interpolator
    00042 {
    00043 public:
    00044     virtual ~StringInterpolator(void) {};
    00045
    00046     virtual const String& getType() const;
    00047
    00048     virtual String interpolateAbsolute(const String& value1,
    00049                                        const String& value2,
    00050                                        float position);
    00051     virtual String interpolateRelative(const String& base,
    00052                                        const String& value1,
    00053                                        const String& value2,
    00054                                        float position);
    00055     virtual String interpolateRelativeMultiply(const String& base,
    00056             const String& value1,
    00057             const String& value2,
    00058             float position);
    00059 };
    00060
    00061 class CEGUIEXPORT FloatInterpolator : public Interpolator
    00062 {
    00063 public:
    00064     virtual ~FloatInterpolator(void) {};
    00065
    00066     virtual const String& getType() const;
    00067
    00068     virtual String interpolateAbsolute(const String& value1,
    00069                                        const String& value2,
    00070                                        float position);
    00071     virtual String interpolateRelative(const String& base,
    00072                                        const String& value1,
    00073                                        const String& value2,
    00074                                        float position);
    00075     virtual String interpolateRelativeMultiply(const String& base,
    00076             const String& value1,
    00077             const String& value2,
    00078             float position);
    00079 };
    00080
    00081 class CEGUIEXPORT UintInterpolator : public Interpolator
    00082 {
    00083 public:
    00084     virtual ~UintInterpolator(void) {};
    00085
    00086     virtual const String& getType() const;
    00087
    00088     virtual String interpolateAbsolute(const String& value1,
    00089                                        const String& value2,
    00090                                        float position);
    00091     virtual String interpolateRelative(const String& base,
    00092                                        const String& value1,
    00093                                        const String& value2,
    00094                                        float position);
    00095     virtual String interpolateRelativeMultiply(const String& base,
    00096             const String& value1,
    00097             const String& value2,
    00098             float position);
    00099 };
    00100
    00101 class CEGUIEXPORT IntInterpolator : public Interpolator
    00102 {
    00103 public:
    00104     virtual ~IntInterpolator(void) {};
    00105
    00106     virtual const String& getType() const;
    00107
    00108     virtual String interpolateAbsolute(const String& value1,
    00109                                        const String& value2,
    00110                                        float position);
    00111     virtual String interpolateRelative(const String& base,
    00112                                        const String& value1,
    00113                                        const String& value2,
    00114                                        float position);
    00115     virtual String interpolateRelativeMultiply(const String& base,
    00116             const String& value1,
    00117             const String& value2,
    00118             float position);
    00119 };
    00120
    00121 // this does no interpolation! it just chooses left or right value based on
    00122 // position!
    00123 class CEGUIEXPORT BoolInterpolator : public Interpolator
    00124 {
    00125 public:
    00126     virtual ~BoolInterpolator(void) {};
    00127
    00128     virtual const String& getType() const;
    00129
    00130     virtual String interpolateAbsolute(const String& value1,
    00131                                        const String& value2,
    00132                                        float position);
    00133     virtual String interpolateRelative(const String& base,
    00134                                        const String& value1,
    00135                                        const String& value2,
    00136                                        float position);
    00137     virtual String interpolateRelativeMultiply(const String& base,
    00138             const String& value1,
    00139             const String& value2,
    00140             float position);
    00141 };
    00142
    00143 class CEGUIEXPORT SizeInterpolator : public Interpolator
    00144 {
    00145 public:
    00146     virtual ~SizeInterpolator(void) {};
    00147
    00148     virtual const String& getType() const;
    00149
    00150     virtual String interpolateAbsolute(const String& value1,
    00151                                        const String& value2,
    00152                                        float position);
    00153     virtual String interpolateRelative(const String& base,
    00154                                        const String& value1,
    00155                                        const String& value2,
    00156                                        float position);
    00157     virtual String interpolateRelativeMultiply(const String& base,
    00158             const String& value1,
    00159             const String& value2,
    00160             float position);
    00161 };
    00162
    00163 class CEGUIEXPORT PointInterpolator : public Interpolator
    00164 {
    00165 public:
    00166     virtual ~PointInterpolator(void) {};
    00167
    00168     virtual const String& getType() const;
    00169
    00170     virtual String interpolateAbsolute(const String& value1,
    00171                                        const String& value2,
    00172                                        float position);
    00173     virtual String interpolateRelative(const String& base,
    00174                                        const String& value1,
    00175                                        const String& value2,
    00176                                        float position);
    00177     virtual String interpolateRelativeMultiply(const String& base,
    00178             const String& value1,
    00179             const String& value2,
    00180             float position);
    00181 };
    00182
    00183 class CEGUIEXPORT Vector3Interpolator : public Interpolator
    00184 {
    00185 public:
    00186     virtual ~Vector3Interpolator(void) {};
    00187
    00188     virtual const String& getType() const;
    00189
    00190     virtual String interpolateAbsolute(const String& value1,
    00191                                        const String& value2,
    00192                                        float position);
    00193     virtual String interpolateRelative(const String& base,
    00194                                        const String& value1,
    00195                                        const String& value2,
    00196                                        float position);
    00197     virtual String interpolateRelativeMultiply(const String& base,
    00198             const String& value1,
    00199             const String& value2,
    00200             float position);
    00201 };
    00202
    00203 class CEGUIEXPORT RectInterpolator : public Interpolator
    00204 {
    00205 public:
    00206     virtual ~RectInterpolator(void) {};
    00207
    00208     virtual const String& getType() const;
    00209
    00210     virtual String interpolateAbsolute(const String& value1,
    00211                                        const String& value2,
    00212                                        float position);
    00213     virtual String interpolateRelative(const String& base,
    00214                                        const String& value1,
    00215                                        const String& value2,
    00216                                        float position);
    00217     virtual String interpolateRelativeMultiply(const String& base,
    00218             const String& value1,
    00219             const String& value2,
    00220             float position);
    00221 };
    00222
    00223 class CEGUIEXPORT ColourInterpolator : public Interpolator
    00224 {
    00225 public:
    00226     virtual ~ColourInterpolator(void) {};
    00227
    00228     virtual const String& getType() const;
    00229
    00230     virtual String interpolateAbsolute(const String& value1,
    00231                                        const String& value2,
    00232                                        float position);
    00233     virtual String interpolateRelative(const String& base,
    00234                                        const String& value1,
    00235                                        const String& value2,
    00236                                        float position);
    00237     virtual String interpolateRelativeMultiply(const String& base,
    00238             const String& value1,
    00239             const String& value2,
    00240             float position);
    00241 };
    00242
    00243 class CEGUIEXPORT ColourRectInterpolator : public Interpolator
    00244 {
    00245 public:
    00246     virtual ~ColourRectInterpolator(void) {};
    00247
    00248     virtual const String& getType() const;
    00249
    00250     virtual String interpolateAbsolute(const String& value1,
    00251                                        const String& value2,
    00252                                        float position);
    00253     virtual String interpolateRelative(const String& base,
    00254                                        const String& value1,
    00255                                        const String& value2,
    00256                                        float position);
    00257     virtual String interpolateRelativeMultiply(const String& base,
    00258             const String& value1,
    00259             const String& value2,
    00260             float position);
    00261 };
    00262
    00263 class CEGUIEXPORT UDimInterpolator : public Interpolator
    00264 {
    00265 public:
    00266     virtual ~UDimInterpolator(void) {};
    00267
    00268     virtual const String& getType() const;
    00269
    00270     virtual String interpolateAbsolute(const String& value1,
    00271                                        const String& value2,
    00272                                        float position);
    00273     virtual String interpolateRelative(const String& base,
    00274                                        const String& value1,
    00275                                        const String& value2,
    00276                                        float position);
    00277     virtual String interpolateRelativeMultiply(const String& base,
    00278             const String& value1,
    00279             const String& value2,
    00280             float position);
    00281 };
    00282
    00283 class CEGUIEXPORT UVector2Interpolator : public Interpolator
    00284 {
    00285 public:
    00286     virtual ~UVector2Interpolator(void) {};
    00287
    00288     virtual const String& getType() const;
    00289
    00290     virtual String interpolateAbsolute(const String& value1,
    00291                                        const String& value2,
    00292                                        float position);
    00293     virtual String interpolateRelative(const String& base,
    00294                                        const String& value1,
    00295                                        const String& value2,
    00296                                        float position);
    00297     virtual String interpolateRelativeMultiply(const String& base,
    00298             const String& value1,
    00299             const String& value2,
    00300             float position);
    00301 };
    00302
    00303 class CEGUIEXPORT URectInterpolator : public Interpolator
    00304 {
    00305 public:
    00306     virtual ~URectInterpolator(void) {};
    00307
    00308     virtual const String& getType() const;
    00309
    00310     virtual String interpolateAbsolute(const String& value1,
    00311                                        const String& value2,
    00312                                        float position);
    00313     virtual String interpolateRelative(const String& base,
    00314                                        const String& value1,
    00315                                        const String& value2,
    00316                                        float position);
    00317     virtual String interpolateRelativeMultiply(const String& base,
    00318             const String& value1,
    00319             const String& value2,
    00320             float position);
    00321 };
    00322
    00323 class CEGUIEXPORT UBoxInterpolator : public Interpolator
    00324 {
    00325 public:
    00326     virtual ~UBoxInterpolator(void) {};
    00327
    00328     virtual const String& getType() const;
    00329
    00330     virtual String interpolateAbsolute(const String& value1,
    00331                                        const String& value2,
    00332                                        float position);
    00333     virtual String interpolateRelative(const String& base,
    00334                                        const String& value1,
    00335                                        const String& value2,
    00336                                        float position);
    00337     virtual String interpolateRelativeMultiply(const String& base,
    00338             const String& value1,
    00339             const String& value2,
    00340             float position);
    00341 };
    00342
    00343 } // End of  CEGUI namespace section
    00344
    00345 #endif  // end of guard _CEGUIBasicInterpolators_h_
    00346