Blender V4.3
file_utils.cc
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
9#include "BLI_path_utils.hh"
10#include "BLI_rect.h"
11#include "BLI_string.h"
12
13#include "BKE_blendfile.hh"
14
15#include "ED_fileselect.hh"
16
17#include "file_intern.hh"
18
19void file_tile_boundbox(const ARegion *region, FileLayout *layout, const int file, rcti *r_bounds)
20{
21 int xmin, ymax;
22
23 ED_fileselect_layout_tilepos(layout, file, &xmin, &ymax);
24 ymax = int(region->v2d.tot.ymax) - ymax; /* real, view space ymax */
25 BLI_rcti_init(r_bounds,
26 xmin,
27 xmin + layout->tile_w + layout->tile_border_x,
28 ymax - layout->tile_h - layout->tile_border_y,
29 ymax);
30}
31
32void file_path_to_ui_path(const char *path, char *r_path, int r_path_maxncpy)
33{
34 char tmp_path[FILE_MAX_LIBEXTRA];
35 STRNCPY(tmp_path, path);
36 BLI_path_slash_rstrip(tmp_path);
37 BLI_strncpy(r_path, BKE_blendfile_extension_check(tmp_path) ? tmp_path : path, r_path_maxncpy);
38}
bool BKE_blendfile_extension_check(const char *str)
Definition blendfile.cc:83
void BLI_path_slash_rstrip(char *path) ATTR_NONNULL(1)
void BLI_rcti_init(struct rcti *rect, int xmin, int xmax, int ymin, int ymax)
Definition rct.c:418
#define STRNCPY(dst, src)
Definition BLI_string.h:593
char * BLI_strncpy(char *__restrict dst, const char *__restrict src, size_t dst_maxncpy) ATTR_NONNULL(1
#define FILE_MAX_LIBEXTRA
void ED_fileselect_layout_tilepos(const FileLayout *layout, int tile, int *x, int *y)
Definition filesel.cc:874
draw_view push_constant(Type::INT, "radiance_src") .push_constant(Type capture_info_buf storage_buf(1, Qualifier::READ, "ObjectBounds", "bounds_buf[]") .push_constant(Type draw_view int
void file_tile_boundbox(const ARegion *region, FileLayout *layout, const int file, rcti *r_bounds)
Definition file_utils.cc:19
void file_path_to_ui_path(const char *path, char *r_path, int r_path_maxncpy)
Definition file_utils.cc:32