97 SWAP(
int, reports->
flag, reports_flag_prev);
127 ID *ob_data = ob->data;
176 SWAP(
int, reports->
flag, reports_flag_prev);
188 if (do_undo_system &&
G_MAIN->wm.first) {
211 if (do_undo_system ==
false) {
225 bool check_needs_flush)
227 bool has_edited =
false;
234 if (check_needs_flush && (*needs_flush_ptr == 0)) {
237 *needs_flush_ptr = 0;
257 if (needs_flush_ptr !=
NULL) {
258 if (check_needs_flush && (*needs_flush_ptr == 0)) {
261 *needs_flush_ptr = 0;
280 bool has_edited =
false;
305 int shift,
int ctrl,
float *val,
float fac1,
float fac2,
float fac3,
int invert)
314 *val = fac3 *
floorf(*val / fac3 + 0.5f);
319 *val = fac2 *
floorf(*val / fac2 + 0.5f);
324 *val = fac1 *
floorf(*val / fac1 + 0.5f);
332 const char *abs_name,
351 if (
G.relbase_valid) {
355 BLI_snprintf(local_name,
sizeof(local_name),
"//%s/%s", folder, fi);
356 if (!
STREQ(abs_name, local_name)) {
struct Scene * CTX_data_scene(const bContext *C)
struct wmWindowManager * CTX_wm_manager(const bContext *C)
struct Object * CTX_data_active_object(const bContext *C)
struct Depsgraph * CTX_data_expect_evaluated_depsgraph(const bContext *C)
struct ReportList * CTX_wm_reports(const bContext *C)
struct Main * CTX_data_main(const bContext *C)
const char * BKE_main_blendfile_path(const struct Main *bmain) ATTR_NONNULL()
General operations, lookup, etc. for materials.
void BKE_texpaint_slots_refresh_object(struct Scene *scene, struct Object *ob)
void multires_flush_sculpt_updates(struct Object *object)
General operations, lookup, etc. for blender objects.
char * BKE_object_data_editmode_flush_ptr_get(struct ID *id)
void BKE_object_sculpt_data_create(struct Object *ob)
bool BKE_object_has_mode_data(const struct Object *ob, eObjectMode object_mode)
enum ePF_FileCompare BKE_packedfile_compare_to_file(const char *ref_file_name, const char *filename, struct PackedFile *pf)
void BKE_sculptsession_bm_to_me_for_render(struct Object *object)
void BKE_sculptsession_bm_to_me(struct Object *ob, bool reorder)
struct SpaceType * BKE_spacetype_from_id(int spaceid)
void BKE_undosys_stack_destroy(UndoStack *ustack)
#define BLI_assert_unreachable()
#define LISTBASE_FOREACH(type, var, list)
void BLI_split_file_part(const char *string, char *file, const size_t filelen)
size_t BLI_snprintf(char *__restrict dst, size_t maxncpy, const char *__restrict format,...) ATTR_NONNULL(1
struct Depsgraph Depsgraph
void DEG_id_tag_update(struct ID *id, int flag)
@ ID_RECALC_COPY_ON_WRITE
#define ID_IS_LINKED(_id)
#define OB_MODE_ALL_PAINT_GPENCIL
#define OB_MODE_ALL_SCULPT
#define BASACT(_view_layer)
void ED_space_image_paint_update(struct Main *bmain, struct wmWindowManager *wm, struct Scene *scene)
void ED_mesh_mirror_topo_table_end(struct Object *ob)
void ED_mesh_mirror_spatial_table_end(struct Object *ob)
bool ED_object_editmode_enter_ex(struct Main *bmain, struct Scene *scene, struct Object *ob, int flag)
bool ED_object_editmode_free_ex(struct Main *bmain, struct Object *obedit)
bool ED_object_mode_set(struct bContext *C, eObjectMode mode)
bool ED_object_editmode_load(struct Main *bmain, struct Object *obedit)
void ED_object_vpaintmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
void ED_object_sculptmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob, const bool force_dyntopo, struct ReportList *reports)
void ED_object_wpaintmode_enter_ex(struct Main *bmain, struct Depsgraph *depsgraph, struct Scene *scene, struct Object *ob)
bool ED_paint_proj_mesh_data_check(struct Scene *scene, struct Object *ob, bool *uvs, bool *mat, bool *tex, bool *stencil)
Read Guarded memory(de)allocation.
struct uiLayout * UI_popup_menu_layout(uiPopupMenu *pup)
void uiItemFullO_ptr(uiLayout *layout, struct wmOperatorType *ot, const char *name, int icon, struct IDProperty *properties, int context, int flag, struct PointerRNA *r_opptr)
void UI_popup_menu_end(struct bContext *C, struct uiPopupMenu *pup)
uiPopupMenu * UI_popup_menu_begin(struct bContext *C, const char *title, int icon) ATTR_NONNULL()
std::string id_name(void *id)
const Depsgraph * depsgraph
void ED_editors_exit(Main *bmain, bool do_undo_system)
bool ED_editors_flush_edits_for_object(Main *bmain, Object *ob)
void unpack_menu(bContext *C, const char *opname, const char *id_name, const char *abs_name, const char *folder, struct PackedFile *pf)
bool ED_editors_flush_edits_for_object_ex(Main *bmain, Object *ob, bool for_render, bool check_needs_flush)
void ED_spacedata_id_remap(struct ScrArea *area, struct SpaceLink *sl, ID *old_id, ID *new_id)
bool ED_editors_flush_edits(Main *bmain)
void apply_keyb_grid(int shift, int ctrl, float *val, float fac1, float fac2, float fac3, int invert)
void ED_editors_init_for_undo(Main *bmain)
bool ED_editors_flush_edits_ex(Main *bmain, bool for_render, bool check_needs_flush)
void ED_editors_init(bContext *C)
#define pf(_x, _i)
Prefetch 64.
void ED_gpencil_toggle_brush_cursor(bContext *C, bool enable, void *customdata)
static void area(int d1, int d2, int e1, int e2, float weights[2])
bool ED_object_posemode_enter_ex(struct Main *bmain, Object *ob)
void RNA_string_set(PointerRNA *ptr, const char *name, const char *value)
void RNA_enum_set(PointerRNA *ptr, const char *name, int value)
char is_memfile_undo_flush_needed
struct SculptSession * sculpt
struct StrokeCache * cache
void(* id_remap)(struct ScrArea *area, struct SpaceLink *sl, struct ID *old_id, struct ID *new_id)
struct UndoStack * undo_stack
CCL_NAMESPACE_BEGIN ccl_device float invert(float color, float factor)
wmOperatorType * WM_operatortype_find(const char *idname, bool quiet)
ViewLayer * WM_window_get_active_view_layer(const wmWindow *win)
Scene * WM_window_get_active_scene(const wmWindow *win)