Blender  V3.3
file_utils.c
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 
7 #include "BLI_fileops.h"
8 #include "BLI_path_util.h"
9 #include "BLI_rect.h"
10 #include "BLI_string.h"
11 
12 #include "BKE_context.h"
13 #include "BLO_readfile.h"
14 
15 #include "ED_fileselect.h"
16 #include "ED_screen.h"
17 
18 #include "WM_types.h"
19 
20 #include "file_intern.h"
21 
22 void file_tile_boundbox(const ARegion *region, FileLayout *layout, const int file, rcti *r_bounds)
23 {
24  int xmin, ymax;
25 
26  ED_fileselect_layout_tilepos(layout, file, &xmin, &ymax);
27  ymax = (int)region->v2d.tot.ymax - ymax; /* real, view space ymax */
28  BLI_rcti_init(r_bounds,
29  xmin,
30  xmin + layout->tile_w + layout->tile_border_x,
31  ymax - layout->tile_h - layout->tile_border_y,
32  ymax);
33 }
34 
35 void file_path_to_ui_path(const char *path, char *r_path, int max_size)
36 {
37  char tmp_path[PATH_MAX];
38  BLI_strncpy(tmp_path, path, sizeof(tmp_path));
39  BLI_path_slash_rstrip(tmp_path);
40  BLI_strncpy(r_path, BLO_has_bfile_extension(tmp_path) ? tmp_path : path, max_size);
41 }
File and directory operations.
#define PATH_MAX
Definition: BLI_fileops.h:29
void BLI_path_slash_rstrip(char *string) ATTR_NONNULL()
Definition: path_util.c:1791
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
Definition: rct.c:417
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t maxncpy) ATTR_NONNULL()
Definition: string.c:64
external readfile function prototypes.
bool BLO_has_bfile_extension(const char *str)
Definition: readfile.c:1497
void ED_fileselect_layout_tilepos(const FileLayout *layout, int tile, int *x, int *y)
Definition: filesel.c:811
FILE * file
void file_tile_boundbox(const ARegion *region, FileLayout *layout, const int file, rcti *r_bounds)
Definition: file_utils.c:22
void file_path_to_ui_path(const char *path, char *r_path, int max_size)
Definition: file_utils.c:35
int tile_border_y
Definition: ED_fileselect.h:64
int tile_border_x
Definition: ED_fileselect.h:63
float ymax
Definition: DNA_vec_types.h:70