RetroArch
Classes | Macros | Typedefs | Functions | Variables
menu_animation.c File Reference
#include <math.h>
#include <string.h>
#include <compat/strl.h>
#include <encodings/utf.h>
#include <retro_math.h>
#include <retro_miscellaneous.h>
#include <features/features_cpu.h>
#include <stdio.h>
#include <retro_assert.h>
#include <array/dynarray.h>
#include "menu_animation.h"
#include "../configuration.h"
#include "../performance_counters.h"
Include dependency graph for menu_animation.c:

Classes

struct  tween
 
struct  menu_animation
 

Macros

#define DG_DYNARR_IMPLEMENTATION
 
#define DG_DYNARR_ASSERT(cond, msg)   (void)0
 
#define IDEAL_DELTA_TIME   (1.0 / 60.0 * 1000000.0)
 

Typedefs

typedef struct menu_animation menu_animation_t
 

Functions

static float easing_linear (float t, float b, float c, float d)
 
static float easing_in_out_quad (float t, float b, float c, float d)
 
static float easing_in_quad (float t, float b, float c, float d)
 
static float easing_out_quad (float t, float b, float c, float d)
 
static float easing_out_in_quad (float t, float b, float c, float d)
 
static float easing_in_cubic (float t, float b, float c, float d)
 
static float easing_out_cubic (float t, float b, float c, float d)
 
static float easing_in_out_cubic (float t, float b, float c, float d)
 
static float easing_out_in_cubic (float t, float b, float c, float d)
 
static float easing_in_quart (float t, float b, float c, float d)
 
static float easing_out_quart (float t, float b, float c, float d)
 
static float easing_in_out_quart (float t, float b, float c, float d)
 
static float easing_out_in_quart (float t, float b, float c, float d)
 
static float easing_in_quint (float t, float b, float c, float d)
 
static float easing_out_quint (float t, float b, float c, float d)
 
static float easing_in_out_quint (float t, float b, float c, float d)
 
static float easing_out_in_quint (float t, float b, float c, float d)
 
static float easing_in_sine (float t, float b, float c, float d)
 
static float easing_out_sine (float t, float b, float c, float d)
 
static float easing_in_out_sine (float t, float b, float c, float d)
 
static float easing_out_in_sine (float t, float b, float c, float d)
 
static float easing_in_expo (float t, float b, float c, float d)
 
static float easing_out_expo (float t, float b, float c, float d)
 
static float easing_in_out_expo (float t, float b, float c, float d)
 
static float easing_out_in_expo (float t, float b, float c, float d)
 
static float easing_in_circ (float t, float b, float c, float d)
 
static float easing_out_circ (float t, float b, float c, float d)
 
static float easing_in_out_circ (float t, float b, float c, float d)
 
static float easing_out_in_circ (float t, float b, float c, float d)
 
static float easing_out_bounce (float t, float b, float c, float d)
 
static float easing_in_bounce (float t, float b, float c, float d)
 
static float easing_in_out_bounce (float t, float b, float c, float d)
 
static float easing_out_in_bounce (float t, float b, float c, float d)
 
static void menu_animation_ticker_generic (uint64_t idx, size_t max_width, size_t *offset, size_t *width)
 
void menu_animation_init (void)
 
void menu_animation_free (void)
 
bool menu_animation_push (menu_animation_ctx_entry_t *entry)
 
bool menu_animation_update (float delta_time)
 
bool menu_animation_ticker (const menu_animation_ctx_ticker_t *ticker)
 
bool menu_animation_get_ideal_delta_time (menu_animation_ctx_delta_t *delta)
 
void menu_animation_update_time (bool timedate_enable)
 
bool menu_animation_is_active (void)
 
bool menu_animation_kill_by_tag (menu_animation_ctx_tag *tag)
 
void menu_animation_kill_by_subject (menu_animation_ctx_subject_t *subject)
 
float menu_animation_get_delta_time (void)
 
bool menu_animation_ctl (enum menu_animation_ctl_state state, void *data)
 
void menu_timer_start (menu_timer_t *timer, menu_timer_ctx_entry_t *timer_entry)
 
void menu_timer_kill (menu_timer_t *timer)
 

Variables

static menu_animation_t anim
 
static retro_time_t cur_time = 0
 
static retro_time_t old_time = 0
 
static float delta_time = 0.0f
 
