Blender V4.5
ED_undo.hh
Go to the documentation of this file.
1/* SPDX-FileCopyrightText: 2023 Blender Authors
2 *
3 * SPDX-License-Identifier: GPL-2.0-or-later */
4
8
9#pragma once
10
11#include "BLI_sys_types.h"
12#include "BLI_vector.hh"
13
14struct Base;
15struct CLG_LogRef;
16struct ID;
17struct MemFile;
18struct PointerRNA;
19struct Object;
20struct Scene;
21struct UndoStack;
22struct ViewLayer;
23struct bContext;
24struct wmOperator;
25struct wmOperatorType;
26struct wmWindowManager;
27
28/* undo.c */
29
36void ED_undo_push(bContext *C, const char *str);
38void ED_undo_grouped_push(bContext *C, const char *str);
48
58void ED_undo_operator_repeat_cb(bContext *C, void *arg_op, void *arg_unused);
59void ED_undo_operator_repeat_cb_evt(bContext *C, void *arg_op, int arg_unused);
60
64bool ED_undo_is_valid(const bContext *C, const char *undoname);
65
67
68/* Unfortunate workaround for limits mixing undo systems. */
69
79
95 const Scene *scene_ref,
96 Scene **scene_p,
97 ViewLayer **view_layer_p);
98
103 ViewLayer *view_layer,
104 Object **object_array,
105 uint object_array_len,
106 uint object_array_stride);
107
109 ViewLayer *view_layer);
111 ViewLayer *view_layer);
112
121
122/* Helpers. */
123
125 Scene *scene, ViewLayer *view_layer, Object *ob, const char *info, CLG_LogRef *log);
126
127/* `undo_system_types.cc` */
128
131
132/* `memfile_undo.cc` */
133
unsigned int uint
void ED_undo_object_set_active_or_warn(Scene *scene, ViewLayer *view_layer, Object *ob, const char *info, CLG_LogRef *log)
Definition ed_undo.cc:774
void ED_undo_push(bContext *C, const char *str)
Definition ed_undo.cc:99
bool ED_undo_is_legacy_compatible_for_property(bContext *C, ID *id, PointerRNA &ptr)
Definition ed_undo.cc:404
void ED_OT_redo(wmOperatorType *ot)
Definition ed_undo.cc:600
UndoStack * ED_undo_stack_get()
Definition ed_undo.cc:441
blender::Vector< Base * > ED_undo_editmode_bases_from_view_layer(const Scene *scene, ViewLayer *view_layer)
Definition ed_undo.cc:885
void ED_undosys_type_free()
void ED_undosys_type_init()
void ED_undo_push_op(bContext *C, wmOperator *op)
Definition ed_undo.cc:358
void ED_undosys_stack_memfile_id_changed_tag(UndoStack *ustack, ID *id)
void ED_undo_pop_op(bContext *C, wmOperator *op)
Definition ed_undo.cc:374
MemFile * ED_undosys_stack_memfile_get_if_active(UndoStack *ustack)
void ED_undo_group_begin(bContext *C)
Definition ed_undo.cc:87
bool ED_undo_is_valid(const bContext *C, const char *undoname)
Definition ed_undo.cc:380
void ED_OT_undo_redo(wmOperatorType *ot)
Definition ed_undo.cc:612
void ED_OT_undo_push(wmOperatorType *ot)
Definition ed_undo.cc:569
void ED_undo_operator_repeat_cb_evt(bContext *C, void *arg_op, int arg_unused)
Definition ed_undo.cc:712
void ED_undo_operator_repeat_cb(bContext *C, void *arg_op, void *arg_unused)
Definition ed_undo.cc:707
void ED_undo_redo(bContext *C)
Definition ed_undo.cc:353
bool ED_undo_is_state_valid(bContext *C)
Definition ed_undo.cc:64
void ED_OT_undo(wmOperatorType *ot)
Definition ed_undo.cc:557
bool ED_undo_operator_repeat(bContext *C, wmOperator *op)
Definition ed_undo.cc:630
void ED_OT_undo_history(wmOperatorType *ot)
Definition ed_undo.cc:753
void ED_undo_object_editmode_restore_helper(Scene *scene, ViewLayer *view_layer, Object **object_array, uint object_array_len, uint object_array_stride)
Definition ed_undo.cc:810
void ED_undo_grouped_push_op(bContext *C, wmOperator *op)
Definition ed_undo.cc:364
blender::Vector< Object * > ED_undo_editmode_objects_from_view_layer(const Scene *scene, ViewLayer *view_layer)
Definition ed_undo.cc:855
bool ED_undo_is_memfile_compatible(const bContext *C)
Definition ed_undo.cc:386
void ED_undo_pop(bContext *C)
Definition ed_undo.cc:349
void ED_undo_object_editmode_validate_scene_from_windows(wmWindowManager *wm, const Scene *scene_ref, Scene **scene_p, ViewLayer **view_layer_p)
Definition ed_undo.cc:793
void ED_undo_group_end(bContext *C)
Definition ed_undo.cc:93
void ED_undo_grouped_push(bContext *C, const char *str)
Definition ed_undo.cc:336
#define C
Definition RandGen.cpp:29
#define str(s)
#define log
Definition DNA_ID.h:404
PointerRNA * ptr
Definition wm_files.cc:4227
wmOperatorType * ot
Definition wm_files.cc:4226