Blender  V3.3
Functions
file_draw.c File Reference
#include <errno.h>
#include <math.h>
#include <string.h>
#include "MEM_guardedalloc.h"
#include "BLI_alloca.h"
#include "BLI_blenlib.h"
#include "BLI_fileops_types.h"
#include "BLI_math.h"
#include "BLI_utildefines.h"
#include "BIF_glutil.h"
#include "BKE_blendfile.h"
#include "BKE_context.h"
#include "BKE_report.h"
#include "BLO_readfile.h"
#include "BLT_translation.h"
#include "BLF_api.h"
#include "IMB_imbuf_types.h"
#include "DNA_userdef_types.h"
#include "DNA_windowmanager_types.h"
#include "RNA_access.h"
#include "RNA_prototypes.h"
#include "ED_fileselect.h"
#include "ED_screen.h"
#include "UI_interface.h"
#include "UI_interface_icons.h"
#include "UI_resources.h"
#include "UI_view2d.h"
#include "WM_api.h"
#include "WM_types.h"
#include "GPU_immediate.h"
#include "GPU_immediate_util.h"
#include "GPU_state.h"
#include "filelist.h"
#include "file_intern.h"

Go to the source code of this file.

Functions

void ED_file_path_button (bScreen *screen, const SpaceFile *sfile, FileSelectParams *params, uiBlock *block)
 
static char * file_draw_tooltip_func (bContext *UNUSED(C), void *argN, const char *UNUSED(tip))
 
static void draw_tile_background (const rcti *draw_rect, int colorid, int shade)
 
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)
 
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_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)
 
void file_calc_previews (const bContext *C, ARegion *region)
 
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)
 
static void renamebutton_cb (bContext *C, void *UNUSED(arg1), char *oldname)
 
static void draw_background (FileLayout *layout, View2D *v2d)
 
static void draw_dividers (FileLayout *layout, View2D *v2d)
 
static void draw_columnheader_background (const FileLayout *layout, const View2D *v2d)
 
static void draw_columnheader_columns (const FileSelectParams *params, FileLayout *layout, const View2D *v2d, const uchar text_col[4])
 
static const char * filelist_get_details_column_string (FileAttributeColumnType column, FileDirEntry *file, const bool small_size, const bool update_stat_strings)
 
static void draw_details_columns (const FileSelectParams *params, const FileLayout *layout, FileDirEntry *file, const rcti *tile_draw_rect, const uchar text_col[4])
 
static rcti tile_draw_rect_get (const View2D *v2d, const FileLayout *layout, const enum eFileDisplayType display, const int file_idx, const int padx)
 
void file_draw_list (const bContext *C, ARegion *region)
 
static void file_draw_invalid_asset_library_hint (const bContext *C, const SpaceFile *sfile, ARegion *region, FileAssetSelectParams *asset_params)
 
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)
 

Function Documentation

◆ draw_background()

static void draw_background ( FileLayout layout,
View2D v2d 
)
static

◆ draw_columnheader_background()

static void draw_columnheader_background ( const FileLayout layout,
const View2D v2d 
)
static

◆ draw_columnheader_columns()

static void draw_columnheader_columns ( const FileSelectParams params,
FileLayout layout,
const View2D v2d,
const uchar  text_col[4] 
)
static

◆ draw_details_columns()

static void draw_details_columns ( const FileSelectParams params,
const FileLayout layout,
FileDirEntry file,
const rcti tile_draw_rect,
const uchar  text_col[4] 
)
static

◆ draw_dividers()

static void draw_dividers ( FileLayout layout,
View2D v2d 
)
static

◆ draw_tile_background()

static void draw_tile_background ( const rcti draw_rect,
int  colorid,
int  shade 
)
static

◆ ED_file_path_button()

void ED_file_path_button ( bScreen screen,
const SpaceFile sfile,
FileSelectParams params,
uiBlock block 
)

◆ file_calc_previews()

void file_calc_previews ( const bContext C,
ARegion region 
)

◆ file_draw_hint_if_invalid()

bool file_draw_hint_if_invalid ( const bContext C,
const SpaceFile sfile,
ARegion region 
)

◆ file_draw_icon()

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 
)
static

◆ file_draw_invalid_asset_library_hint()

static void file_draw_invalid_asset_library_hint ( const bContext C,
const SpaceFile sfile,
ARegion region,
FileAssetSelectParams asset_params 
)
static

◆ file_draw_invalid_library_hint()

static void file_draw_invalid_library_hint ( const bContext UNUSEDC,
const SpaceFile sfile,
ARegion region,
const char *  blendfile_path,
ReportList reports 
)
static

◆ file_draw_list()

void file_draw_list ( const bContext C,
ARegion region 
)

Definition at line 856 of file file_draw.c.

