Blender V4.3
filelist.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2007 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#pragma once
10
12struct bContext;
13struct BlendHandle;
14struct FileIndexerType;
15struct FileList;
16struct FileSelection;
17struct ID;
18struct ImBuf;
19struct bUUID;
20struct wmWindowManager;
21namespace blender::asset_system {
22class AssetLibrary;
23class AssetRepresentation;
24} // namespace blender::asset_system
25
26struct FileDirEntry;
27
29
35
41
42void filelist_setsorting(FileList *filelist, short sort, bool invert_sort);
43void filelist_sort(FileList *filelist);
44
46 bool do_filter,
47 bool hide_dot,
48 bool hide_parent,
49 uint64_t filter,
50 uint64_t filter_id,
51 bool filter_assets_only,
52 const char *filter_glob,
53 const char *filter_search);
59void filelist_setindexer(FileList *filelist, const FileIndexerType *indexer);
65 FileList *filelist,
67 const bUUID *catalog_id);
69void filelist_filter(FileList *filelist);
73void filelist_setlibrary(FileList *filelist, const AssetLibraryReference *asset_library_ref);
74
77void filelist_file_get_full_path(const FileList *filelist,
78 const FileDirEntry *file,
79 char r_filepath[/*FILE_MAX_LIBEXTRA*/]);
80bool filelist_file_is_preview_pending(const FileList *filelist, const FileDirEntry *file);
86ImBuf *filelist_getimage(FileList *filelist, int index);
89ImBuf *filelist_geticon_image(FileList *filelist, int index);
90int filelist_geticon(FileList *filelist, int index, bool is_main);
91
92FileList *filelist_new(short type);
93void filelist_settype(FileList *filelist, short type);
94void filelist_clear(FileList *filelist);
95void filelist_clear_ex(FileList *filelist,
96 bool do_asset_library,
97 bool do_cache,
98 bool do_selection);
104void filelist_free(FileList *filelist);
105
110const char *filelist_dir(const FileList *filelist);
111bool filelist_is_dir(const FileList *filelist, const char *path);
115void filelist_setdir(FileList *filelist, char dirpath[1090 /*FILE_MAX_LIBEXTRA*/]);
116
123int filelist_files_ensure(FileList *filelist);
124int filelist_needs_reading(const FileList *filelist);
135FileDirEntry *filelist_file(FileList *filelist, int index);
136FileDirEntry *filelist_file_ex(FileList *filelist, int index, bool use_request);
137
142int filelist_file_find_path(FileList *filelist, const char *filename);
147int filelist_file_find_id(const FileList *filelist, const ID *id);
155ID *filelist_entry_get_id(const FileList *filelist, int index);
157 const FileList *filelist, const int index);
162const char *filelist_entry_get_relpath(const FileList *filelist, int index);
164void filelist_uid_unset(FileUID *r_uid);
165void filelist_file_cache_slidingwindow_set(FileList *filelist, size_t window_size);
169bool filelist_file_cache_block(FileList *filelist, int index);
170
172
173bool filelist_needs_force_reset(const FileList *filelist);
174void filelist_tag_force_reset(FileList *filelist);
176bool filelist_pending(const FileList *filelist);
178bool filelist_is_ready(const FileList *filelist);
179
180unsigned int filelist_entry_select_set(const FileList *filelist,
181 const FileDirEntry *entry,
184 FileCheckType check);
186 int index,
189 FileCheckType check);
191 FileSelection *sel,
194 FileCheckType check);
196 FileDirEntry *entry,
197 FileCheckType check);
199 int index,
200 FileCheckType check);
201bool filelist_entry_is_selected(FileList *filelist, int index);
208 FileCheckType check);
209
210void filelist_setrecursion(FileList *filelist, int recursion_level);
211
213
214BlendHandle *filelist_lib(FileList *filelist);
218bool filelist_islibrary(FileList *filelist, char *dir, char **r_group);
219void filelist_freelib(FileList *filelist);
220
226
227void filelist_readjob_start(FileList *filelist, int space_notifier, const bContext *C);
230
233bool filelist_cache_previews_enabled(const FileList *filelist);
234void filelist_cache_previews_set(FileList *filelist, bool use_previews);
eFileSel_Params_AssetCatalogVisibility
eDirEntry_SelectFlag
void filelist_set_asset_catalog_filter_options(FileList *filelist, eFileSel_Params_AssetCatalogVisibility catalog_visibility, const bUUID *catalog_id)
void filelist_freelib(FileList *filelist)
Definition filelist.cc:2012
void filelist_tag_force_reset(FileList *filelist)
Definition filelist.cc:2120
bool filelist_file_cache_block(FileList *filelist, int index)
Definition filelist.cc:2420
int filelist_files_num_entries(FileList *filelist)
Definition filelist.cc:2025
bool filelist_islibrary(FileList *filelist, char *dir, char **r_group)
Definition filelist.cc:3037
const char * filelist_dir(const FileList *filelist)
Definition filelist.cc:2075
BlendHandle * filelist_lib(FileList *filelist)
Definition filelist.cc:2020
void filelist_tag_needs_filtering(FileList *filelist)
Definition filelist.cc:947
FileDirEntry * filelist_file_ex(FileList *filelist, int index, bool use_request)
Definition filelist.cc:2221
void filelist_readjob_start(FileList *filelist, int space_notifier, const bContext *C)
Definition filelist.cc:4265
blender::asset_system::AssetLibrary * filelist_asset_library(FileList *filelist)
Definition filelist.cc:2007
bool filelist_needs_force_reset(const FileList *filelist)
Definition filelist.cc:2115
bool filelist_file_is_preview_pending(const FileList *filelist, const FileDirEntry *file)
Definition filelist.cc:1160
void filelist_setrecursion(FileList *filelist, int recursion_level)
Definition filelist.cc:2102
void filelist_clear_from_reset_tag(FileList *filelist)
Definition filelist.cc:1970
void filelist_set_no_preview_auto_cache(FileList *filelist)
Definition filelist.cc:2110
uint32_t FileUID
Definition filelist.hh:28
bool filelist_pending(const FileList *filelist)
Definition filelist.cc:2138
bool filelist_cache_previews_running(FileList *filelist)
Definition filelist.cc:2729
void filelist_entry_select_index_set(FileList *filelist, int index, FileSelType select, eDirEntry_SelectFlag flag, FileCheckType check)
Definition filelist.cc:2953
void filelist_free(FileList *filelist)
Definition filelist.cc:1984
void filelist_entry_parent_select_set(FileList *filelist, FileSelType select, eDirEntry_SelectFlag flag, FileCheckType check)
Definition filelist.cc:3027
void filelist_setlibrary(FileList *filelist, const AssetLibraryReference *asset_library_ref)
Definition filelist.cc:1111
void filelist_setfilter_options(FileList *filelist, bool do_filter, bool hide_dot, bool hide_parent, uint64_t filter, uint64_t filter_id, bool filter_assets_only, const char *filter_glob, const char *filter_search)
Definition filelist.cc:1008
void filelist_setdir(FileList *filelist, char dirpath[1090])
bool filelist_cache_previews_done(FileList *filelist)
Definition filelist.cc:2736
void filelist_clear(FileList *filelist)
Definition filelist.cc:1965
int filelist_geticon(FileList *filelist, int index, bool is_main)
Definition filelist.cc:1367
void filelist_free_icons()
Definition filelist.cc:1136
void filelist_clear_ex(FileList *filelist, bool do_asset_library, bool do_cache, bool do_selection)
Definition filelist.cc:1907
void filelist_file_get_full_path(const FileList *filelist, const FileDirEntry *file, char r_filepath[])
Definition filelist.cc:1146
const char * filelist_entry_get_relpath(const FileList *filelist, int index)
Definition filelist.cc:2330
void filelist_cache_previews_ensure_running(FileList *filelist)
Definition filelist.cc:2666
ID * filelist_file_get_id(const FileDirEntry *file)
Definition filelist.cc:2325
bool filelist_file_ensure_preview_requested(FileList *filelist, FileDirEntry *file)
Definition filelist.cc:1168
bool filelist_cache_previews_update(FileList *filelist)
Definition filelist.cc:2671
int filelist_file_find_path(FileList *filelist, const char *filename)
Definition filelist.cc:2270
FileSelType
Definition filelist.hh:30
@ FILE_SEL_REMOVE
Definition filelist.hh:31
@ FILE_SEL_ADD
Definition filelist.hh:32
@ FILE_SEL_TOGGLE
Definition filelist.hh:33
void filelist_settype(FileList *filelist, short type)
Definition filelist.cc:1846
FileList * filelist_new(short type)
Definition filelist.cc:1833
int filelist_file_find_id(const FileList *filelist, const ID *id)
Definition filelist.cc:2290
ImBuf * filelist_file_getimage(const FileDirEntry *file)
Definition filelist.cc:1211
bool filelist_uid_is_set(const FileUID uid)
Definition filelist.cc:2346
void filelist_readjob_stop(FileList *filelist, wmWindowManager *wm)
Definition filelist.cc:4327
void filelist_init_icons()
bool filelist_cache_previews_enabled(const FileList *filelist)
Definition filelist.cc:2636
ID * filelist_entry_get_id(const FileList *filelist, int index)
Definition filelist.cc:2312
int filelist_needs_reading(const FileList *filelist)
Definition filelist.cc:2898
void filelist_file_cache_slidingwindow_set(FileList *filelist, size_t window_size)
Definition filelist.cc:2358
FileCheckType
Definition filelist.hh:36
@ CHECK_FILES
Definition filelist.hh:38
@ CHECK_DIRS
Definition filelist.hh:37
@ CHECK_ALL
Definition filelist.hh:39
void filelist_entries_select_index_range_set(FileList *filelist, FileSelection *sel, FileSelType select, eDirEntry_SelectFlag flag, FileCheckType check)
Definition filelist.cc:2966
ImBuf * filelist_getimage(FileList *filelist, int index)
Definition filelist.cc:1204
void filelist_setsorting(FileList *filelist, short sort, bool invert_sort)
Definition filelist.cc:687
int filelist_readjob_running(FileList *filelist, wmWindowManager *wm)
Definition filelist.cc:4332
void filelist_filter(FileList *filelist)
Definition filelist.cc:952
ImBuf * filelist_geticon_image(FileList *filelist, int index)
Definition filelist.cc:1244
void filelist_tag_force_reset_mainfiles(FileList *filelist)
Definition filelist.cc:2125
bool filelist_is_dir(const FileList *filelist, const char *path)
Definition filelist.cc:2080
bool filelist_needs_reset_on_main_changes(const FileList *filelist)
Definition filelist.cc:2143
int filelist_files_ensure(FileList *filelist)
Definition filelist.cc:2148
void filelist_sort(FileList *filelist)
Definition filelist.cc:651
void filelist_setindexer(FileList *filelist, const FileIndexerType *indexer)
Definition filelist.cc:1063
bool filelist_entry_is_selected(FileList *filelist, int index)
Definition filelist.cc:3014
FileDirEntry * filelist_file(FileList *filelist, int index)
Definition filelist.cc:2265
bool filelist_is_ready(const FileList *filelist)
Definition filelist.cc:2133
eDirEntry_SelectFlag filelist_entry_select_index_get(FileList *filelist, int index, FileCheckType check)
Definition filelist.cc:3001
blender::asset_system::AssetRepresentation * filelist_entry_get_asset_representation(const FileList *filelist, const int index)
Definition filelist.cc:2318
eDirEntry_SelectFlag filelist_entry_select_get(FileList *filelist, FileDirEntry *entry, FileCheckType check)
Definition filelist.cc:2983
void filelist_cache_previews_set(FileList *filelist, bool use_previews)
Definition filelist.cc:2641
void filelist_uid_unset(FileUID *r_uid)
Definition filelist.cc:2353
ImBuf * filelist_geticon_image_ex(const FileDirEntry *file)
Definition filelist.cc:1225
unsigned int filelist_entry_select_set(const FileList *filelist, const FileDirEntry *entry, FileSelType select, const eDirEntry_SelectFlag flag, FileCheckType check)
Definition filelist.cc:2904
ccl_device_inline float4 select(const int4 mask, const float4 a, const float4 b)
unsigned int uint32_t
Definition stdint.h:80
unsigned __int64 uint64_t
Definition stdint.h:90
Definition DNA_ID.h:413
Universally Unique Identifier according to RFC4122.
uint8_t flag
Definition wm_window.cc:138