ClangFormat: apply to source, most of intern
[blender.git] / source / blender / blenkernel / BKE_cachefile.h
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2016 Blender Foundation.
17  * All rights reserved.
18  */
19
20 #ifndef __BKE_CACHEFILE_H__
21 #define __BKE_CACHEFILE_H__
22
23 /** \file
24  * \ingroup bke
25  */
26
27 #ifdef __cplusplus
28 extern "C" {
29 #endif
30
31 struct CacheFile;
32 struct Depsgraph;
33 struct Main;
34 struct Scene;
35
36 void BKE_cachefiles_init(void);
37 void BKE_cachefiles_exit(void);
38
39 void *BKE_cachefile_add(struct Main *bmain, const char *name);
40
41 void BKE_cachefile_init(struct CacheFile *cache_file);
42
43 void BKE_cachefile_free(struct CacheFile *cache_file);
44
45 void BKE_cachefile_copy_data(struct Main *bmain,
46                              struct CacheFile *cache_file_dst,
47                              const struct CacheFile *cache_file_src,
48                              const int flag);
49 struct CacheFile *BKE_cachefile_copy(struct Main *bmain, const struct CacheFile *cache_file);
50
51 void BKE_cachefile_make_local(struct Main *bmain,
52                               struct CacheFile *cache_file,
53                               const bool lib_local);
54
55 void BKE_cachefile_reload(const struct Main *bmain, struct CacheFile *cache_file);
56
57 void BKE_cachefile_ensure_handle(const struct Main *bmain, struct CacheFile *cache_file);
58
59 void BKE_cachefile_update_frame(struct Main *bmain,
60                                 struct Depsgraph *depsgraph,
61                                 struct Scene *scene,
62                                 const float ctime,
63                                 const float fps);
64
65 bool BKE_cachefile_filepath_get(const struct Main *bmain,
66                                 const struct CacheFile *cache_file,
67                                 float frame,
68                                 char r_filename[1024]);
69
70 float BKE_cachefile_time_offset(struct CacheFile *cache_file, const float time, const float fps);
71
72 void BKE_cachefile_clean(struct Main *bmain, struct CacheFile *cache_file);
73
74 #ifdef __cplusplus
75 }
76 #endif
77
78 #endif /* __BKE_CACHEFILE_H__ */