42 #include "RNA_prototypes.h"
72 "File select parameters not set. The caller is expected to check this.");
115 char *dyn_tooltip = argN;
134 const rcti *tile_draw_rect,
143 const int x = tile_draw_rect->
xmin;
147 const float a1 = dimmed ? 1.0f : 0.0f;
148 const float a2 = dimmed ? 0.3f : 0.0f;
150 block,
UI_BTYPE_LABEL, 0, icon,
x,
y,
width,
height,
NULL, 0.0f, 0.0f, a1, a2,
NULL);
201 if (
string[0] ==
'\0' ||
width < 1) {
238 const uchar text_col[4],
250 int len = strlen(
string);
274 .align = UI_STYLE_TEXT_LEFT,
284 *r_sy = rect.
ymin + line_height;
301 const rcti *tile_draw_rect,
302 const float icon_aspect,
315 float ui_imbx, ui_imby;
316 float scaledx, scaledy;
319 bool show_outline = !is_icon &&
328 if (((ui_imbx > layout->
prv_w) || (ui_imby > layout->
prv_h)) ||
329 (!is_icon && ((ui_imbx < layout->prv_w) || (ui_imby < layout->prv_h)))) {
330 if (imb->
x > imb->
y) {
332 scaledy = ((
float)imb->
y / (
float)imb->
x) * layout->
prv_w;
333 scale = scaledx / imb->
x;
337 scaledx = ((
float)imb->
x / (
float)imb->
y) * layout->
prv_h;
338 scale = scaledy / imb->
y;
349 fx = ((
float)layout->
prv_w - (
float)ex) / 2.0f;
350 fy = ((
float)layout->
prv_h - (
float)ey) / 2.0f;
353 xco = tile_draw_rect->
xmin + (int)dx;
354 yco = tile_draw_rect->
ymax - layout->
prv_h + (int)dy;
360 float col[4] = {1.0f, 1.0f, 1.0f, 1.0f};
399 if (icon && is_icon) {
401 float icon_x, icon_y;
402 const float icon_size = 16.0f / icon_aspect *
U.dpi_fac;
403 float icon_opacity = 0.3f;
404 uchar icon_color[4] = {0, 0, 0, 255};
412 icon_x = xco + (ex / 2.0f) - (icon_size / 2.0f);
413 icon_y = yco + (ey / 2.0f) - (icon_size * ((
file->typeflag &
FILE_TYPE_DIR) ? 0.78f : 0.75f));
415 icon_x, icon_y, icon, icon_aspect /
U.dpi_fac, icon_opacity, 0.0f, icon_color,
false);
418 if (is_link || is_offline) {
420 float icon_x, icon_y;
423 const int arrow = is_link ? ICON_LOOP_FORWARDS : ICON_URL;
426 const uchar dark[4] = {0, 0, 0, 255};
427 const uchar light[4] = {255, 255, 255, 255};
428 UI_icon_draw_ex(icon_x + 1, icon_y - 1, arrow, 1.0f /
U.dpi_fac, 0.2f, 0.0f, dark,
false);
429 UI_icon_draw_ex(icon_x, icon_y, arrow, 1.0f /
U.dpi_fac, 0.6f, 0.0f, light,
false);
438 icon_x, icon_y, arrow, icon_aspect /
U.dpi_fac * 1.8, 0.3f, 0.0f, icon_color,
false);
443 float icon_x, icon_y;
444 const uchar dark[4] = {0, 0, 0, 255};
445 const uchar light[4] = {255, 255, 255, 255};
448 UI_icon_draw_ex(icon_x + 1, icon_y - 1, icon, 1.0f /
U.dpi_fac, 0.2f, 0.0f, dark,
false);
449 UI_icon_draw_ex(icon_x, icon_y, icon, 1.0f /
U.dpi_fac, 0.6f, 0.0f, light,
false);
453 if (is_current_main_data) {
456 float icon_x, icon_y;
457 const uchar light[4] = {255, 255, 255, 255};
460 UI_icon_draw_ex(icon_x, icon_y, ICON_CURRENT_FILE, 1.0f /
U.dpi_fac, 0.6f, 0.0f, light,
false);
468 float border_color[4] = {1.0f, 1.0f, 1.0f, 0.4f};
472 border_color[0] = 0.0f;
473 border_color[1] = 0.0f;
474 border_color[2] = 0.0f;
482 rcti drag_rect = *tile_draw_rect;
553 if (!
STREQ(orgname, newname)) {
586 float col_alternating[4];
591 for (i = 2; (i <= layout->
rows + 1); i += 2) {
615 while (sx < v2d->cur.xmax) {
620 if (vertex_len > 0) {
622 uchar col_hi[3], col_lo[3];
639 while (sx < v2d->cur.xmax) {
679 const uchar text_col[4])
750 const bool small_size,
751 const bool update_stat_strings)
756 if ((
file->draw_data.datetime_str[0] ==
'\0') || update_stat_strings) {
758 bool is_today, is_yesterday;
761 NULL,
file->time, small_size,
time, date, &is_today, &is_yesterday);
763 if (is_today || is_yesterday) {
764 BLI_strncpy(date, is_today ?
N_(
"Today") :
N_(
"Yesterday"),
sizeof(date));
767 sizeof(
file->draw_data.datetime_str),
773 return file->draw_data.datetime_str;
779 if ((
file->draw_data.size_str[0] ==
'\0') || update_stat_strings) {
781 NULL,
file->size, small_size,
file->draw_data.size_str);
784 return file->draw_data.size_str;
797 const rcti *tile_draw_rect,
798 const uchar text_col[4])
818 column_type,
file, small_size, update_stat_strings);
840 int tile_pos_x, tile_pos_y;
842 tile_pos_x += (int)(v2d->
tot.
xmin);
843 tile_pos_y = (int)(v2d->
tot.
ymax - tile_pos_y);
846 rect.
xmin = tile_pos_x + padx;
848 layout->
tile_w - (2 * padx) :
850 rect.
ymax = tile_pos_y;
872 int textwidth, textheight;
879 const float thumb_icon_aspect =
MIN2(64.0f / (
float)(
params->thumbnail_size), 1.0f);
898 numfiles_layout += layout->
rows;
909 textheight = (int)(layout->
textheight * 3.0 / 2.0 + 0.5);
915 files,
min_ii(
offset + (numfiles_layout / 2), numfiles - 1));
945 for (i =
offset; (i < numfiles) && (i <
offset + numfiles_layout); i++) {
966 rcti tile_bg_rect = tile_draw_rect;
1026 tile_draw_rect.
xmin + icon_ofs,
1032 (
float)
sizeof(
params->renamefile),
1059 tile_draw_rect.
xmin + 1 + icon_ofs;
1080 if (draw_columnheader) {
1108 const char *message =
TIP_(
"Path to asset library does not exist:");
1116 sy -= line_height * 2.2f;
1121 const char *suggestion =
TIP_(
1122 "Asset Libraries are local directories that can contain .blend files with assets inside.\n"
1123 "Manage Asset Libraries from the File Paths section in Preferences");
1130 "SCREEN_OT_userpref_show",
1150 const char *blendfile_path,
1165 const char *message =
TIP_(
"Unreadable Blender library file:");
1173 sy -= line_height * 2.2f;
1176 const short report_type = report->type;
1181 int icon = ICON_INFO;
1189 TIP_(report->message),
1203 const bool is_library_browser = !is_asset_browser &&
1206 if (is_asset_browser) {
1218 if (is_library_browser) {
typedef float(TangentPoint)[2]
IMMDrawPixelsTexState immDrawPixelsTexSetup(int builtin)
void immDrawPixelsTexTiled_scaling(IMMDrawPixelsTexState *state, float x, float y, int img_w, int img_h, eGPUTextureFormat gpu_format, bool use_filter, void *rect, float scaleX, float scaleY, float xzoom, float yzoom, const float color[4])
bool BKE_blendfile_is_readable(const char *path, struct ReportList *reports)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct SpaceLink * CTX_wm_space_data(const bContext *C)
struct ARegion * CTX_wm_region(const bContext *C)
struct SpaceFile * CTX_wm_space_file(const bContext *C)
struct wmWindow * CTX_wm_window(const bContext *C)
void BKE_reports_clear(ReportList *reports)
void BLF_disable(int fontid, int option)
void BLF_batch_draw_begin(void)
void BLF_enable(int fontid, int option)
void BLF_batch_draw_end(void)
void BLF_wordwrap(int fontid, int wrap_width)
void BLF_boundbox(int fontid, const char *str, size_t str_len, struct rcti *box) ATTR_NONNULL()
#define BLI_assert_msg(a, msg)
int BLI_exists(const char *path) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL()
#define FILE_ATTR_ANY_LINK
void BLI_filelist_entry_size_to_string(const struct stat *st, uint64_t st_size_fallback, bool compact, char r_size[FILELIST_DIRENTRY_SIZE_LEN])
int BLI_rename(const char *from, const char *to) ATTR_NONNULL()
void BLI_filelist_entry_datetime_to_string(const struct stat *st, int64_t ts, bool compact, char r_time[FILELIST_DIRENTRY_TIME_LEN], char r_date[FILELIST_DIRENTRY_DATE_LEN], bool *r_is_today, bool *r_is_yesterday)
Some types for dealing with directories.
#define FILELIST_DIRENTRY_DATE_LEN
#define FILELIST_DIRENTRY_TIME_LEN
#define LISTBASE_FOREACH(type, var, list)
MINLINE int round_fl_to_int(float a)
MINLINE int min_ii(int a, int b)
MINLINE float rgb_to_grayscale(const float rgb[3])
void rgba_uchar_to_float(float r_col[4], const unsigned char col_ub[4])
#define FILENAME_IS_CURRPAR(_n)
bool BLI_filename_make_safe(char *fname) ATTR_NONNULL(1)
void BLI_join_dirfile(char *__restrict dst, size_t maxlen, const char *__restrict dir, const char *__restrict file) ATTR_NONNULL()
BLI_INLINE int BLI_rcti_size_y(const struct rcti *rct)
void BLI_rcti_pad(struct rcti *rect, int pad_x, int pad_y)
void BLI_rcti_translate(struct rcti *rect, int x, int y)
BLI_INLINE int BLI_rcti_size_x(const struct rcti *rct)
void BLI_rctf_rcti_copy(struct rctf *dst, const struct rcti *src)
BLI_INLINE float BLI_rctf_size_x(const struct rctf *rct)
char * BLI_strdup(const char *str) ATTR_WARN_UNUSED_RESULT ATTR_NONNULL() ATTR_MALLOC
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
#define UNUSED_VARS_NDEBUG(...)
Compatibility-like things for windows.
external readfile function prototypes.
bool BLO_library_path_explode(const char *path, char *r_dir, char **r_group, char **r_name)
@ FILE_TYPE_BLENDER_BACKUP
@ FILE_BROWSE_MODE_ASSETS
#define FILE_MAX_LIBEXTRA
@ USER_SECTION_FILE_PATHS
struct FileAssetSelectParams * ED_fileselect_get_asset_params(const struct SpaceFile *sfile)
int ED_fileselect_layout_offset(FileLayout *layout, int x, int y)
void ED_fileselect_clear(struct wmWindowManager *wm, struct SpaceFile *sfile)
bool ED_fileselect_is_asset_browser(const struct SpaceFile *sfile)
int ED_fileselect_layout_numfiles(FileLayout *layout, struct ARegion *region)
struct FileSelectParams * ED_fileselect_get_active_params(const struct SpaceFile *sfile)
void ED_fileselect_init_layout(struct SpaceFile *sfile, struct ARegion *region)
FileLayout * ED_fileselect_get_layout(struct SpaceFile *sfile, struct ARegion *region)
void ED_fileselect_layout_tilepos(const FileLayout *layout, int tile, int *x, int *y)
void ED_region_tag_redraw(struct ARegion *region)
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint y
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei GLsizei GLenum type _GL_VOID_RET _GL_VOID GLsizei GLenum GLenum const void *pixels _GL_VOID_RET _GL_VOID const void *pointer _GL_VOID_RET _GL_VOID GLdouble v _GL_VOID_RET _GL_VOID GLfloat v _GL_VOID_RET _GL_VOID GLint GLint i2 _GL_VOID_RET _GL_VOID GLint j _GL_VOID_RET _GL_VOID GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble GLdouble GLdouble zFar _GL_VOID_RET _GL_UINT GLdouble *equation _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLenum GLfloat *v _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLfloat *values _GL_VOID_RET _GL_VOID GLushort *values _GL_VOID_RET _GL_VOID GLenum GLfloat *params _GL_VOID_RET _GL_VOID GLenum GLdouble *params _GL_VOID_RET _GL_VOID GLenum GLint *params _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_VOID GLsizei const void *pointer _GL_VOID_RET _GL_BOOL GLfloat param _GL_VOID_RET _GL_VOID GLint param _GL_VOID_RET _GL_VOID GLenum GLfloat param _GL_VOID_RET _GL_VOID GLenum GLint param _GL_VOID_RET _GL_VOID GLushort pattern _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint const GLdouble *points _GL_VOID_RET _GL_VOID GLdouble GLdouble GLint GLint GLdouble v1
@ GPU_SHADER_2D_UNIFORM_COLOR
@ GPU_SHADER_2D_IMAGE_COLOR
@ GPU_SHADER_2D_FLAT_COLOR
@ GPU_BLEND_ALPHA_PREMULT
void GPU_blend(eGPUBlend blend)
Contains defines and structs used throughout the imbuf module.
Read Guarded memory(de)allocation.
Group Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position Clamp a value between a minimum and a maximum Vector Perform vector math operation Invert a color
void UI_but_flag_disable(uiBut *but, int flag)
uiBut * uiDefIconBut(uiBlock *block, int type, int retval, int icon, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
void UI_draw_icon_tri(float x, float y, char dir, const float[4])
uiBut * uiDefBut(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, void *poin, float min, float max, float a1, float a2, const char *tip)
void UI_but_func_tooltip_set(uiBut *but, uiButToolTipFunc func, void *arg, uiFreeArgFunc free_arg)
struct PointerRNA * UI_but_operator_ptr_get(uiBut *but)
void UI_fontstyle_draw_ex(const struct uiFontStyle *fs, const struct rcti *rect, const char *str, size_t str_len, const uchar col[4], const struct uiFontStyleDraw_Params *fs_params, int *r_xofs, int *r_yofs, struct ResultBLF *r_info)
const struct uiStyle * UI_style_get(void)
bool UI_but_is_utf8(const uiBut *but)
void UI_draw_roundbox_corner_set(int type)
float UI_text_clip_middle_ex(const struct uiFontStyle *fstyle, char *str, float okwidth, float minwidth, size_t max_len, char rpart_sep)
void UI_but_drag_set_id(uiBut *but, struct ID *id)
void UI_but_drag_set_image(uiBut *but, const char *path, int icon, struct ImBuf *imb, float scale, bool use_free)
void UI_block_end(const struct bContext *C, uiBlock *block)
uiBut * uiDefButR(uiBlock *block, int type, int retval, const char *str, int x, int y, short width, short height, struct PointerRNA *ptr, const char *propname, int index, float min, float max, float a1, float a2, const char *tip)
void UI_but_drag_set_path(uiBut *but, const char *path, bool use_free)
uiBut * uiDefIconTextButO(uiBlock *block, int type, const char *opname, wmOperatorCallContext opcontext, int icon, const char *str, int x, int y, short width, short height, const char *tip)
void UI_block_draw(const struct bContext *C, struct uiBlock *block)
void UI_block_func_set(uiBlock *block, uiButHandleFunc func, void *arg1, void *arg2)
bool UI_but_active_only(const struct bContext *C, struct ARegion *region, uiBlock *block, uiBut *but)
void UI_but_func_rename_set(uiBut *but, uiButHandleRenameFunc func, void *arg1)
void UI_fontstyle_draw(const struct uiFontStyle *fs, const struct rcti *rect, const char *str, size_t str_len, const uchar col[4], const struct uiFontStyleDraw_Params *fs_params)
void UI_draw_roundbox_aa(const struct rctf *rect, bool filled, float rad, const float color[4])
uiBlock * UI_block_begin(const struct bContext *C, struct ARegion *region, const char *name, eUIEmbossType emboss)
void UI_but_drag_set_asset(uiBut *but, const struct AssetHandle *asset, const char *path, struct AssetMetaData *metadata, int import_type, int icon, struct ImBuf *imb, float scale)
void UI_but_drag_attach_image(uiBut *but, struct ImBuf *imb, float scale)
void UI_but_func_complete_set(uiBut *but, uiButCompleteFunc func, void *arg)
void UI_but_funcN_set(uiBut *but, uiButHandleNFunc funcN, void *argN, void *arg2)
void UI_but_flag_enable(uiBut *but, int flag)
bool UI_but_flag_is_set(uiBut *but, int flag)
void UI_icon_draw(float x, float y, int icon_id)
void UI_icon_draw_ex(float x, float y, int icon_id, float aspect, float alpha, float desaturate, const uchar mono_color[4], bool mono_border)
#define ICON_DEFAULT_WIDTH_SCALE
#define ICON_DEFAULT_HEIGHT_SCALE
void UI_GetThemeColor4fv(int colorid, float col[4])
void UI_GetThemeColorShade4fv(int colorid, int offset, float col[4])
void UI_GetThemeColorShade3ubv(int colorid, int offset, unsigned char col[3])
void UI_GetThemeColor4ubv(int colorid, unsigned char col[4])
void UI_view2d_totRect_set(struct View2D *v2d, int width, int height)
#define ND_SPACE_FILE_PREVIEW
#define ND_SPACE_FILE_PARAMS
int pad[32 - sizeof(int)]
ATTR_WARN_UNUSED_RESULT const BMVert * v2
static void draw_dividers(FileLayout *layout, View2D *v2d)
static void draw_details_columns(const FileSelectParams *params, const FileLayout *layout, FileDirEntry *file, const rcti *tile_draw_rect, const uchar text_col[4])
void file_calc_previews(const bContext *C, ARegion *region)
static void renamebutton_cb(bContext *C, void *UNUSED(arg1), char *oldname)
static void file_draw_invalid_asset_library_hint(const bContext *C, const SpaceFile *sfile, ARegion *region, FileAssetSelectParams *asset_params)
static void draw_tile_background(const rcti *draw_rect, int colorid, int shade)
static void draw_columnheader_columns(const FileSelectParams *params, FileLayout *layout, const View2D *v2d, const uchar text_col[4])
static void file_draw_string_multiline(int sx, int sy, const char *string, int wrap_width, int line_height, const uchar text_col[4], int *r_sx, int *r_sy)
static void file_draw_invalid_library_hint(const bContext *UNUSED(C), const SpaceFile *sfile, ARegion *region, const char *blendfile_path, ReportList *reports)
bool file_draw_hint_if_invalid(const bContext *C, const SpaceFile *sfile, ARegion *region)
static char * file_draw_tooltip_func(bContext *UNUSED(C), void *argN, const char *UNUSED(tip))
static rcti tile_draw_rect_get(const View2D *v2d, const FileLayout *layout, const enum eFileDisplayType display, const int file_idx, const int padx)
static void draw_columnheader_background(const FileLayout *layout, const View2D *v2d)
void ED_file_path_button(bScreen *screen, const SpaceFile *sfile, FileSelectParams *params, uiBlock *block)
static void draw_background(FileLayout *layout, View2D *v2d)
static const char * filelist_get_details_column_string(FileAttributeColumnType column, FileDirEntry *file, const bool small_size, const bool update_stat_strings)
static void file_draw_string(int sx, int sy, const char *string, float width, int height, eFontStyle_Align align, const uchar col[4])
static void file_draw_preview(const SpaceFile *sfile, uiBlock *block, const FileDirEntry *file, const char *path, const rcti *tile_draw_rect, const float icon_aspect, ImBuf *imb, const int icon, FileLayout *layout, const bool is_icon, const bool drag, const bool dimmed, const bool is_link)
void file_draw_list(const bContext *C, ARegion *region)
static void file_draw_icon(const SpaceFile *sfile, uiBlock *block, const FileDirEntry *file, const char *path, const rcti *tile_draw_rect, int icon, int width, int height, bool drag, bool dimmed)
int autocomplete_directory(struct bContext *C, char *str, void *arg_v)
void file_params_invoke_rename_postscroll(struct wmWindowManager *wm, struct wmWindow *win, SpaceFile *sfile)
#define SMALL_SIZE_CHECK(_size)
void file_directory_enter_handle(bContext *C, void *arg_unused, void *arg_but)
#define ATTRIBUTE_COLUMN_PADDING
void file_path_to_ui_path(const char *path, char *r_pathi, int max_size)
bool file_attribute_column_type_enabled(const FileSelectParams *params, FileAttributeColumnType column)
void file_params_rename_end(struct wmWindowManager *wm, struct wmWindow *win, SpaceFile *sfile, struct FileDirEntry *rename_file)
void file_draw_check_cb(bContext *C, void *arg1, void *arg2)
ImBuf * filelist_geticon_image(struct FileList *filelist, const int index)
int filelist_files_num_entries(FileList *filelist)
bool filelist_is_ready(struct FileList *filelist)
int filelist_geticon(struct FileList *filelist, const int index, const bool is_main)
bool filelist_islibrary(struct FileList *filelist, char *dir, char **r_group)
bool filelist_cache_previews_running(FileList *filelist)
BlendHandle * filelist_lib(struct FileList *filelist)
bool filelist_cache_previews_done(FileList *filelist)
ID * filelist_file_get_id(const FileDirEntry *file)
bool filelist_cache_previews_update(FileList *filelist)
bool filelist_file_cache_block(struct FileList *filelist, const int index)
void filelist_file_cache_slidingwindow_set(FileList *filelist, size_t window_size)
FileDirEntry * filelist_file(struct FileList *filelist, int index)
int filelist_files_ensure(FileList *filelist)
ImBuf * filelist_getimage(struct FileList *filelist, const int index)
ImBuf * filelist_file_getimage(const FileDirEntry *file)
bool filelist_is_dir(struct FileList *filelist, const char *path)
uint filelist_entry_select_get(FileList *filelist, FileDirEntry *entry, FileCheckType check)
const char * filelist_dir(struct FileList *filelist)
ccl_gpu_kernel_postfix ccl_global float int int sy
ccl_gpu_kernel_postfix ccl_global float int int int int float bool int offset
ccl_gpu_kernel_postfix ccl_global float int sx
void(* MEM_freeN)(void *vmemh)
void RNA_pointer_create(ID *id, StructRNA *type, void *data, PointerRNA *r_ptr)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
AssetLibraryReference asset_library_ref
FileSelectParams base_params
FileAttributeColumn attribute_columns[ATTRIBUTE_COLUMN_MAX]
int attribute_column_header_h
ReportList is_blendfile_readable_reports
bool is_blendfile_readable
bool is_blendfile_status_set
struct FileLayout * layout
struct wmTimer * previews_timer
SpaceFile_Runtime * runtime
int wrap_width(const struct SpaceText *st, struct ARegion *region)
void WM_event_add_notifier_ex(wmWindowManager *wm, const wmWindow *win, uint type, void *reference)
void WM_report_banner_show(void)
void WM_reportf(eReportType type, const char *format,...)
wmTimer * WM_event_add_timer_notifier(wmWindowManager *wm, wmWindow *win, unsigned int type, double timestep)
void WM_event_remove_timer_notifier(wmWindowManager *wm, wmWindow *win, wmTimer *timer)