RetroArch
menu_animation.h
Go to the documentation of this file.
1 /* RetroArch - A frontend for libretro.
2  * Copyright (C) 2014-2017 - Jean-AndrĂ© Santoni
3  * Copyright (C) 2011-2017 - Daniel De Matteis
4  *
5  * RetroArch is free software: you can redistribute it and/or modify it under the terms
6  * of the GNU General Public License as published by the Free Software Found-
7  * ation, either version 3 of the License, or (at your option) any later version.
8  *
9  * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
10  * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11  * PURPOSE. See the GNU General Public License for more details.
12  *
13  * You should have received a copy of the GNU General Public License along with RetroArch.
14  * If not, see <http://www.gnu.org/licenses/>.
15  */
16 
17 #ifndef _MENU_ANIMATION_H
18 #define _MENU_ANIMATION_H
19 
20 #include <stdint.h>
21 #include <stdlib.h>
22 
23 #include <boolean.h>
24 #include <retro_common_api.h>
25 
27 
28 typedef float (*easing_cb) (float, float, float, float);
29 typedef void (*tween_cb) (void*);
30 
32 {
37 };
38 
40 {
41  /* Linear */
43  /* Quad */
48  /* Cubic */
53  /* Quart */
58  /* Quint */
63  /* Sine */
68  /* Expo */
73  /* Circ */
78  /* Bounce */
83 
85 };
86 
88 {
89  float current;
90  float ideal;
92 
94 
96 {
97  size_t count;
98  const void *data;
100 
102 {
105  float duration;
107  float *subject;
109  void *userdata;
111 
113 {
114  bool selected;
115  size_t len;
117  char *s;
118  const char *str;
120 
121 typedef float menu_timer_t;
122 
123 typedef struct menu_timer_ctx_entry
124 {
125  float duration;
127  void *userdata;
129 
131 
133 
134 void menu_animation_init(void);
135 
136 void menu_animation_free(void);
137 
139 
141 
143 
144 void menu_animation_update_time(bool timedate_enable);
145 
146 bool menu_animation_is_active(void);
147 
149 
151 
153 
155 
157 
159 
160 #endif
struct menu_timer_ctx_entry menu_timer_ctx_entry_t
Definition: btstack_hid.c:110
menu_animation_ctl_state
Definition: menu_animation.h:31
_W64 unsigned int uintptr_t
Definition: stdint.h:165
Definition: menu_animation.h:51
static const unsigned char tag[MAX_TESTS *3][16]
Definition: gcm.c:696
#define RETRO_BEGIN_DECLS
Definition: retro_common_api.h:41
char * s
Definition: menu_animation.h:117
Definition: menu_animation.h:70
uintptr_t tag
Definition: menu_animation.h:104
void menu_animation_kill_by_subject(menu_animation_ctx_subject_t *subject)
Definition: menu_animation.c:634
Definition: menu_animation.h:50
tween_cb cb
Definition: menu_animation.h:126
void menu_animation_init(void)
Definition: menu_animation.c:324
tween_cb cb
Definition: menu_animation.h:108
enum menu_animation_easing_type easing_enum
Definition: menu_animation.h:103
static float delta_time
Definition: menu_animation.c:68
Definition: menu_animation.h:36
typedef void(__stdcall *PFN_DESTRUCTION_CALLBACK)(void *pData)
Definition: menu_animation.h:62
Definition: menu_animation.h:123
Definition: ibxm.h:9
menu_animation_easing_type
Definition: menu_animation.h:39
Definition: menu_animation.h:66
Definition: menu_animation.h:60
Definition: menu_animation.h:47
Definition: menu_animation.h:75
struct menu_animation_ctx_delta menu_animation_ctx_delta_t
Definition: menu_animation.h:64
bool selected
Definition: menu_animation.h:114
Definition: menu_animation.h:87
Definition: menu_animation.h:79
const char * str
Definition: menu_animation.h:118
Definition: menu_animation.h:112
Definition: menu_animation.h:77
bool menu_animation_kill_by_tag(menu_animation_ctx_tag *tag)
Definition: menu_animation.c:606
void menu_animation_update_time(bool timedate_enable)
Definition: menu_animation.c:579
bool menu_animation_get_ideal_delta_time(menu_animation_ctx_delta_t *delta)
Definition: menu_animation.c:571
Definition: menu_animation.h:52
void * userdata
Definition: menu_animation.h:127
void(* tween_cb)(void *)
Definition: menu_animation.h:29
size_t count
Definition: menu_animation.h:97
struct menu_animation_ctx_ticker menu_animation_ctx_ticker_t
void menu_timer_start(menu_timer_t *timer, menu_timer_ctx_entry_t *timer_entry)
Definition: menu_animation.c:707
static uint64_t state[MAX_PADS]
Definition: xenon360_input.c:33
struct menu_animation_ctx_subject menu_animation_ctx_subject_t
float current
Definition: menu_animation.h:89
Definition: menu_animation.h:49
Definition: menu_animation.h:55
#define RETRO_END_DECLS
Definition: retro_common_api.h:42
Definition: menu_animation.h:84
Definition: menu_animation.h:54
void * userdata
Definition: menu_animation.h:109
Definition: menu_animation.h:101
struct menu_animation_ctx_entry menu_animation_ctx_entry_t
Definition: menu_animation.h:76
Definition: menu_animation.h:71
const void * data
Definition: menu_animation.h:98
float * subject
Definition: menu_animation.h:107
Definition: menu_animation.h:67
float menu_animation_get_delta_time(void)
Definition: menu_animation.c:665
Definition: menu_animation.h:81
bool menu_animation_ctl(enum menu_animation_ctl_state state, void *data)
Definition: menu_animation.c:670
bool menu_animation_is_active(void)
Definition: menu_animation.c:601
bool menu_animation_ticker(const menu_animation_ctx_ticker_t *ticker)
Definition: menu_animation.c:532
float ideal
Definition: menu_animation.h:90
Definition: menu_animation.h:61
void menu_timer_kill(menu_timer_t *timer)
Definition: menu_animation.c:727
Definition: menu_animation.h:95
Definition: menu_animation.h:34
float duration
Definition: menu_animation.h:105
Definition: menu_animation.h:44
Definition: menu_animation.h:57
float target_value
Definition: menu_animation.h:106
float menu_timer_t
Definition: menu_animation.h:121
Definition: menu_animation.h:33
size_t len
Definition: menu_animation.h:115
Definition: menu_animation.h:59
float duration
Definition: menu_animation.h:125
void menu_animation_free(void)
Definition: menu_animation.c:330
uint64_t idx
Definition: menu_animation.h:116
bool menu_animation_update(float delta_time)
Definition: menu_animation.c:476
Definition: menu_animation.h:82
Definition: menu_animation.h:74
Definition: menu_animation.h:46
Definition: menu_animation.h:72
Definition: menu_animation.h:80
unsigned __int64 uint64_t
Definition: stdint.h:136
Definition: menu_animation.h:45
Definition: menu_animation.h:35
RETRO_BEGIN_DECLS typedef float(* easing_cb)(float, float, float, float)
Definition: menu_animation.h:28
Definition: menu_animation.h:69
Definition: menu_animation.h:56
Definition: menu_animation.h:65
Definition: menu_animation.h:42
bool menu_animation_push(menu_animation_ctx_entry_t *entry)
Definition: menu_animation.c:336
uintptr_t menu_animation_ctx_tag
Definition: menu_animation.h:93