References ATTRIBUTE_COLUMN_PADDING, FileLayout::attribute_columns, BLF_batch_draw_begin(), BLF_batch_draw_end(), BLI_assert, BLI_join_dirfile(), BLI_rcti_translate(), C, CHECK_ALL, COLUMN_NAME, CTX_wm_manager(), CTX_wm_space_file(), CTX_wm_window(), View2D::cur, FileLayout::curr_size, draw_background(), draw_columnheader_background(), draw_columnheader_columns(), draw_details_columns(), draw_dividers(), draw_tile_background(), ED_fileselect_get_active_params(), ED_fileselect_get_layout(), ED_fileselect_layout_numfiles(), ED_fileselect_layout_offset(), file, FILE_ATTR_ANY_LINK, FILE_ATTR_HIDDEN, file_draw_icon(), file_draw_preview(), file_draw_string(), FILE_IMGDISPLAY, FILE_LAYOUT_HOR, FILE_MAX_LIBEXTRA, file_params_rename_end(), FILE_SEL_EDITING, FILE_SEL_HIGHLIGHTED, FILE_SEL_SELECTED, FILE_VERTICALDISPLAY, filelist_cache_previews_done(), filelist_cache_previews_running(), filelist_cache_previews_update(), filelist_dir(), filelist_entry_select_get(), filelist_file(), filelist_file_cache_block(), filelist_file_cache_slidingwindow_set(), filelist_files_ensure(), filelist_geticon(), filelist_geticon_image(), filelist_getimage(), FILENAME_IS_CURRPAR, SpaceFile::files, FileLayout::flag, FileLayout::flow_columns, ICON_DEFAULT_HEIGHT_SCALE, ICON_DEFAULT_WIDTH_SCALE, MIN2, min_ii(), NC_SPACE, ND_SPACE_FILE_PARAMS, ND_SPACE_FILE_PREVIEW, NULL, offset, params, SpaceFile::previews_timer, renamebutton_cb(), round_fl_to_int(), FileLayout::rows, FileLayout::textheight, TH_BACK, TH_HILITE, TH_TEXT, FileLayout::tile_border_x, FileLayout::tile_border_y, tile_draw_rect_get(), FileLayout::tile_w, UI_block_begin(), UI_block_draw(), UI_block_end(), UI_BTYPE_TEXT, UI_but_active_only(), UI_but_flag_disable(), UI_but_flag_enable(), UI_but_func_rename_set(), UI_BUT_NO_UTF8, UI_BUT_UNDO, UI_CNR_NONE, UI_draw_roundbox_corner_set(), UI_EMBOSS, UI_GetThemeColor4ubv(), UI_STYLE_TEXT_CENTER, UI_STYLE_TEXT_LEFT, UI_UNIT_X, uiDefBut(), UNUSED_VARS_NDEBUG, ARegion::v2d, FileAttributeColumn::width, width, WM_event_add_notifier_ex(), WM_event_add_timer_notifier(), WM_event_remove_timer_notifier(), rcti::xmin, rctf::xmin, rcti::ymax, rctf::ymax, and rcti::ymin.

Referenced by file_main_region_draw().

◆ file_draw_preview()

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 
)
static

◆ file_draw_string()

static void file_draw_string ( int  sx,
int  sy,
const char *  string,
float  width,
int  height,
eFontStyle_Align  align,
const uchar  col[4] 
)
static

◆ file_draw_string_multiline()

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
Parameters
r_sx,r_syThe lower right corner of the last line drawn, plus the height of the last line. This is the cursor position on completion to allow drawing more text behind that.

Definition at line 233 of file file_draw.c.

References BLF_boundbox(), BLF_disable(), BLF_enable(), BLF_WORD_WRAP, BLF_wordwrap(), BLI_rcti_size_y(), len, NULL, result, sx, sy, UI_fontstyle_draw_ex(), UI_style_get(), uiFontStyle::uifont_id, uiStyle::widget, wrap_width(), rcti::xmax, rcti::xmin, rcti::ymax, and rcti::ymin.

Referenced by file_draw_invalid_asset_library_hint(), and file_draw_invalid_library_hint().

◆ file_draw_tooltip_func()

static char* file_draw_tooltip_func ( bContext UNUSEDC,
void argN,
const char *  UNUSEDtip 
)
static

Definition at line 113 of file file_draw.c.

References BLI_strdup().

Referenced by file_draw_icon().

◆ filelist_get_details_column_string()

static const char* filelist_get_details_column_string ( FileAttributeColumnType  column,
FileDirEntry file,
const bool  small_size,
const bool  update_stat_strings 
)
static

◆ renamebutton_cb()

static void renamebutton_cb ( bContext C,
void UNUSEDarg1,
char *  oldname 
)
static

◆ tile_draw_rect_get()

static rcti tile_draw_rect_get ( const View2D v2d,
const FileLayout layout,
const enum eFileDisplayType  display,
const int  file_idx,
const int  padx 
)
static