Wise&mystical  1.0
Project about Europe
Loading...
Searching...
No Matches
easings.h File Reference
#include <math.h>
+ Include dependency graph for easings.h:

Go to the source code of this file.

Macros

#define EASINGS_STATIC_INLINE
 raylib easings (header only file) More...
 
#define EASEDEF   static inline
 
#define PI   3.14159265358979323846f
 

Functions

EASEDEF float EaseLinearNone (float t, float b, float c, float d)
 
EASEDEF float EaseLinearIn (float t, float b, float c, float d)
 
EASEDEF float EaseLinearOut (float t, float b, float c, float d)
 
EASEDEF float EaseLinearInOut (float t, float b, float c, float d)
 
EASEDEF float EaseSineIn (float t, float b, float c, float d)
 
EASEDEF float EaseSineOut (float t, float b, float c, float d)
 
EASEDEF float EaseSineInOut (float t, float b, float c, float d)
 
EASEDEF float EaseCircIn (float t, float b, float c, float d)
 
EASEDEF float EaseCircOut (float t, float b, float c, float d)
 
EASEDEF float EaseCircInOut (float t, float b, float c, float d)
 
EASEDEF float EaseCubicIn (float t, float b, float c, float d)
 
EASEDEF float EaseCubicOut (float t, float b, float c, float d)
 
EASEDEF float EaseCubicInOut (float t, float b, float c, float d)
 
EASEDEF float EaseQuadIn (float t, float b, float c, float d)
 
EASEDEF float EaseQuadOut (float t, float b, float c, float d)
 
EASEDEF float EaseQuadInOut (float t, float b, float c, float d)
 
EASEDEF float EaseExpoIn (float t, float b, float c, float d)
 
EASEDEF float EaseExpoOut (float t, float b, float c, float d)
 
EASEDEF float EaseExpoInOut (float t, float b, float c, float d)
 
EASEDEF float EaseBackIn (float t, float b, float c, float d)
 
EASEDEF float EaseBackOut (float t, float b, float c, float d)
 
EASEDEF float EaseBackInOut (float t, float b, float c, float d)
 
EASEDEF float EaseBounceOut (float t, float b, float c, float d)
 
EASEDEF float EaseBounceIn (float t, float b, float c, float d)
 
EASEDEF float EaseBounceInOut (float t, float b, float c, float d)
 
EASEDEF float EaseElasticIn (float t, float b, float c, float d)
 
EASEDEF float EaseElasticOut (float t, float b, float c, float d)
 
EASEDEF float EaseElasticInOut (float t, float b, float c, float d)
 

Macro Definition Documentation

◆ EASEDEF

#define EASEDEF   static inline

Definition at line 88 of file easings.h.

◆ EASINGS_STATIC_INLINE

#define EASINGS_STATIC_INLINE

raylib easings (header only file)

Useful easing functions for values animation

This header uses: #define EASINGS_STATIC_INLINE // Inlines all functions code, so it runs faster. // This requires lots of memory on system. How to use: The four inputs t,b,c,d are defined as follows: t = current time (in any unit measure, but same unit as duration) b = starting value to interpolate c = the total change in value of b that needs to occur d = total time it should take to complete (duration)

Example:

int currentTime = 0; int duration = 100; float startPositionX = 0.0f; float finalPositionX = 30.0f; float currentPositionX = startPositionX;

while (currentPositionX < finalPositionX) { currentPositionX = EaseSineIn(currentTime, startPositionX, finalPositionX - startPositionX, duration); currentTime++; }

A port of Robert Penner's easing equations to C (http://robertpenner.com/easing/)

Robert Penner License

Open source under the BSD License.

Copyright (c) 2001 Robert Penner. All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

- Redistributions of source code must retain the above copyright notice,
  this list of conditions and the following disclaimer.
- Redistributions in binary form must reproduce the above copyright notice,
  this list of conditions and the following disclaimer in the documentation
  and/or other materials provided with the distribution.
- Neither the name of the author nor the names of contributors may be used
  to endorse or promote products derived from this software without specific
  prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED

OF THE POSSIBILITY OF SUCH DAMAGE.

Copyright (c) 2015 Ramon Santamaria

This software is provided "as-is", without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.

Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:

  1. The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
  2. Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
  3. This notice may not be removed or altered from any source distribution.

Definition at line 85 of file easings.h.

◆ PI

#define PI   3.14159265358979323846f

Definition at line 96 of file easings.h.

Function Documentation

◆ EaseBackIn()

EASEDEF float EaseBackIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 154 of file easings.h.

◆ EaseBackInOut()

EASEDEF float EaseBackInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 168 of file easings.h.

◆ EaseBackOut()

EASEDEF float EaseBackOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 161 of file easings.h.

◆ EaseBounceIn()

EASEDEF float EaseBounceIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 206 of file easings.h.

+ Here is the call graph for this function:
+ Here is the caller graph for this function:

◆ EaseBounceInOut()

EASEDEF float EaseBounceInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 207 of file easings.h.

+ Here is the call graph for this function:

◆ EaseBounceOut()

EASEDEF float EaseBounceOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 183 of file easings.h.

+ Here is the caller graph for this function:

◆ EaseCircIn()

EASEDEF float EaseCircIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 115 of file easings.h.

◆ EaseCircInOut()

EASEDEF float EaseCircInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 117 of file easings.h.

◆ EaseCircOut()

EASEDEF float EaseCircOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 116 of file easings.h.

◆ EaseCubicIn()

EASEDEF float EaseCubicIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 124 of file easings.h.

◆ EaseCubicInOut()

static float EaseCubicInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 126 of file easings.h.

+ Here is the caller graph for this function:

◆ EaseCubicOut()

EASEDEF float EaseCubicOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 125 of file easings.h.

◆ EaseElasticIn()

EASEDEF float EaseElasticIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 214 of file easings.h.

◆ EaseElasticInOut()

EASEDEF float EaseElasticInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 239 of file easings.h.

◆ EaseElasticOut()

EASEDEF float EaseElasticOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 227 of file easings.h.

◆ EaseExpoIn()

EASEDEF float EaseExpoIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 142 of file easings.h.

◆ EaseExpoInOut()

EASEDEF float EaseExpoInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 144 of file easings.h.

◆ EaseExpoOut()

EASEDEF float EaseExpoOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 143 of file easings.h.

◆ EaseLinearIn()

EASEDEF float EaseLinearIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 105 of file easings.h.

◆ EaseLinearInOut()

EASEDEF float EaseLinearInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 107 of file easings.h.

◆ EaseLinearNone()

EASEDEF float EaseLinearNone ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 104 of file easings.h.

◆ EaseLinearOut()

EASEDEF float EaseLinearOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 106 of file easings.h.

◆ EaseQuadIn()

EASEDEF float EaseQuadIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 133 of file easings.h.

◆ EaseQuadInOut()

EASEDEF float EaseQuadInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 135 of file easings.h.

◆ EaseQuadOut()

EASEDEF float EaseQuadOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 134 of file easings.h.

◆ EaseSineIn()

EASEDEF float EaseSineIn ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 110 of file easings.h.

◆ EaseSineInOut()

EASEDEF float EaseSineInOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 112 of file easings.h.

◆ EaseSineOut()

EASEDEF float EaseSineOut ( float  t,
float  b,
float  c,
float  d 
)

Definition at line 111 of file easings.h.