Blender  V2.93
Functions
file_draw.c File Reference
#include <errno.h>
#include <math.h>
#include <string.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_context.h"
#include "BKE_main.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 "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 (int sx, int sy, int width, int height, int colorid, int shade)
 
static void file_draw_icon (uiBlock *block, const FileDirEntry *file, const char *path, int sx, int sy, 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 (uiBlock *block, const FileDirEntry *file, const char *path, int sx, int sy, 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, const FileDirEntry *file, const bool small_size, const bool update_stat_strings)
 
static void draw_details_columns (const FileSelectParams *params, const FileLayout *layout, const FileDirEntry *file, const int pos_x, const int pos_y, const uchar text_col[4])
 
void file_draw_list (const bContext *C, ARegion *region)
 
static void file_draw_invalid_library_hint (const SpaceFile *sfile, const ARegion *region)
 
bool file_draw_hint_if_invalid (const SpaceFile *sfile, const 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,
const FileDirEntry file,
const int  pos_x,
const int  pos_y,
const uchar  text_col[4] 
)
static

◆ draw_dividers()

static void draw_dividers ( FileLayout layout,
View2D v2d 
)
static

◆ draw_tile()

static void draw_tile ( int  sx,
int  sy,
int  width,
int  height,
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 SpaceFile sfile,
const ARegion region 
)

◆ file_draw_icon()

static void file_draw_icon ( uiBlock block,
const FileDirEntry file,
const char *  path,
int  sx,
int  sy,
int  icon,
int  width,
int  height,
bool  drag,
bool  dimmed 
)
static

◆ file_draw_invalid_library_hint()

static void file_draw_invalid_library_hint ( const SpaceFile sfile,
const ARegion region 
)
static

◆ file_draw_list()

void file_draw_list ( const bContext C,
ARegion region 
)

Definition at line 793 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(), 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(), ED_fileselect_get_active_params(), ED_fileselect_get_layout(), ED_fileselect_layout_numfiles(), ED_fileselect_layout_offset(), ED_fileselect_layout_tilepos(), ELEM, file, FILE_ATTR_ANY_LINK, FILE_ATTR_HIDDEN, file_draw_icon(), file_draw_preview(), file_draw_string(), FILE_HORIZONTALDISPLAY, FILE_IMGDISPLAY, FILE_LAYOUT_HOR, FILE_MAX_LIBEXTRA, FILE_SEL_EDITING, FILE_SEL_HIGHLIGHTED, FILE_SEL_REMOVE, FILE_SEL_SELECTED, FILE_VERTICALDISPLAY, filelist_cache_previews_running(), filelist_cache_previews_update(), filelist_dir(), filelist_entry_select_get(), filelist_entry_select_set(), 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, SpaceFile::layout, MIN2, min_ii(), NC_SPACE, ND_SPACE_FILE_PREVIEW, NULL, 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, FileLayout::tile_h, FileLayout::tile_w, View2D::tot, 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_timer_notifier(), WM_event_remove_timer_notifier(), rctf::xmin, and rctf::ymax.

Referenced by file_main_region_draw().

◆ file_draw_preview()

static void file_draw_preview ( uiBlock block,
const FileDirEntry file,
const char *  path,
int  sx,
int  sy,
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. AKA the cursor position on completion.

Definition at line 238 of file file_draw.c.

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

Referenced by 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 122 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,
const 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