static bool animation_is_active = false
 

Macro Definition Documentation

◆ DG_DYNARR_ASSERT

#define DG_DYNARR_ASSERT (   cond,
  msg 
)    (void)0

◆ DG_DYNARR_IMPLEMENTATION

#define DG_DYNARR_IMPLEMENTATION

◆ IDEAL_DELTA_TIME

#define IDEAL_DELTA_TIME   (1.0 / 60.0 * 1000000.0)

Typedef Documentation

◆ menu_animation_t

Function Documentation

◆ easing_in_bounce()

static float easing_in_bounce ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_in_circ()

static float easing_in_circ ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_cubic()

static float easing_in_cubic ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_expo()

static float easing_in_expo ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_bounce()

static float easing_in_out_bounce ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_in_out_circ()

static float easing_in_out_circ ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_cubic()

static float easing_in_out_cubic ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_expo()

static float easing_in_out_expo ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_quad()

static float easing_in_out_quad ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_quart()

static float easing_in_out_quart ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_quint()

static float easing_in_out_quint ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_out_sine()

static float easing_in_out_sine ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_quad()

static float easing_in_quad ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_quart()

static float easing_in_quart ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_quint()

static float easing_in_quint ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_in_sine()

static float easing_in_sine ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_linear()

static float easing_linear ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_bounce()

static float easing_out_bounce ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_circ()

static float easing_out_circ ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_cubic()

static float easing_out_cubic ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_expo()

static float easing_out_expo ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_in_bounce()

static float easing_out_in_bounce ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_circ()

static float easing_out_in_circ ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_cubic()

static float easing_out_in_cubic ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_expo()

static float easing_out_in_expo ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_quad()

static float easing_out_in_quad ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_quart()

static float easing_out_in_quart ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_quint()

static float easing_out_in_quint ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_in_sine()

static float easing_out_in_sine ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ easing_out_quad()

static float easing_out_quad ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_quart()

static float easing_out_quart ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_quint()

static float easing_out_quint ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ easing_out_sine()

static float easing_out_sine ( float  t,
float  b,
float  c,
float  d 
)
static
Here is the caller graph for this function:

◆ menu_animation_ctl()

bool menu_animation_ctl ( enum menu_animation_ctl_state  state,
void data 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ menu_animation_free()

void menu_animation_free ( void  )
Here is the caller graph for this function:

◆ menu_animation_get_delta_time()

float menu_animation_get_delta_time ( void  )
Here is the caller graph for this function:

◆ menu_animation_get_ideal_delta_time()

bool menu_animation_get_ideal_delta_time ( menu_animation_ctx_delta_t delta)
Here is the caller graph for this function:

◆ menu_animation_init()

void menu_animation_init ( void  )
Here is the caller graph for this function:

◆ menu_animation_is_active()

bool menu_animation_is_active ( void  )
Here is the caller graph for this function:

◆ menu_animation_kill_by_subject()

void menu_animation_kill_by_subject ( menu_animation_ctx_subject_t subject)
Here is the caller graph for this function:

◆ menu_animation_kill_by_tag()

bool menu_animation_kill_by_tag ( menu_animation_ctx_tag tag)
Here is the caller graph for this function:

◆ menu_animation_push()

bool menu_animation_push ( menu_animation_ctx_entry_t entry)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ menu_animation_ticker()

bool menu_animation_ticker ( const menu_animation_ctx_ticker_t ticker)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ menu_animation_ticker_generic()

static void menu_animation_ticker_generic ( uint64_t  idx,
size_t  max_width,
size_t *  offset,
size_t *  width 
)
static
Here is the caller graph for this function:

◆ menu_animation_update()

bool menu_animation_update ( float  delta_time)
Here is the caller graph for this function:

◆ menu_animation_update_time()

void menu_animation_update_time ( bool  timedate_enable)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ menu_timer_kill()

void menu_timer_kill ( menu_timer_t timer)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ menu_timer_start()

void menu_timer_start ( menu_timer_t timer,
menu_timer_ctx_entry_t timer_entry 
)
Here is the call graph for this function:

Variable Documentation

◆ anim

menu_animation_t anim
static

◆ animation_is_active

bool animation_is_active = false
static

◆ cur_time

retro_time_t cur_time = 0
static

◆ delta_time

float delta_time = 0.0f
static

◆ old_time

retro_time_t old_time = 0
static